Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. <line> ::=
  2.         <number> <statement> <EOL> | <statement> <EOL>
  3.  
  4. <statement> ::=
  5.         "REM" <printable-characters> |
  6.         "PRINT" <output-list> |
  7.         "IF" <expression> <relational-operator> <expression> "THEN" <statement> |
  8.         "GOTO" <expression> |
  9.         "INPUT" <variable-list> |
  10.         "LET" <variable> "=" <expression> |
  11.         "GOSUB" <expression> |
  12.         "RETURN" |
  13.         "END"
  14.  
  15. <printable-characters> ::=
  16.         <printable-character> | <printable-character> <printable-characters>
  17.  
  18. <printable-character> ::=
  19.         " " .. "~"
  20.  
  21. <output-list> ::=
  22.         <output-term> | <output-term> "," <output-list>
  23.  
  24. <output-term> ::=
  25.         <string> | <expression>
  26.  
  27. <variable-list> ::=
  28.         <variable> | <variable> "," <variable-list>
  29.  
  30. <expression> ::=
  31.         <term> |
  32.         <expression> "+" <expression> |
  33.         <expression> "-" <expression>
  34.  
  35. <term> ::=
  36.         <factor> |
  37.         <term> "*" <term> |
  38.         <term> "/" <term>
  39.  
  40. factor ::=
  41.         "-" <factor> |
  42.         "+" <factor> |
  43.         <variable> |
  44.         <number> |
  45.         "(" <expression> ")"
  46.  
  47. <variable> ::=
  48.         "A" .. "Z"
  49.  
  50. <number> ::=
  51.         <digit> | <digit> <number>
  52.  
  53. <digit> ::=
  54.         "0" .. "9"
  55.  
  56. <relational-operator> ::=
  57.         "<" | "=" | ">" | "<=" | "<>" | ">="
  58.  
  59. <string> ::=
  60.         '"' <printable-characters> '"'
  61.  
  62.