aboutsummaryrefslogtreecommitdiff
path: root/src/manifest
diff options
context:
space:
mode:
Diffstat (limited to 'src/manifest')
-rw-r--r--src/manifest31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/manifest b/src/manifest
new file mode 100644
index 0000000..dc03948
--- /dev/null
+++ b/src/manifest
@@ -0,0 +1,31 @@
+Data struct:
+ - expression
+ - matrix
+ - complex
+
+ - polynomial
+
+State Data struct:
+ - function
+ - variable
+
+
+1. ( )
+2. ^
+3. * / % **
+4. + -
+
+expr ::= <term> (+ | -) <expr> | <term>
+term ::= <factor> (* | / | % | **)? <term> | <factor> -- default to '*'
+factor ::= <base> '^' <factor> | <base>
+base ::= '(' <expr> ')' | ( <real> | <imag> | <matrix> )
+
+imag ::= <expr> '*'? 'i'
+real ::= [0-9]+
+
+matrix ::= '[' (<line> ';')* ']'
+line ::= '[' (<expr> ',')* ']'
+
+func ::= [a-zA-Z]+ '(' <var> ')'
+var ::= [a-zA-Z]+
+endpoint ::= (<var> | <func>) '=' <expr>