1
0
Fork 0
mirror of synced 2025-09-24 04:40:05 +00:00

Complete parser grammar in comment

This commit is contained in:
Dennis Kuhnert 2017-02-22 20:44:10 +01:00
parent 1978509685
commit f92cf94abf

View file

@ -4,15 +4,22 @@
// @date 2017
// Grammar:
// <prog> ::= `def' <ide> `(' <arguments> `):\\n' <stat-list>
//
// <arguments> ::= <ide> <more-args> | $\varepsilon$
//
// <more-args> ::= `,' <ide> <more-args> | $\varepsilon$
//
// <stat-list> ::= <statement> <stat-list> | <return>
//
// <statement> ::= <ide> <statement'>
// | `if' <expr> <comparator> <expr> `then' <expr> `else' <expr> `fi' <expr'> `==` <expr> `\\n`
// | `(' <expr> `)' <term'> <expr'> `==` <expr> `\\n`
// | <num> <term'> <expr'> `==` <expr> `\\n`
// | `#` <ide> `=` <expr> `\\n`
// | `if' <expr> <comparator> <expr> `then' <expr> `else' <expr> `fi' <expr'> `==' <expr> `\\n'
// | `(' <expr> `)' <term'> <expr'> `==' <expr> `\\n'
// | <num> <term'> <expr'> `==' <expr> `\\n'
// | `#' <ide> `=' <expr> `\\n'
//
// <statement'> ::= `=' <expr> `\\n'
// | <term'> <expr'> `==` <expr> `\\n`
// | <term'> <expr'> `==' <expr> `\\n'
//
// <expr> ::= `if' <expr> <comparator> <expr> `then' <expr> `else' <expr> `fi' <expr'>
// | `(' <expr> `)' <term'> <expr'>