31 lines
560 B
Plaintext
31 lines
560 B
Plaintext
|
|
Package jholtrop.gvsu.cs675.bottomup;
|
|
|
|
Tokens
|
|
blank = (' ' | 9 | 10 | 13);
|
|
number = ['0' .. '9']+;
|
|
plus = '+';
|
|
minus = '-';
|
|
multiply = '*';
|
|
divide = '/';
|
|
l_par = '(';
|
|
r_par = ')';
|
|
|
|
Ignored Tokens
|
|
blank;
|
|
|
|
Productions
|
|
expr =
|
|
{addition} expr plus term |
|
|
{subtraction} expr minus term |
|
|
{term} term;
|
|
|
|
term =
|
|
{multiplication} term multiply factor |
|
|
{division} term divide factor |
|
|
{factor} factor;
|
|
|
|
factor =
|
|
{number} number |
|
|
{paren} l_par expr r_par;
|