From 4e18b806f8e7a54cf6d27b7609272b9b60f83088 Mon Sep 17 00:00:00 2001 From: ivanjermakov Date: Fri, 19 Apr 2024 21:19:56 +0200 Subject: [PATCH] Syntax: typos --- data/syntax.no | 3 +++ nois.bnf | 5 ++--- src/ast/op.ts | 1 - src/parser/fns/expr.ts | 2 +- src/parser/index.ts | 1 - 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/data/syntax.no b/data/syntax.no index 3a5693a7..710b80df 100644 --- a/data/syntax.no +++ b/data/syntax.no @@ -9,6 +9,7 @@ trait Baz { fn a(self): Unit fn f(self): T {} } impl Baz> for Bar { fn f(self): T {} } fn foo(b: T): Option { let a = [1, "str", 'c', true, Option::None(), Option::Some(value: 1), Option::Some(2)] + let s = "interp {foo("nest {'b'}")}" let Foo::Foo(x) = Foo::Foo(4) let b = if a.next().isSome() { a } else { [] } let b2 = a.next()!.await? @@ -18,9 +19,11 @@ fn foo(b: T): Option { match c.foo() { -5 if a.count() > 6 {} a @ V::B(v, o: _) {} + [1, s @ _, tail] {} V::B() {} "str" {} 'c' {} _ {} } } + diff --git a/nois.bnf b/nois.bnf index abff89ca..572e28a0 100644 --- a/nois.bnf +++ b/nois.bnf @@ -66,7 +66,6 @@ statement ::= var-def | fn-def | trait-def | impl-def | type-def | r div-op ::= SLASH; exp-op ::= CARET; mod-op ::= PERCENT; - access-op ::= PERIOD; eq-op ::= EQUALS EQUALS; ne-op ::= EXCL EQUALS; ge-op ::= C-ANGLE EQUALS; @@ -141,7 +140,7 @@ pattern ::= pattern-bind? pattern-expr ; con-pattern ::= identifier con-pattern-params ; - con-pattern-parms ::= O-PAREN (field-pattern (COMMA field-pattern)*)? COMMA? C-PAREN + con-pattern-params::= O-PAREN (field-pattern (COMMA field-pattern)*)? COMMA? C-PAREN ; field-pattern ::= NAME (COLON pattern)? ; @@ -153,7 +152,7 @@ number ::= MINUS? (INT | FLOAT) ; string ::= D-QUOTE string-part* D-QUOTE ; -string-part ::= STRING | O-BRACE operand C-BRACE +string-part ::= STRING | O-BRACE expr C-BRACE ; bool ::= TRUE | FALSE ; diff --git a/src/ast/op.ts b/src/ast/op.ts index 906726af..f706eaa0 100644 --- a/src/ast/op.ts +++ b/src/ast/op.ts @@ -106,7 +106,6 @@ export const buildBinaryOp = (node: ParseNode): BinaryOp => { 'div-op', 'exp-op', 'mod-op', - 'access-op', 'eq-op', 'ne-op', 'ge-op', diff --git a/src/parser/fns/expr.ts b/src/parser/fns/expr.ts index 0b98dcfb..2ffb3479 100644 --- a/src/parser/fns/expr.ts +++ b/src/parser/fns/expr.ts @@ -199,7 +199,7 @@ export const parseString = (parser: Parser): void => { } /* - * string-part ::= STRING | O-BRACE operand C-BRACE + * string-part ::= STRING | O-BRACE expr C-BRACE */ export const parseStringPart = (parser: Parser): void => { const mark = parser.open() diff --git a/src/parser/index.ts b/src/parser/index.ts index f9a5fb91..ddc2db94 100644 --- a/src/parser/index.ts +++ b/src/parser/index.ts @@ -54,7 +54,6 @@ export const treeKinds = [ 'unwrap-op', 'bind-op', 'await-op', - 'access-op', 'arg', 'closure-expr', 'closure-params',