diff options
Diffstat (limited to 'src/manifest')
| -rw-r--r-- | src/manifest | 31 |
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> |
