Skip to content

Latest commit

 

History

History
16 lines (11 loc) · 564 Bytes

ebnf-problems.md

File metadata and controls

16 lines (11 loc) · 564 Bytes

The Problems of Extended BNF

definition-list

The definition-list (OR condition) is unclear as to what action should be taken in cases where multiple conditions are matched.

In definition-list, it possibly have to buffer the whole stream to make a decision if it uses a schema that leaves very long conditition in the OR branch. For instance,

A = {'a'};
FINALLY NOT A = {'a'}, 'b';
S = A | FINALLY NOT A;

where it need to read and buffer the input aaaaaa...b to the end of the stream to determine whether it matches A or FINALLY NOT A.