diff --git a/src/main.ts b/src/main.ts index eb3e294..5abc261 100644 --- a/src/main.ts +++ b/src/main.ts @@ -27,7 +27,7 @@ console.log(tokenize(str)); // const tokens2 = tokenize("(x, y) => x + y"); // const tokens2 = tokenize('point { x = 3 }'); // const tokens2 = tokenize('add1 = (x \\ x + 1); add1 3'); -const tokens2 = tokenize('sum = (x y \\ x + y); sum 5 3'); +const tokens2 = tokenize('sum = x y \\ x + y; sum 5 3'); const p2 = new Parser(tokens2); const ast3 = p2.parse(); console.log(ast3); diff --git a/src/parser.ts b/src/parser.ts index 8a37c6b..01a81ac 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -122,7 +122,7 @@ export class Parser { const nameToken = this.expect('ident'); const name = (nameToken as { value: string }).value; this.expect('equals'); - const value = this.parseInfix(); + const value = this.parseExpression(); this.expect('semicolon'); const body = this.parseExpression();