From fcbf399c80ad7b6a8f9f7980132e2f28d200c9d5 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sun, 20 Sep 2020 18:43:21 -0400 Subject: DEF statement doesn't exist --- docs/spec/grammar.html | 4 ++-- spec/grammar.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/spec/grammar.html b/docs/spec/grammar.html index a38aff35..4928aed8 100644 --- a/docs/spec/grammar.html +++ b/docs/spec/grammar.html @@ -7,9 +7,9 @@

Specification: BQN grammar

BQN's grammar is given below. Terms are defined in a BNF variant. However, handling special names properly is possible but difficult in BNF, so they are explained in text along with the braced block grammar.

The symbols s, F, _m, and _c_ are identifier tokens with subject, function, 1-modifier, and 2-modifier classes respectively. Similarly, sl, Fl, _ml, and _cl_ refer to literals and primitives of those classes. While names in the BNF here follow the identifier naming scheme, this is informative only: syntactic classes are no longer used after parsing and cannot be inspected in a running program.

-

A program is a list of statements. Almost all statements are expressions. However, explicit definitions and valueless results stemming from ยท, or ๐•จ in a monadic brace function, can be used as statements but not expressions.

+

A program is a list of statements. Almost all statements are expressions. Only valueless results stemming from ยท, or ๐•จ in a monadic brace function, can be used as statements but not expressions.

PROGRAM  = โ‹„? ( ( STMT โ‹„ )* STMT โ‹„? )?
-STMT     = EXPR | DEF | nothing
+STMT     = EXPR | nothing
 โ‹„        = ( "โ‹„" | "," | \n )+
 EXPR     = subExpr | FuncExpr | _m1Expr | _m2Expr_
 
diff --git a/spec/grammar.md b/spec/grammar.md index 3808ac28..25d48295 100644 --- a/spec/grammar.md +++ b/spec/grammar.md @@ -6,10 +6,10 @@ BQN's grammar is given below. Terms are defined in a [BNF](https://en.wikipedia. The symbols `s`, `F`, `_m`, and `_c_` are identifier tokens with subject, function, 1-modifier, and 2-modifier classes respectively. Similarly, `sl`, `Fl`, `_ml`, and `_cl_` refer to literals and primitives of those classes. While names in the BNF here follow the identifier naming scheme, this is informative only: syntactic classes are no longer used after parsing and cannot be inspected in a running program. -A program is a list of statements. Almost all statements are expressions. However, explicit definitions and valueless results stemming from `ยท`, or `๐•จ` in a monadic brace function, can be used as statements but not expressions. +A program is a list of statements. Almost all statements are expressions. Only valueless results stemming from `ยท`, or `๐•จ` in a monadic brace function, can be used as statements but not expressions. PROGRAM = โ‹„? ( ( STMT โ‹„ )* STMT โ‹„? )? - STMT = EXPR | DEF | nothing + STMT = EXPR | nothing โ‹„ = ( "โ‹„" | "," | \n )+ EXPR = subExpr | FuncExpr | _m1Expr | _m2Expr_ -- cgit v1.2.3