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 |