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