mirror of
https://github.com/ProgramSnail/Lama.git
synced 2026-01-06 05:58:14 +00:00
Better syntax syntax
This commit is contained in:
parent
7748144a8f
commit
690825f540
14 changed files with 129 additions and 43 deletions
|
|
@ -3,11 +3,11 @@ import Fun;
|
|||
import List;
|
||||
|
||||
local a = token ("a"),
|
||||
eq = [token ("="), fun (l, r) {Eq (l, r)}],
|
||||
add = [token ("+"), fun (l, r) {Add (l, r)}],
|
||||
sub = [token ("-"), fun (l, r) {Sub (l, r)}],
|
||||
mul = [token ("*"), fun (l, r) {Mul (l, r)}],
|
||||
div = [token ("/"), fun (l, r) {Div (l, r)}],
|
||||
eq = [token ("="), fun (l, _, r) {Eq (l, r)}],
|
||||
add = [token ("+"), fun (l, _, r) {Add (l, r)}],
|
||||
sub = [token ("-"), fun (l, _, r) {Sub (l, r)}],
|
||||
mul = [token ("*"), fun (l, _, r) {Mul (l, r)}],
|
||||
div = [token ("/"), fun (l, _, r) {Div (l, r)}],
|
||||
exp = expr ({[Nona, singleton (eq)], [Right, {add, sub}], [Left, {mul, div}]}, a) (id);
|
||||
|
||||
printf ("%s\n", parseString (exp |> bypass (eof), "a+a-a").string);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue