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

User data passed to the AST translator for use by the AST callback functions. More...

#include <semantics.h>

Collaboration diagram for semantic_data:
Collaboration graph
[legend]

Data Fields

apispApi
 
void * vpMem
 
aint uiIncAlt
 
aint uiErrorsFound
 
luint luiNum
 
semantic_rulespCurrentRule
 
char * cpName
 
aint uiNameOffset
 
aint uiNameLength
 
aint uiRuleIndex
 
aint uiUdtIndex
 
void * vpVecAcharsTable
 
void * vpVecChildIndexTable
 
void * vpVecStringTable
 
void * vpVecRules
 
void * vpVecUdts
 

Detailed Description

User data passed to the AST translator for use by the AST callback functions.

Definition at line 83 of file semantics.h.

Field Documentation

◆ cpName

char* semantic_data::cpName

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

Definition at line 91 of file semantics.h.

◆ luiNum

luint semantic_data::luiNum

Incremented for each error reported
used by lower-level rules, dnum, xnum, bnum, to save data for higher rules, dmax, etc.

Definition at line 89 of file semantics.h.

◆ spApi

api* semantic_data::spApi

Definition at line 84 of file semantics.h.

◆ spCurrentRule

semantic_rule* semantic_data::spCurrentRule

always points to the current rule being processed

Definition at line 90 of file semantics.h.

◆ uiErrorsFound

aint semantic_data::uiErrorsFound

Used to report to rule name whether this is a new rule or continuation of a previous rule.

Definition at line 88 of file semantics.h.

◆ uiIncAlt

aint semantic_data::uiIncAlt

Special memory context used only for the vectors created during AST translation. vMemDtor(vpMem) gives easy cleanup.

Definition at line 87 of file semantics.h.

◆ uiNameLength

aint semantic_data::uiNameLength

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

Definition at line 93 of file semantics.h.

◆ uiNameOffset

aint semantic_data::uiNameOffset

offset to the first character of the rule name in the grammar

Definition at line 92 of file semantics.h.

◆ uiRuleIndex

aint semantic_data::uiRuleIndex

next index of the rule in the rule list

Definition at line 94 of file semantics.h.

◆ uiUdtIndex

aint semantic_data::uiUdtIndex

next index of the Udt in the Udt list

Definition at line 95 of file semantics.h.

◆ vpMem

void* semantic_data::vpMem

Pointer to the API context.

Definition at line 85 of file semantics.h.

◆ vpVecAcharsTable

void* semantic_data::vpVecAcharsTable

Definition at line 96 of file semantics.h.

◆ vpVecChildIndexTable

void* semantic_data::vpVecChildIndexTable

Vector of achar characters needed by TLS and TBS operators.

Definition at line 97 of file semantics.h.

◆ vpVecRules

void* semantic_data::vpVecRules

Table of char (ASCII) characters for rule names and UDT names. vector of semantic_rule structures

Definition at line 99 of file semantics.h.

◆ vpVecStringTable

void* semantic_data::vpVecStringTable

Vector of child index lists used by ALT and CAT operators.

Definition at line 98 of file semantics.h.

◆ vpVecUdts

void* semantic_data::vpVecUdts

vector of semantic_Udt structures

Definition at line 100 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.