| 11711 | |
| 11712 | template <typename T> |
| 11713 | bool run_test22() |
| 11714 | { |
| 11715 | typedef exprtk::symbol_table<T> symbol_table_t; |
| 11716 | typedef exprtk::expression<T> expression_t; |
| 11717 | typedef exprtk::parser<T> parser_t; |
| 11718 | |
| 11719 | bool result = true; |
| 11720 | |
| 11721 | { |
| 11722 | const std::string expressions[] = |
| 11723 | { |
| 11724 | " assert(1 > 1); ", |
| 11725 | " assert(1 > 2, 'assert statement 2'); ", |
| 11726 | " assert(1 > 3, 'assert ' + 'statement 3'); ", |
| 11727 | " assert(1 > 4, 'assert ' + 'statement 4', 'Assert04'); ", |
| 11728 | " assert(1 > 5, 'assert ' + 'statement 5'); ", |
| 11729 | " assert(1 > 6, 'assert ' + 'statement 6', 'Assert' + '06'); " |
| 11730 | }; |
| 11731 | |
| 11732 | const std::size_t expression_count = sizeof(expressions) / sizeof(std::string); |
| 11733 | |
| 11734 | for (std::size_t i = 0; i < expression_count; ++i) |
| 11735 | { |
| 11736 | expression_t expression; |
| 11737 | parser_t parser; |
| 11738 | |
| 11739 | if (!parser.compile(expressions[i], expression)) |
| 11740 | { |
| 11741 | printf("run_test22() - Error: %s\tExpression: %s [1]\n", |
| 11742 | parser.error().c_str(), |
| 11743 | expressions[i].c_str()); |
| 11744 | result = false; |
| 11745 | continue; |
| 11746 | } |
| 11747 | else if (!exprtk::expression_helper<T>::is_null(expression)) |
| 11748 | { |
| 11749 | printf("run_test22() - Error: Expression is not null! expression: %s [1]\n", |
| 11750 | expressions[i].c_str()); |
| 11751 | result = false; |
| 11752 | continue; |
| 11753 | } |
| 11754 | |
| 11755 | expression.value(); |
| 11756 | } |
| 11757 | } |
| 11758 | |
| 11759 | { |
| 11760 | const std::string expressions[] = |
| 11761 | { |
| 11762 | " assert(1 > 1); 1 + 0 ", |
| 11763 | " assert(1 > 2, 'assert statement 2'); 2 + 0 ", |
| 11764 | " assert(1 > 3, 'assert ' + 'statement 3'); 3 + 0 ", |
| 11765 | " assert(1 > 4, 'assert ' + 'statement 4', 'Assert04'); 4 + 0 ", |
| 11766 | " assert(1 > 5, 'assert ' + 'statement 5'); 5 + 0 ", |
| 11767 | " assert(1 > 6, 'assert ' + 'statement 6', 'Assert' + '06'); 6 + 0 " |
| 11768 | }; |
| 11769 | |
| 11770 | const std::size_t expression_count = sizeof(expressions) / sizeof(std::string); |