/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED FROM THE .syn FILE */ ".syntax expression;\n" ".emtcode EXP_END 0\n" ".emtcode EXP_EXPRESSION 1\n" ".emtcode OP_END 0\n" ".emtcode OP_PUSHINT 1\n" ".emtcode OP_LOGICALOR 2\n" ".emtcode OP_LOGICALAND 3\n" ".emtcode OP_OR 4\n" ".emtcode OP_XOR 5\n" ".emtcode OP_AND 6\n" ".emtcode OP_EQUAL 7\n" ".emtcode OP_NOTEQUAL 8\n" ".emtcode OP_LESSEQUAL 9\n" ".emtcode OP_GREATEREQUAL 10\n" ".emtcode OP_LESS 11\n" ".emtcode OP_GREATER 12\n" ".emtcode OP_LEFTSHIFT 13\n" ".emtcode OP_RIGHTSHIFT 14\n" ".emtcode OP_ADD 15\n" ".emtcode OP_SUBTRACT 16\n" ".emtcode OP_MULTIPLY 17\n" ".emtcode OP_DIVIDE 18\n" ".emtcode OP_MODULUS 19\n" ".emtcode OP_PLUS 20\n" ".emtcode OP_MINUS 21\n" ".emtcode OP_NEGATE 22\n" ".emtcode OP_COMPLEMENT 23\n" "expression\n" " first_expression .and optional_second_expression .and optional_space .and '\\0' .emit EXP_END;\n" "first_expression\n" " optional_space .and logical_or_expression .emit EXP_EXPRESSION .and .true .emit OP_END;\n" "optional_second_expression\n" " second_expression .or .true;\n" "second_expression\n" " space .and logical_or_expression .emit EXP_EXPRESSION .and .true .emit OP_END;\n" "logical_or_expression\n" " logical_and_expression .and .loop logical_or_expression_1;\n" "logical_or_expression_1\n" " barbar .and logical_and_expression .and .true .emit OP_LOGICALOR;\n" "logical_and_expression\n" " or_expression .and .loop logical_and_expression_1;\n" "logical_and_expression_1\n" " ampersandampersand .and or_expression .and .true .emit OP_LOGICALAND;\n" "or_expression\n" " xor_expression .and .loop or_expression_1;\n" "or_expression_1\n" " bar .and xor_expression .and .true .emit OP_OR;\n" "xor_expression\n" " and_expression .and .loop xor_expression_1;\n" "xor_expression_1\n" " caret .and and_expression .and .true .emit OP_XOR;\n" "and_expression\n" " equality_expression .and .loop and_expression_1;\n" "and_expression_1\n" " ampersand .and equality_expression .and .true .emit OP_AND;\n" "equality_expression\n" " relational_expression .and .loop equality_expression_1;\n" "equality_expression_1\n" " equality_expression_2 .or equality_expression_3;\n" "equality_expression_2\n" " equalsequals .and relational_expression .and .true .emit OP_EQUAL;\n" "equality_expression_3\n" " bangequals .and relational_expression .and .true .emit OP_NOTEQUAL;\n" "relational_expression\n" " shift_expression .and .loop relational_expression_1;\n" "relational_expression_1\n" " relational_expression_2 .or relational_expression_3 .or relational_expression_4 .or\n" " relational_expression_5;\n" "relational_expression_2\n" " lessequals .and shift_expression .and .true .emit OP_LESSEQUAL;\n" "relational_expression_3\n" " greaterequals .and shift_expression .and .true .emit OP_GREATEREQUAL;\n" "relational_expression_4\n" " less .and shift_expression .and .true .emit OP_LESS;\n" "relational_expression_5\n" " greater .and shift_expression .and .true .emit OP_GREATER;\n" "shift_expression\n" " additive_expression .and .loop shift_expression_1;\n" "shift_expression_1\n" " shift_expression_2 .or shift_expression_3;\n" "shift_expression_2\n" " lessless .and additive_expression .and .true .emit OP_LEFTSHIFT;\n" "shift_expression_3\n" " greatergreater .and additive_expression .and .true .emit OP_RIGHTSHIFT;\n" "additive_expression\n" " multiplicative_expression .and .loop additive_expression_1;\n" "additive_expression_1\n" " additive_expression_2 .or additive_expression_3;\n" "additive_expression_2\n" " plus .and multiplicative_expression .and .true .emit OP_ADD;\n" "additive_expression_3\n" " dash .and multiplicative_expression .and .true .emit OP_SUBTRACT;\n" "multiplicative_expression\n" " unary_expression .and .loop multiplicative_expression_1;\n" "multiplicative_expression_1\n" " multiplicative_expression_2 .or multiplicative_expression_3 .or multiplicative_expression_4;\n" "multiplicative_expression_2\n" " star .and unary_expression .and .true .emit OP_MULTIPLY;\n" "multiplicative_expression_3\n" " slash .and unary_expression .and .true .emit OP_DIVIDE;\n" "multiplicative_expression_4\n" " percent .and unary_expression .and .true .emit OP_MODULUS;\n" "unary_expression\n" " primary_expression .or unary_expression_1 .or unary_expression_2 .or unary_expression_3 .or\n" " unary_expression_4;\n" "unary_expression_1\n" " plus .and unary_expression .and .true .emit OP_PLUS;\n" "unary_expression_2\n" " dash .and unary_expression .and .true .emit OP_MINUS;\n" "unary_expression_3\n" " bang .and unary_expression .and .true .emit OP_NEGATE;\n" "unary_expression_4\n" " tilda .and unary_expression .and .true .emit OP_COMPLEMENT;\n" "primary_expression\n" " intconstant .or primary_expression_1;\n" "primary_expression_1\n" " lparen .and logical_or_expression .and rparen;\n" "intconstant\n" " integer .emit OP_PUSHINT;\n" "integer\n" " integer_dec;\n" "integer_dec\n" " digit_dec .emit 10 .emit * .and .loop digit_dec .emit * .and .true .emit '\\0';\n" "digit_dec\n" " '0'-'9';\n" "optional_space\n" " .loop single_space;\n" "space\n" " single_space .and .loop single_space;\n" "single_space\n" " ' ' .or '\\t';\n" "ampersand\n" " optional_space .and '&' .and optional_space;\n" "ampersandampersand\n" " optional_space .and '&' .and '&' .and optional_space;\n" "bang\n" " optional_space .and '!' .and optional_space;\n" "bangequals\n" " optional_space .and '!' .and '=' .and optional_space;\n" "bar\n" " optional_space .and '|' .and optional_space;\n" "barbar\n" " optional_space .and '|' .and '|' .and optional_space;\n" "caret\n" " optional_space .and '^' .and optional_space;\n" "dash\n" " optional_space .and '-' .and optional_space;\n" "equalsequals\n" " optional_space .and '=' .and '=' .and optional_space;\n" "greater\n" " optional_space .and '>' .and optional_space;\n" "greaterequals\n" " optional_space .and '>' .and '=' .and optional_space;\n" "greatergreater\n" " optional_space .and '>' .and '>' .and optional_space;\n" "less\n" " optional_space .and '<' .and optional_space;\n" "lessequals\n" " optional_space .and '<' .and '=' .and optional_space;\n" "lessless\n" " optional_space .and '<' .and '<' .and optional_space;\n" "lparen\n" " optional_space .and '(' .and optional_space;\n" "percent\n" " optional_space .and '%' .and optional_space;\n" "plus\n" " optional_space .and '+' .and optional_space;\n" "rparen\n" " optional_space .and ')' .and optional_space;\n" "slash\n" " optional_space .and '/' .and optional_space;\n" "star\n" " optional_space .and '*' .and optional_space;\n" "tilda\n" " optional_space .and '~' .and optional_space;\n" ""