%token OPERATOR_LE
%token OPERATOR_NE
%token STR_LITERAL
-%token VARIABLE
+%token VARIABLE_NAME
%left KEYWORD_OR
%left KEYWORD_AND
statement_opt
:
- | %space (?E{t_def.NodeStatementLet}VARIABLE '=' expression)
- | %space (?E{t_def.NodeStatementLet}KEYWORD_LET VARIABLE '=' expression)
+ | %space (?E{t_def.NodeStatementLet}VARIABLE_NAME '=' expression)
+ | %space (?E{t_def.NodeStatementLet}KEYWORD_LET VARIABLE_NAME '=' expression)
| %space (?E{t_def.NodeStatementPrint, semicolon = False}KEYWORD_PRINT print_expression_list0)
| %space (?E{t_def.NodeStatementPrint, semicolon = True}KEYWORD_PRINT print_expression_list1)
| %space (?E{t_def.NodeStatementGoto}KEYWORD_GOTO INT_LITERAL)
| %space (?E{t_def.NodeStatementEnd}KEYWORD_END)
| %space (?E{t_def.NodeStatementGosub}KEYWORD_GOSUB INT_LITERAL)
| %space (?E{t_def.NodeStatementReturn}KEYWORD_RETURN)
- | %space (?E{t_def.NodeStatementFor}KEYWORD_FOR VARIABLE '=' expression KEYWORD_TO expression)
- | %space (?E{t_def.NodeStatementFor}KEYWORD_FOR VARIABLE '=' expression KEYWORD_TO expression KEYWORD_STEP expression)
+ | %space (?E{t_def.NodeStatementFor}KEYWORD_FOR VARIABLE_NAME '=' expression KEYWORD_TO expression)
+ | %space (?E{t_def.NodeStatementFor}KEYWORD_FOR VARIABLE_NAME '=' expression KEYWORD_TO expression KEYWORD_STEP expression)
| %space (?E{t_def.NodeStatementNext}KEYWORD_NEXT)
- | %space (?E{t_def.NodeStatementNext}KEYWORD_NEXT VARIABLE)
- | %space (?E{t_def.NodeStatementRead}KEYWORD_READ VARIABLE)
+ | %space (?E{t_def.NodeStatementNext}KEYWORD_NEXT VARIABLE_NAME)
+ | %space (?E{t_def.NodeStatementRead}KEYWORD_READ VARIABLE_NAME)
| %space (?E{t_def.NodeStatementRestore}KEYWORD_RESTORE INT_LITERAL)
| %space (?E{t_def.NodeStatementData}KEYWORD_DATA data_item_list)
| %space (?E{t_def.NodeStatementHome}KEYWORD_HOME)
| %space (?E{t_def.NodeStatementFlash}KEYWORD_FLASH)
| %space (?E{t_def.NodeStatementHTab}KEYWORD_HTAB expression)
| %space (?E{t_def.NodeStatementVTab}KEYWORD_VTAB expression)
- | %space (?E{t_def.NodeStatementGet}KEYWORD_GET VARIABLE)
- | %space (?E{t_def.NodeStatementInput}KEYWORD_INPUT VARIABLE)
- | %space (?E{t_def.NodeStatementInput}KEYWORD_INPUT STR_LITERAL ';' VARIABLE)
+ | %space (?E{t_def.NodeStatementGet}KEYWORD_GET VARIABLE_NAME)
+ | %space (?E{t_def.NodeStatementInput}KEYWORD_INPUT VARIABLE_NAME)
+ | %space (?E{t_def.NodeStatementInput}KEYWORD_INPUT STR_LITERAL ';' VARIABLE_NAME)
;
print_expression_list0
| %space (?E{t_def.NodeRValueIntLiteral}INT_LITERAL)
| %space (?E{t_def.NodeRValueFloatLiteral}FLOAT_LITERAL)
| %space (?E{t_def.NodeRValueStrLiteral}STR_LITERAL)
- | %space (?E{t_def.NodeRValueVariable}VARIABLE)
+ | %space (?E{t_def.NodeRValueVariable}VARIABLE_NAME)
| %space (?E{t_def.NodeRValueStrDollar}KEYWORD_STR_DOLLAR '(' expression ')')
| %space (?E{t_def.NodeRValueVal}KEYWORD_VAL '(' expression ')')
;