Hacker News new | ask | show | jobs
by thesz 3367 days ago
The two-level grammars are doing things in two steps: parsing of part of the text yields a grammar for parsing the rest of it.

The Algol-68 was specified using two level grammar and if I understand it correctly, the declaration part constrained parsing of the statement part so that only valid expressions can be parsed. Parsed statements are valid in the semantic sense, i.e., the subscription can be applied only to array values and parser will reject subscription for scalar values.

To generate the grammar you need to execute some function. And this function depends on the part of input.

1 comments

Wow, the two-level grammar concept is incredible! I have some learning to do. Thank you for sharing.