diff options
Diffstat (limited to 'doc/grammar.tex')
-rw-r--r-- | doc/grammar.tex | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/doc/grammar.tex b/doc/grammar.tex new file mode 100644 index 0000000..7a67a30 --- /dev/null +++ b/doc/grammar.tex @@ -0,0 +1,40 @@ +\section{Grammar} +\label{sec:grammar} + +\setlength{\grammarparsep}{4pt} +\setlength{\grammarindent}{10em} +\begin{grammar} + <Fuspel> ::= <Rewrite-list> + + <Rewrite-list> ::= <Rewrite> `;' <Rewrite-list> | <empty> + + <Rewrite> ::= <Name> <Arg-list> `=' <Rhs> + + <Arg-list> ::= <Arg> ` ' <Arg-list> | <empty> + + <Arg> ::= <Simple-expr> + + <Simple-expr> ::= <Int> + \alt <Name> + \alt <Simple-list> + \alt <Simple-tuple> + + <Simple-list> ::= `[' <Simple-expr> `:' <Simple-list> `]' + \alt `[]' + + <Simple-tuple> ::= `(' <Simple-expr> `,' <Simple-expr> `)' + + <Rhs> ::= <Expr> + + <Expr> ::= <Int> + \alt <Name> + \alt <List> + \alt <Tuple> + \alt <Expr> <Expr> + \alt `(' <Expr> `)' + + <List> ::= `[' <Expr> `:' <List> `]' + \alt `[]' + + <Tuple> ::= `(' <Simple-expr> `,' <Simple-expr> `)' +\end{grammar} |