Input: 2*-3 Output: --------------------@2*-3-198->parser::rule_expr@0-4 --------------------@2*-3? {; 0-4 --------------------@2*-3---85->parser::rule_term@0-4 --------------------@2*-3? {; 0-4 --------------------@2*-3-----60->parser::rule_factor@0-4 --------------------@2*-3? {| 0-4 --------------------@2*-3? {| 0-4 --------------------@2*-3? {| 0-4 --------------------@2*-3? {| 0-4 --------------------@2*-3? {& 0-4 -----------------------2@| $ 1-4 -----------------------@2-----------36->parser::numeric_literal@0-1 1 ; 2 PUSH 2 -----------------------@2+++++++++++36<-parser::numeric_literal@0-0 '' } } } } } ---------------------@*-3+++++60<-parser::rule_factor@0-1 '2' ---------------------@*-3? {* 1-4 ---------------------@*-3? {| 1-4 ---------------------@*-3? {& 1-4 ---------------------@*-3? {; 1-4 ----------------------2*@| * 2-4 char ----------------------@-3---------64->parser::rule_factor@2-4 ----------------------@-3? {| 2-4 ----------------------@-3? {| 2-4 ----------------------@-3? {| 2-4 ----------------------@-3? {| 2-4 ----------------------@-3? {& 2-4 ~~~~~~~~~~~~~~~~~~~~~~2*@~ $ 2-4 FAIL ~~~~~~~~~~~~~~~~~~~~~~2*@~ & 2-4 FAIL } ----------------------@-3? {; 2-4 ----------------------@-3? {; 2-4 ~~~~~~~~~~~~~~~~~~~~~~2*@~ ( 2-4 FAIL char } } ~~~~~~~~~~~~~~~~~~~~~~2*@~ | 2-4 FAIL } ----------------------@-3? {; 2-4 ---------------------2*-@| - 3-4 char -----------------------@3? {& 3-4 -----------------------@3---------------43->parser::rule_factor@3-4 -----------------------@3? {| 3-4 -----------------------@3? {| 3-4 -----------------------@3? {| 3-4 -----------------------@3? {| 3-4 -----------------------@3? {& 3-4 --------------------2*-3@| $ 4-4 -----------------------@3---------------------36->parser::numeric_literal@3-4 3 ; 4 PUSH 3 -----------------------@3+++++++++++++++++++++36<-parser::numeric_literal@3-3 '' } } } } } ------------------------@+++++++++++++++43<-parser::rule_factor@3-4 '3' -----------------------@3---------------43->parser::unary_minus@3-4 5 ; 6 POP R1 7 NEG R1 ; R1 = -(3) 8 PUSH R1 -----------------------@3+++++++++++++++43<-parser::unary_minus@3-3 '' } } } } } ------------------------@+++++++++64<-parser::rule_factor@2-4 '-3' } ---------------------@*-3--------66->parser::multiply@1-4 9 ; 10 POP R1 11 POP R2 12 MUL R2, R1 ; R2 = R2 *-3 13 PUSH R2 ---------------------@*-3++++++++66<-parser::multiply@1-1 '' } } ------------------------@? {| 4-4 ------------------------@? {& 4-4 ------------------------@? {; 4-4 ~~~~~~~~~~~~~~~~~~~~2*-3@~ L 4-4 FAIL empty universe } ~~~~~~~~~~~~~~~~~~~~2*-3@~ & 4-4 FAIL } ------------------------@? {& 4-4 ------------------------@? {; 4-4 ~~~~~~~~~~~~~~~~~~~~2*-3@~ L 4-4 FAIL empty universe } ~~~~~~~~~~~~~~~~~~~~2*-3@~ & 4-4 FAIL } ~~~~~~~~~~~~~~~~~~~~2*-3@~ | 4-4 FAIL } } } ------------------------@+++85<-parser::rule_term@0-4 '2*-3' ------------------------@? {* 4-4 ------------------------@? {| 4-4 ------------------------@? {& 4-4 ------------------------@? {; 4-4 ~~~~~~~~~~~~~~~~~~~~2*-3@~ L 4-4 FAIL empty universe } ~~~~~~~~~~~~~~~~~~~~2*-3@~ & 4-4 FAIL } ------------------------@? {& 4-4 ------------------------@? {; 4-4 ~~~~~~~~~~~~~~~~~~~~2*-3@~ L 4-4 FAIL empty universe } ~~~~~~~~~~~~~~~~~~~~2*-3@~ & 4-4 FAIL } ~~~~~~~~~~~~~~~~~~~~2*-3@~ | 4-4 FAIL } } } ------------------------@+198<-parser::rule_expr@0-4 '2*-3'