blob: 426fac113dcdef5e29493acb49490303f66d2096 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
;
|