The BNF given does not permit = to be directly followed by not. Go/Julia/Perl all get that wrong (better to fix task tho?).
The Go output also claims that "g not = h" is valid, whereas Perl/Julia and now Phix call that invalid. --Pete Lomax (talk) 18:57, 3 January 2020 (UTC)
I may not understand the specification given for BNF syntax. Doesn't the rule:
expr_level_4 = ["not"] expr_level_5 [('=' | '<') expr_level_5] ;
- First/left one yes, second/right one no. Consider expr_level_4 = ["not"] expr_level_5 [('=' | '<') ["not"] expr_level_5] ;
- Ideally the not would be moved into its own private rule, rather than clog up the (partial) comparison rule anyway. --Pete Lomax (talk) 19:31, 3 January 2020 (UTC)
Note the square brackets  around the [('=' | '<') expr_level_5]. This means that the expression
'2 < 3 < 4'
- Well spotted. Please sign your posts, with --~~~~ thanks --Pete Lomax (talk) 14:14, 4 January 2020 (UTC)
Would it not be better if the EBNF included explicit placement of whitespace characters? As it stands, it seems to me one is left to one's own opinion as to where whitespace is allowed or required. (A separate lexical analysis stage would alleviate this difficulty, but we already have separated lex and parse tasks.) --Chemoelectric (talk) 18:40, 15 October 2022 (UTC)