lama_byterun/stdlib/regression/test14.lama

16 lines
640 B
Text
Raw Permalink Normal View History

2020-01-31 01:30:03 +03:00
import Ostap;
import Fun;
import List;
var a = token ("a"),
2020-04-11 21:09:51 +03:00
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, {eq}], [Right, {add, sub}], [Left, {mul, div}]}, a);
2020-01-31 01:30:03 +03:00
printf ("%s\n", parseString (exp |> bypass (eof), "a+a-a").string);
printf ("%s\n", parseString (exp |> bypass (eof), "a*a/a*a").string);
printf ("%s\n", parseString (exp |> bypass (eof), "a*a+a/a-a*a").string)