diff options
Diffstat (limited to 'code/simpleSableCCCalulator/sableCCCalculator.grammar')
| -rw-r--r-- | code/simpleSableCCCalulator/sableCCCalculator.grammar | 35 | 
1 files changed, 35 insertions, 0 deletions
| diff --git a/code/simpleSableCCCalulator/sableCCCalculator.grammar b/code/simpleSableCCCalulator/sableCCCalculator.grammar new file mode 100644 index 0000000..426fac1 --- /dev/null +++ b/code/simpleSableCCCalulator/sableCCCalculator.grammar @@ -0,0 +1,35 @@ +Package sableCCCalculator; +Helpers +    digit = ['0' .. '9']; +Tokens +    number = digit+; +    double = ((digit)+ '.' (digit)*) | ((digit)* '.' (digit)+); +    plus = '+'; +    minus = '-'; +    mult = '*'; +    div = '/'; +    mod = '%'; +    l_par = '('; +    r_par = ')'; +    sin = 'sin'; +    blank = (' ' | 13 | 10)+; +Ignored Tokens +    blank; +Productions +    expr = +        {factor} factor | +        {plus} expr plus factor | +        {minus} expr minus factor  +        ; +    factor = +        {term} term | +        {mult} factor mult term | +        {div} factor div term | +        {mod} factor mod term +        ; +    term = +        {number} number | +        {double} double | +        {expr} l_par expr r_par | +        {sine} sin l_par expr r_par +        ;
\ No newline at end of file | 
