Lime Parser Generator 0.1.0
Runtime-extensible LALR(1) parser with SIMD tokenization and LLVM JIT
Loading...
Searching...
No Matches
GSSNode Struct Reference

Graph-Structured Stack (GSS) node for GLR parsing. More...

#include <glr.h>

Data Fields

uint32_t npred
 Number of predecessors.
 
uint32_t pred_capacity
 Allocated predecessor slots.
 
struct GSSNode ** predecessors
 Array of predecessor nodes.
 
uint32_t refcount
 Reference count.
 
uint32_t state
 Parser state number.
 
union { 
 
   double   dval 
 
   int   ival 
 
   void *   pval 
 
value 
 Semantic value (one of int / pointer / double, by convention).
 

Detailed Description

Graph-Structured Stack (GSS) node for GLR parsing.

Each node represents a parser state in the GLR graph. Multiple predecessor links allow the graph structure that distinguishes GLR from standard LR parsing.

Definition at line 22 of file glr.h.

Field Documentation

◆ dval

double GSSNode::dval

Definition at line 25 of file glr.h.

◆ ival

int GSSNode::ival

Definition at line 25 of file glr.h.

◆ npred

uint32_t GSSNode::npred

Number of predecessors.

Definition at line 27 of file glr.h.

◆ pred_capacity

uint32_t GSSNode::pred_capacity

Allocated predecessor slots.

Definition at line 28 of file glr.h.

◆ predecessors

struct GSSNode** GSSNode::predecessors

Array of predecessor nodes.

Definition at line 26 of file glr.h.

◆ pval

void* GSSNode::pval

Definition at line 25 of file glr.h.

◆ refcount

uint32_t GSSNode::refcount

Reference count.

Definition at line 29 of file glr.h.

◆ state

uint32_t GSSNode::state

Parser state number.

Definition at line 23 of file glr.h.


The documentation for this struct was generated from the following file: