summaryrefslogtreecommitdiff
path: root/src/grammar.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/grammar.h')
-rw-r--r--src/grammar.h7
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;