diff options
Diffstat (limited to 'src/grammar.h')
-rw-r--r-- | src/grammar.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/grammar.h b/src/grammar.h index fd8d5c9..e18ad0e 100644 --- a/src/grammar.h +++ b/src/grammar.h @@ -231,6 +231,13 @@ BOOL nt_follow(CC_MOD(Grammar *) g, CCR_MOD(BOOL *) nts, ht * const result_terminals, ht * const result_predicates); +/* TODO: Compute which non-terminals are "LL(1)" non-terminals. With + this information, we can save the time to insert a process + descriptor and pop that descriptor, if we know the non-terminal in + question is "LL(1)". A non-terminal A is defined as "LL(1)" if its + different rules have disjoint FIRST sets, and if FIRST(A) is + disjoint from FOLLOW(A), when A is nullable. */ + /* struct that holds information about grammars */ typedef struct grammar_info_s grammar_info; |