Results
Home ] Up ] Token ] Parser ] Exceptions ] [ Results ]

 

 

Here is what the expression parser produces for output, from the test cases supplied from the Parser's main method:

Starting parse on [1+2*3/4]...
Token: [Number] 1.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [PLUS]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Token: [Number] 2.0
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [MULTIPLY]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Token: [Number] 3.0
In factor...
In subfactor...
In subexpression...
In atom...
Token: [DIVIDE]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Token: [Number] 4.0
In factor...
In subfactor...
In subexpression...
In atom...
Token: [END_OF_INPUT]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Value of [1+2*3/4] : 2.5
Result of '1+2*3/4' = 2.5

Starting parse on [  1 + 2 * 3]...
Token: [Number] 1.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [PLUS]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Token: [Number] 2.0
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [MULTIPLY]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Token: [Number] 3.0
In factor...
In subfactor...
In subexpression...
In atom...
Token: [END_OF_INPUT]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Value of [  1 + 2 * 3] : 7.0
Result of '  1 + 2 * 3' = 7.0

Starting parse on [3^3]...
Token: [Number] 3.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [EXPONENTIATION]
Back in subexpression...
Back in subfactor...
Back in factor...
Token: [Number] 3.0
In subfactor...
In subexpression...
In atom...
Token: [END_OF_INPUT]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Value of [3^3] : 27.0
Result of '3^3' = 27.0

Starting parse on [(1 + 2) * 3]...
Token: [OPEN_PAREN]
In expression...
In term...
In factor...
In subfactor...
In subexpression...
Token: [Number] 1.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [PLUS]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Token: [Number] 2.0
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [CLOSE_PAREN]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Back in subexpression...
Token: [MULTIPLY]
Back in subfactor...
Back in factor...
Back in term...
Token: [Number] 3.0
In factor...
In subfactor...
In subexpression...
In atom...
Token: [END_OF_INPUT]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Value of [(1 + 2) * 3] : 9.0
Result of '(1 + 2) * 3' = 9.0

Starting parse on [53%5]...
Token: [Number] 53.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [REMAINDER]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Token: [Number] 5.0
In factor...
In subfactor...
In subexpression...
In atom...
Token: [END_OF_INPUT]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Value of [53%5] : 3.0
Result of '53%5' = 3.0

Starting parse on [72^0]...
Token: [Number] 72.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [EXPONENTIATION]
Back in subexpression...
Back in subfactor...
Back in factor...
Token: [Number] 0.0
In subfactor...
In subexpression...
In atom...
Token: [END_OF_INPUT]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Value of [72^0] : 1.0
Result of '72^0' = 1.0

Starting parse on [+5 + -6 * -(3 * 4)]...
Token: [PLUS]
In expression...
In term...
In factor...
In subfactor...
Token: [Number] 5.0
In subexpression...
In atom...
Token: [PLUS]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Token: [Number] -6.0
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [MULTIPLY]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Token: [MINUS]
In factor...
In subfactor...
Token: [OPEN_PAREN]
In subexpression...
Token: [Number] 3.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [MULTIPLY]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Token: [Number] 4.0
In factor...
In subfactor...
In subexpression...
In atom...
Token: [CLOSE_PAREN]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Back in subexpression...
Token: [END_OF_INPUT]
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Value of [+5 + -6 * -(3 * 4)] : 77.0
Result of '+5 + -6 * -(3 * 4)' = 77.0

Starting parse on [ X + 1]...
>>> Unsupported feature: Variable name
 X + 1
^


Starting parse on [11 - 6 7]...
Token: [Number] 11.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [MINUS]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Token: [Number] 6.0
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [Number] 7.0
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
>>> Unexpected token after end of expression: Token NUMBER [7.0] Offset: 0
11 - 6 7
^


Starting parse on [ 3 - +(2 + 4  ]...
Token: [Number] 3.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [MINUS]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Token: [PLUS]
In term...
In factor...
In subfactor...
Token: [OPEN_PAREN]
In subexpression...
Token: [Number] 2.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [PLUS]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Token: [Number] 4.0
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [END_OF_INPUT]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Back in subexpression...
>>> Unbalanced parentheses
 3 - +(2 + 4  
^


Starting parse on [4 + 5/0]...
Token: [Number] 4.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [PLUS]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Token: [Number] 5.0
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [DIVIDE]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Token: [Number] 0.0
In factor...
In subfactor...
In subexpression...
In atom...
Token: [END_OF_INPUT]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
>>> Division by zero attempted
4 + 5/0
^


Starting parse on [10 ** 8]...
Token: [Number] 10.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [MULTIPLY]
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Token: [MULTIPLY]
In factor...
In subfactor...
In subexpression...
In atom...
>>> Unexpected token encountered Token MULTIPLY [*] Offset: 0
10 ** 8
^


Starting parse on [(10-5)*9)]...
Token: [OPEN_PAREN]
In expression...
In term...
In factor...
In subfactor...
In subexpression...
Token: [Number] 10.0
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
Token: [Number] -5.0
Back in subexpression...
Back in subfactor...
Back in factor...
Back in term...
Back in expression...
Back in subexpression...
>>> Unbalanced parentheses
(10-5)*9)
^


Starting parse on [/8]...
Token: [DIVIDE]
In expression...
In term...
In factor...
In subfactor...
In subexpression...
In atom...
>>> Unexpected token encountered Token DIVIDE [/] Offset: 0
/8
^
 
The page was last updated February 19, 2008