Change VARIABLE to VARIABLE_NAME, NodeTextVariable to NodeTextVariableName
authorNick Downing <nick@ndcode.org>
Mon, 16 May 2022 15:08:26 +0000 (01:08 +1000)
committerNick Downing <nick@ndcode.org>
Mon, 16 May 2022 15:08:26 +0000 (01:08 +1000)
applesoft_basic.l
applesoft_basic.t
applesoft_basic.y

index 6516eb8..1f5c472 100644 (file)
@@ -318,8 +318,8 @@ A\ *B\ *S/(\ *[A-Z0-9])*(\ *[$%])? {
 (?E{t_def.NodeTextIntLiteral}(?E{t_def.NodeText.Char}[0-9])(\ *(?E{t_def.NodeText.Char}[0-9]))*) {
   return y_tab.INT_LITERAL
 }
-(?E{t_def.NodeTextVariable}(?E{t_def.NodeText.Char}[A-Z])(\ *(?E{t_def.NodeText.Char}[A-Z0-9])(\ *[A-Z0-9])*)?(\ *(?E{t_def.NodeText.Char}[$%]))?) {
-  return y_tab.VARIABLE
+(?E{t_def.NodeTextVariableName}(?E{t_def.NodeText.Char}[A-Z])(\ *(?E{t_def.NodeText.Char}[A-Z0-9])(\ *[A-Z0-9])*)?(\ *(?E{t_def.NodeText.Char}[$%]))?) {
+  return y_tab.VARIABLE_NAME
 }
 (?E{t_def.NodeTextIntLiteral}(?E{t_def.NodeText.Char}[0-9])(\ *(?E{t_def.NodeText.Char}[0-9]))*) {
   return y_tab.INT_LITERAL
index 21dacb8..ca868dc 100644 (file)
@@ -43,7 +43,7 @@ class NodeFloatLiteral: Node {
   float float_value = 0.;
 };
 class NodeStrLiteral: Node;
-class NodeTextVariable: NodeText;
+class NodeTextVariableName: NodeText;
 
 /* grammar productions */
 class NodeProgram: Node;
index 73c1052..a7e0cc9 100644 (file)
 %token OPERATOR_LE
 %token OPERATOR_NE
 %token STR_LITERAL
-%token VARIABLE
+%token VARIABLE_NAME
 
 %left KEYWORD_OR
 %left KEYWORD_AND
@@ -153,8 +153,8 @@ statement_list
 
 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)
@@ -163,11 +163,11 @@ statement_opt
   | %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)
@@ -176,9 +176,9 @@ statement_opt
   | %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
@@ -224,7 +224,7 @@ expression
   | %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 ')')
   ;