File tree Expand file tree Collapse file tree 3 files changed +25
-1
lines changed Expand file tree Collapse file tree 3 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -128,6 +128,9 @@ extern char *yystatement_listtext;
128
128
%token TOK_ACCU_DINT_GTE " >=D"
129
129
%token TOK_ACCU_DINT_LTE " <=D"
130
130
%token TOK_ASSIGNMENT " :="
131
+ %token TOK_JUMP_UNCONDITIONAL " JU"
132
+ %token TOK_JUMP_CONDITIONAL " JC"
133
+ %token TOK_JUMP_CONDITIONAL_NOT " JCN"
131
134
132
135
/* ** Value tokens ***/
133
136
%token TOK_INT_LITERAL
@@ -997,7 +1000,22 @@ IL_Simple_Operator:
997
1000
{
998
1001
$$ = $1 ;
999
1002
parser_stack ($$).id(ID_statement_list_not);
1000
- }
1003
+ }
1004
+ | TOK_JUMP_UNCONDITIONAL
1005
+ {
1006
+ $$ = $1 ;
1007
+ parser_stack ($$).id(ID_statement_list_jump_unconditional);
1008
+ }
1009
+ | TOK_JUMP_CONDITIONAL
1010
+ {
1011
+ $$ = $1 ;
1012
+ parser_stack ($$).id(ID_statement_list_jump_conditional);
1013
+ }
1014
+ | TOK_JUMP_CONDITIONAL_NOT
1015
+ {
1016
+ $$ = $1 ;
1017
+ parser_stack ($$).id(ID_statement_list_jump_conditional_not);
1018
+ }
1001
1019
;
1002
1020
1003
1021
IL_Operand :
Original file line number Diff line number Diff line change @@ -165,6 +165,9 @@ void statement_list_scanner_init()
165
165
\<D { loc (); return TOK_ACCU_DINT_LT; }
166
166
\>=D { loc (); return TOK_ACCU_DINT_GTE; }
167
167
\<=D { loc (); return TOK_ACCU_DINT_LTE; }
168
+ JU { loc (); return TOK_JUMP_UNCONDITIONAL; }
169
+ JC { loc (); return TOK_JUMP_CONDITIONAL; }
170
+ JCN { loc (); return TOK_JUMP_CONDITIONAL_NOT; }
168
171
169
172
(10#)?[\+-]?[0-9]+ {
170
173
newstack (yystatement_listlval);
Original file line number Diff line number Diff line change @@ -839,6 +839,9 @@ IREP_ID_ONE(statement_list_clr_rlo)
839
839
IREP_ID_ONE(statement_list_set)
840
840
IREP_ID_ONE(statement_list_reset)
841
841
IREP_ID_ONE(statement_list_not)
842
+ IREP_ID_ONE(statement_list_jump_unconditional)
843
+ IREP_ID_ONE(statement_list_jump_conditional)
844
+ IREP_ID_ONE(statement_list_jump_conditional_not)
842
845
IREP_ID_ONE(statement_list_instruction)
843
846
IREP_ID_ONE(statement_list_instructions)
844
847
IREP_ID_ONE(max)
You can’t perform that action at this time.
0 commit comments