Professional Documents
Culture Documents
CC
CC
length);
const Op = Symbol('op');
const Num = Symbol('num');
let c = 0;
const peek = () => tokens[c];
const consume = () => tokens[c++];
return parseExpr();
};
const evaluate = ast => {
const opAcMap = {
sum: args => args.reduce((a, b) => a + b, 0),
sub: args => args.reduce((a, b) => a - b),
div: args => args.reduce((a, b) => a / b),
mul: args => args.reduce((a, b) => a * b, 1)
};
console.log(compile(parse(lex(program))));