Syntax of the TinyTalk Language

Grammar:

Expression à integer | symbol | List

List à leftparen Expression* rightparen

Tokens:

leftparen º (

rightparen º )

integer º digit digit*

symbol º otherchar ( digit | otherchar )*

Notation:

digit denotes any character 0 through 9.

otherchar denotes any printable character except the digits and parentheses.

X* denotes that X may be repeated any number of times.

Whitespace:

Blanks, tabs, newlines, and other nonprintable characters can appear between tokens.

Such whitespace serves no purpose other than to separate the tokens.