diff options
author | Peter Wu <peter@lekensteyn.nl> | 2016-05-07 17:50:27 +0200 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2016-05-07 18:11:09 +0200 |
commit | 6e80be9599af0d70ac51637a871c0d1d076eb745 (patch) | |
tree | 1bad59e6a82e61e73beba9b00d5b536204773767 /lib | |
parent | 1b115a3a0d318e4a0270f7be2a39db6f38f9d7f4 (diff) | |
download | RegexTest-6e80be9599af0d70ac51637a871c0d1d076eb745.tar.gz |
Add original grammer for part 4
This grammar looks like SDF[0]. Explanation of some constructs:
- "start-symbol" refers to the start symbol (a non-terminal).
- Lines below "context-free syntax" refers to the non-terminals.
- Lines below "lexical syntax" refers to the terminals.
- "context-free priorities" provides disambiguation constructs.
Note that the "EXP ::= " part really belongs to each individual operand,
so it means something like "A > B > C" (where A, B, C are the unary
minus, multiplication and plus expressions respectively).
I have no idea why Mark van den Brand chose to use multiple
"context-free syntax" and "lexical syntax" groups (if that is
appropriate terminology), as far as I can see all such blocks can be
merged into one group. Maybe he wanted to emphasize the difference
between the left-hand side names?
[0]: http://releases.strategoxt.org/strategoxt-manual/unstable/manual/chunk-chapter/tutorial-sdf.html
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions