Version 7.0
Copyright © 2021 Lowell D. Thomas
APG
… an ABNF Parser Generator
main.h
Go to the documentation of this file.
1 /* ****************************************************************************
2  Copyright (C) 2020 Lowell D. Thomas
3 
4  email: lowell@coasttocoastresearch.com
5  www : http://coasttocoastresearch.com/
6 
7  This file is part of APG Version 7.0.
8 
9  APG Version 7.0 is free software: you can redistribute it and/or modify
10  it under the terms of the GNU Lesser General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13 
14  APG Version 7.0 is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU Lesser General Public License for more details.
18 
19  You should have received a copy of the GNU Lesser General Public License
20  along with APG Version 7.0. If not, see <https://www.gnu.org/licenses/>.
21 * ***************************************************************************/
22 #ifndef MAIN_H_
23 #define MAIN_H_
24 
25 #include <limits.h>
26 #include <stdio.h>
27 #include <setjmp.h>
28 
29 #include "../../library/lib.h"
30 #include "../../utilities/utilities.h"
31 #include "../../json/json.h"
32 #include "../../xml/xml.h"
33 #include "./odata.h"
34 
35 typedef struct {
38 } data_id;
39 
40 typedef struct {
47 } test;
48 
49 typedef struct{
53  const char* cpRuleName;
55 
56 typedef struct{
57  void* vpIt;
59 } user_data;
60 
61 typedef struct{
63  void* vpMem;
65  void* vpVec32;
66  void* vpVecTests;
69  char* cpXmlName;
70  char* cpJsonName;
80  char caBuf[128];
83 
84 
85 #endif /* MAIN_H_ */
test::sName
data_id sName
Definition: main.h:41
data_id::uiLength
aint uiLength
Definition: main.h:37
rule_constraint::uiRuleIndex
aint uiRuleIndex
Definition: main.h:52
xml_context::spMatch
u32_phrase * spMatch
Definition: main.h:73
rule_constraint
Definition: main.h:49
xml_context::spCurrentConstraint
rule_constraint * spCurrentConstraint
Definition: main.h:79
user_data
Definition: main.h:56
user_data::vpIt
void * vpIt
Definition: main.h:57
test::bFail
abool bFail
Definition: main.h:46
test::sRule
data_id sRule
Definition: main.h:43
test
Definition: main.h:40
user_data::bTrace
abool bTrace
Definition: main.h:58
xml_context::spName
u32_phrase * spName
Definition: main.h:75
rule_constraint::uiCount
aint uiCount
Definition: main.h:51
data_id::uiIndex
aint uiIndex
Definition: main.h:36
xml_context::vpVecContraintRules
void * vpVecContraintRules
Definition: main.h:67
xml_context::spCurrentTest
test * spCurrentTest
Definition: main.h:78
xml_context::spRule
u32_phrase * spRule
Definition: main.h:76
xml_context::vpVecConstraints
void * vpVecConstraints
Definition: main.h:68
rule_constraint::cpRuleName
const char * cpRuleName
Definition: main.h:53
xml_context
Definition: main.h:61
aint
uint_fast32_t aint
The APG parser's unsigned integer type.
Definition: apg.h:79
rule_constraint::uiOffset
aint uiOffset
Definition: main.h:50
test::uiFailAt
aint uiFailAt
Definition: main.h:45
xml_context::uiRuleCount
aint uiRuleCount
Definition: main.h:81
xml_context::spConstraint
u32_phrase * spConstraint
Definition: main.h:72
xml_context::spTestCase
u32_phrase * spTestCase
Definition: main.h:71
test::uiRuleId
aint uiRuleId
Definition: main.h:44
exception
A structure to describe the type and location of a caught exception.
Definition: exception.h:47
xml_context::vpVec32
void * vpVec32
Definition: main.h:65
xml_context::vpVecTests
void * vpVecTests
Definition: main.h:66
data_id
Definition: main.h:35
xml_context::spException
exception * spException
Definition: main.h:62
xml_context::cpXmlName
char * cpXmlName
Definition: main.h:69
abool
uint8_t abool
abool is the APG bool type.
Definition: apg.h:140
odata.h
xml_context::vpOdataParser
void * vpOdataParser
Definition: main.h:64
xml_context::vpMem
void * vpMem
Definition: main.h:63
test::sContent
data_id sContent
Definition: main.h:42
u32_phrase
Defines a pointer to an array of 32-bit unsigned integers plus its length. Typically needed by Unicod...
Definition: lib.h:73
xml_context::cpJsonName
char * cpJsonName
Definition: main.h:70
xml_context::spFailAt
u32_phrase * spFailAt
Definition: main.h:77
xml_context::spInput
u32_phrase * spInput
Definition: main.h:74
APG Version 7.0 is licensed under the 2-Clause BSD License,
an Open Source Initiative Approved License.