Better syntax syntax

This commit is contained in:
Dmitry Boulytchev 2020-04-11 21:09:51 +03:00
parent 7748144a8f
commit 690825f540
14 changed files with 129 additions and 43 deletions

View file

@ -2,10 +2,10 @@ import Ostap;
import Fun;
local a = token ("a"),
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)}],
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 ({[Left, {add, sub}], [Left, {mul, div}]}, a) (id);
printf ("%s\n", parseString (exp |> bypass (eof), "a").string);