Version 7.0
Copyright © 2021 Lowell D. Thomas
APG
… an ABNF Parser Generator
Data Fields
semantic_rule Struct Reference

Generalized rule for first-pass semantic processing. More...

#include <semantics.h>

Collaboration diagram for semantic_rule:
Collaboration graph
[legend]

Data Fields

char * cpName
 
aint uiNameLength
 
aint uiIndex
 
aint uiCurrentAlt
 
aint uiCurrentCat
 
semantic_opspCurrentOp
 
void * vpVecAltStack
 
void * vpVecCatStack
 
void * vpVecOps
 

Detailed Description

Generalized rule for first-pass semantic processing.

Definition at line 68 of file semantics.h.

Field Documentation

◆ cpName

char* semantic_rule::cpName

Pointer to rule name in input grammar (not null-termed).

Definition at line 69 of file semantics.h.

◆ spCurrentOp

semantic_op* semantic_rule::spCurrentOp

Index to the current CAT operator. The current opcode. Points to the top (last) of the rule opcode vector.

Definition at line 75 of file semantics.h.

◆ uiCurrentAlt

aint semantic_rule::uiCurrentAlt

Definition at line 73 of file semantics.h.

◆ uiCurrentCat

aint semantic_rule::uiCurrentCat

Index to the current ALT operator.

Definition at line 74 of file semantics.h.

◆ uiIndex

aint semantic_rule::uiIndex

index of this rule in the rule list

Definition at line 72 of file semantics.h.

◆ uiNameLength

aint semantic_rule::uiNameLength

Number of characters in the name, not including the null term

Definition at line 71 of file semantics.h.

◆ vpVecAltStack

void* semantic_rule::vpVecAltStack

Definition at line 76 of file semantics.h.

◆ vpVecCatStack

void* semantic_rule::vpVecCatStack

Stack of indexes pointing to the ALT operators in the opcode vector (vpVecOps).

Definition at line 77 of file semantics.h.

◆ vpVecOps

void* semantic_rule::vpVecOps

Stack of indexes pointing to the CAT operators in the opcode vector (vpVecOps).
vector of semantic_op structures

Definition at line 78 of file semantics.h.


The documentation for this struct was generated from the following file:
APG Version 7.0 is licensed under the 2-Clause BSD License,
an Open Source Initiative Approved License.