|
Lime Parser Generator 0.1.0
Runtime-extensible LALR(1) parser with SIMD tokenization and LLVM JIT
|
GLR parser context, wrapping an underlying LALR(1) parser. More...
#include <glr.h>
Data Fields | |
| GSSNode ** | active_heads |
| Array of active stack top nodes. | |
| LimeArena * | arena |
| Arena for GSSNode allocation. | |
| GLRDisambiguateFn | disambiguate |
| User disambiguation callback. | |
| void * | disambiguate_data |
| User data for callback. | |
| bool | has_ambiguity |
| True if unresolved ambiguity detected. | |
| uint32_t | max_heads |
| Capacity of active_heads. | |
| uint32_t | nheads |
| Number of active heads. | |
| uint32_t | total_forks |
| Statistics: total forks. | |
| uint32_t | total_merges |
| Statistics: total merges. | |
GLR parser context, wrapping an underlying LALR(1) parser.
Manages the set of active parse stack heads (the "frontier") and performs forking on conflicts and merging on convergence.
| GSSNode** GLRParser::active_heads |
| GLRDisambiguateFn GLRParser::disambiguate |
| bool GLRParser::has_ambiguity |
| uint32_t GLRParser::max_heads |
Capacity of active_heads.