Skip to content
Discussion options

You must be logged in to vote

@ballcoach12 Your terminals are clashing quite heavily. In /abc/B both abc and B get identified as PARAM terminals, since that's the first terminal in your terminal list that is able to tokenize these characters. Note that the tokenization and parsing phase are split and the tokenization (lexing) is performed without context (whereas the parsing phase uses context).

In your case, PARAM, ID, SEGMENT and LETTER are ambiguous during the tokenization phase. The tokenizer will never read ID, since the first-fit algorithm employed there will always read PARAM first. A similar thing happens with SEGMENT since there's quite an overlap in these token types.

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@ballcoach12
Comment options

Answer selected by ballcoach12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants