Module wcal::parser::top_down_parser[][src]

Use top-down method to parse.

Convert the grammar to the following grammar to solve priority:

S ::= expr

<expr> ::= <term> <expr_tail>
<expr_tail> ::= Plus <term> <expr_tail>
              | Minus <term> <expr_tail>
              | <empty>

<term> ::= <factor> <term_tail>
<term_tail> ::= Times <factor> <term_tail>
              | Division <factor> <term_tail>
              | <empty>

<factor> ::= LP <expr> RP
           | Number
           | Minus <factor>

Functions

parse

Parse tokens to AST.