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

The object context. For intenrnal use only. More...

#include <jsonp.h>

Collaboration diagram for json:
Collaboration graph
[legend]

Data Fields

const void * vpValidate
 Must be the "magic number" to be a valid context. More...
 
exceptionspException
 Pointer to the exception structure for reporting errors to the application catch block. More...
 
void * vpMem
 Pointer to a memory object used for all memory allocations. More...
 
void * vpVecIterators
 A vector of iterator context pointers remembered for destruction. More...
 
void * vpVecBuilders
 A vector of builder context pointers remembered for destruction. More...
 
void * vpVecInput
 The UTF-8-encoded input byte stream. BOM, if any, removed. More...
 
void * vpLines
 pointer to a lines object context More...
 
void * vpVecChars
 A vector of string characters. 32-bit Unicode code points. All strings are in this single vector. More...
 
void * vpVecAscii
 A scratch vector for constructing ASCII strings on the fly. More...
 
void * vpVecValuesr
 
void * vpVecValues
 A vector of relative values. More...
 
json_value * spValues
 an array of absolute values. More...
 
aint uiValueCount
 The number of values in the array. More...
 
void * vpVecStringsr
 
void * vpVecStrings
 A vector of relative strings. More...
 
u32_phrasespStrings
 An array of absolute strings. More...
 
aint uiStringCount
 The number of strings in the array. More...
 
void * vpVecNumbers
 
void * vpVecChildIndexes
 A vector of number objects. More...
 
void * vpVecFrames
 Frame stack of values to keep track of the current value in the parse tree. More...
 
void * vpVecChildPointers
 
struct json_value_tag ** sppChildPointers
 An array of absolute child value pointers. More...
 
framespCurrentFrame
 Points to the current stack frame. More...
 
uint32_t uiChar
 A working value to hold the value of a single character. Higher level rules will move it to vpVecChars. Gets overwritten by each Char rule. More...
 
abool bHasFrac
 A working value signaling presence of fractional value for a number value. More...
 
abool bHasMinus
 A working value signaling a minus sign for a number value. More...
 
void * vpVecTreeList
 Vector of pointers to sub_tree tree. Value pointers are in the order of a depth-first traversal. More...
 
void * vpVecChildList
 Vector of pointers to the children of a parent value. NULL if the parent is not an object or array. More...
 
void * vpVecKeyList
 Vector of pointers to the list of valued found in a key search. More...
 
void * vpVecScratch32
 A vector of 32-bit integer scratch space. More...
 
aint uiWalkCount
 An accumulator for counting sub-tree nodes and child nodes. More...
 
FILE * spIn
 File I/O handle for the input file. Maintained here so that it can be closed in the destructor if necessary. More...
 
void * vpParser
 Pointer to the parser context if exception thrown during parsing. More...
 
acharacpInput
 Buffer to hold the input converted from uint8_t to achar units. More...
 
void * vpFmt
 Pointer to a hexdump-style formatter object. More...
 
void * vpVecOutput
 Vector of 32-bit code points for generating output of value tree to JSON-text. More...
 
void * vpConv
 Context pointer for a conversion object. More...
 
abool bFirstNode
 Set to true before each call to sJsonWrite() to prevent writing a key for the first node of a sub-tree. More...
 
aint uiCurrentDepth
 Used to keep track of the current tree depth for display of the tree of values. More...
 
aint uiMaxDepth
 The maximum tree depth of values to display. More...
 

Detailed Description

The object context. For intenrnal use only.

Definition at line 95 of file jsonp.h.

Field Documentation

◆ acpInput

achar* json::acpInput

Buffer to hold the input converted from uint8_t to achar units.

Definition at line 145 of file jsonp.h.

◆ bFirstNode

abool json::bFirstNode

Set to true before each call to sJsonWrite() to prevent writing a key for the first node of a sub-tree.

Definition at line 149 of file jsonp.h.

◆ bHasFrac

abool json::bHasFrac

A working value signaling presence of fractional value for a number value.

Definition at line 129 of file jsonp.h.

◆ bHasMinus

abool json::bHasMinus

A working value signaling a minus sign for a number value.

Definition at line 130 of file jsonp.h.

◆ spCurrentFrame

frame* json::spCurrentFrame

Points to the current stack frame.

Definition at line 126 of file jsonp.h.

◆ spException

exception* json::spException

Pointer to the exception structure for reporting errors to the application catch block.

Definition at line 97 of file jsonp.h.

◆ spIn

FILE* json::spIn

File I/O handle for the input file. Maintained here so that it can be closed in the destructor if necessary.

Definition at line 142 of file jsonp.h.

◆ sppChildPointers

struct json_value_tag** json::sppChildPointers

An array of absolute child value pointers.

Definition at line 123 of file jsonp.h.

◆ spStrings

u32_phrase* json::spStrings

An array of absolute strings.

Definition at line 117 of file jsonp.h.

◆ spValues

json_value* json::spValues

an array of absolute values.

Definition at line 113 of file jsonp.h.

◆ uiChar

uint32_t json::uiChar

A working value to hold the value of a single character. Higher level rules will move it to vpVecChars. Gets overwritten by each Char rule.

Definition at line 127 of file jsonp.h.

◆ uiCurrentDepth

aint json::uiCurrentDepth

Used to keep track of the current tree depth for display of the tree of values.

Definition at line 150 of file jsonp.h.

◆ uiMaxDepth

aint json::uiMaxDepth

The maximum tree depth of values to display.

Definition at line 151 of file jsonp.h.

◆ uiStringCount

aint json::uiStringCount

The number of strings in the array.

Definition at line 118 of file jsonp.h.

◆ uiValueCount

aint json::uiValueCount

The number of values in the array.

Definition at line 114 of file jsonp.h.

◆ uiWalkCount

aint json::uiWalkCount

An accumulator for counting sub-tree nodes and child nodes.

Definition at line 139 of file jsonp.h.

◆ vpConv

void* json::vpConv

Context pointer for a conversion object.

Definition at line 148 of file jsonp.h.

◆ vpFmt

void* json::vpFmt

Pointer to a hexdump-style formatter object.

Definition at line 146 of file jsonp.h.

◆ vpLines

void* json::vpLines

pointer to a lines object context

Definition at line 106 of file jsonp.h.

◆ vpMem

void* json::vpMem

Pointer to a memory object used for all memory allocations.

Definition at line 99 of file jsonp.h.

◆ vpParser

void* json::vpParser

Pointer to the parser context if exception thrown during parsing.

Definition at line 144 of file jsonp.h.

◆ vpValidate

const void* json::vpValidate

Must be the "magic number" to be a valid context.

Definition at line 96 of file jsonp.h.

◆ vpVecAscii

void* json::vpVecAscii

A scratch vector for constructing ASCII strings on the fly.

Definition at line 110 of file jsonp.h.

◆ vpVecBuilders

void* json::vpVecBuilders

A vector of builder context pointers remembered for destruction.

Definition at line 102 of file jsonp.h.

◆ vpVecChars

void* json::vpVecChars

A vector of string characters. 32-bit Unicode code points. All strings are in this single vector.

Definition at line 109 of file jsonp.h.

◆ vpVecChildIndexes

void* json::vpVecChildIndexes

A vector of number objects.

A single vector of relative child indexes to values.

Definition at line 120 of file jsonp.h.

◆ vpVecChildList

void* json::vpVecChildList

Vector of pointers to the children of a parent value. NULL if the parent is not an object or array.

Definition at line 134 of file jsonp.h.

◆ vpVecChildPointers

void* json::vpVecChildPointers

Definition at line 122 of file jsonp.h.

◆ vpVecFrames

void* json::vpVecFrames

Frame stack of values to keep track of the current value in the parse tree.

Definition at line 121 of file jsonp.h.

◆ vpVecInput

void* json::vpVecInput

The UTF-8-encoded input byte stream. BOM, if any, removed.

Definition at line 105 of file jsonp.h.

◆ vpVecIterators

void* json::vpVecIterators

A vector of iterator context pointers remembered for destruction.

Definition at line 101 of file jsonp.h.

◆ vpVecKeyList

void* json::vpVecKeyList

Vector of pointers to the list of valued found in a key search.

Definition at line 135 of file jsonp.h.

◆ vpVecNumbers

void* json::vpVecNumbers

Definition at line 119 of file jsonp.h.

◆ vpVecOutput

void* json::vpVecOutput

Vector of 32-bit code points for generating output of value tree to JSON-text.

Definition at line 147 of file jsonp.h.

◆ vpVecScratch32

void* json::vpVecScratch32

A vector of 32-bit integer scratch space.

Definition at line 136 of file jsonp.h.

◆ vpVecStrings

void* json::vpVecStrings

A vector of relative strings.

A vector of Unicode strings.

Definition at line 116 of file jsonp.h.

◆ vpVecStringsr

void* json::vpVecStringsr

Definition at line 115 of file jsonp.h.

◆ vpVecTreeList

void* json::vpVecTreeList

Vector of pointers to sub_tree tree. Value pointers are in the order of a depth-first traversal.

Definition at line 133 of file jsonp.h.

◆ vpVecValues

void* json::vpVecValues

A vector of relative values.

Definition at line 112 of file jsonp.h.

◆ vpVecValuesr

void* json::vpVecValuesr

Definition at line 111 of file jsonp.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.