Line:
Line ::= Number? Statements
no referencesStatements:
Statements
::= Statement ( ':' Statement )*
referenced by:
Line
Statement
Statement:
Statement
::= ( 'PRINT' | '?' ) ( ( String | Expression ) [,;] )* ( String | Expression )?
| ( 'AT' ( Expression ',' )? | 'PUT' | ( 'LINE' | 'POKE' ) Expression ',' | 'GOTO' | 'LET'? Variable ( '(' Expression ')' )? '=' | 'FOR' Variable '=' Expression 'TO' | 'GOSUB' | 'MODE' ) Expression
| 'CLS'
| 'IF' Expression RelOp Expression 'THEN'? Statements
| ( 'INPUT' ( Variable ',' )* | 'NEXT' ) Variable
| 'RETURN'
| ( 'REM' | "'" ) Character*
| 'NEW'
| 'LIST'
| 'RUN'
| 'END'
| 'SAVE'
referenced by:
Statements
Expression:
Expression
::= [+#x2D]? Term ( [+#x2D] Term )*
referenced by:
Factor
Statement
Term:
Term ::= Factor ( [*/%] Factor )*
referenced by:
Expression
Factor:
Factor ::= Variable
| Number
| ( Variable | 'PEEK' | 'RND' | 'USR' )? '(' Expression ')'
referenced by:
Term
RelOp:
RelOp ::= '='
| '<'
| '>'
| '<='
| '>='
| '<>'
referenced by:
Statement
Number:
Number ::= [0-9]+
referenced by:
Factor
Line
Variable:
Variable ::= [A-Z@]
referenced by:
Factor
Statement
String:
String ::= '"' [#x0020-#x0021#x0023-#x007E]* '"'
referenced by:
Statement
Character:
Character
::= [#x0020-#x007E]
referenced by:
Statement
... generated by Railroad Diagram Generator