diff options
| author | jwansek <eddie.atten.ea29@gmail.com> | 2021-11-01 14:51:47 +0000 | 
|---|---|---|
| committer | jwansek <eddie.atten.ea29@gmail.com> | 2021-11-01 14:51:47 +0000 | 
| commit | 85e2726ddedd2981425c5ac07f7257bce1a6ddbf (patch) | |
| tree | d84a75438cba4fd3d7180c776f3632577292433a /code/FORTRAN2C/fortran2c.grammar | |
| parent | 69b0ad07bac30beca1397ff187468e7597203c44 (diff) | |
| download | esotericFORTRAN-85e2726ddedd2981425c5ac07f7257bce1a6ddbf.tar.gz esotericFORTRAN-85e2726ddedd2981425c5ac07f7257bce1a6ddbf.zip | |
started work on translation to c
Diffstat (limited to 'code/FORTRAN2C/fortran2c.grammar')
| -rw-r--r-- | code/FORTRAN2C/fortran2c.grammar | 35 | 
1 files changed, 35 insertions, 0 deletions
| diff --git a/code/FORTRAN2C/fortran2c.grammar b/code/FORTRAN2C/fortran2c.grammar new file mode 100644 index 0000000..80bf2b7 --- /dev/null +++ b/code/FORTRAN2C/fortran2c.grammar @@ -0,0 +1,35 @@ +Package fortran2c; +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 | 
