From 85e2726ddedd2981425c5ac07f7257bce1a6ddbf Mon Sep 17 00:00:00 2001
From: jwansek <eddie.atten.ea29@gmail.com>
Date: Mon, 1 Nov 2021 14:51:47 +0000
Subject: started work on translation to c

---
 code/FORTRAN2C/fortran2c.grammar | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 code/FORTRAN2C/fortran2c.grammar

(limited to 'code/FORTRAN2C/fortran2c.grammar')

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
-- 
cgit v1.2.3