Version 7.0
Copyright © 2021 Lowell D. Thomas
APG
… an ABNF Parser Generator
examples
ex-odata
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
{
36
aint
uiIndex
;
37
aint
uiLength
;
38
}
data_id
;
39
40
typedef
struct
{
41
data_id
sName
;
42
data_id
sContent
;
43
data_id
sRule
;
44
aint
uiRuleId
;
45
aint
uiFailAt
;
46
abool
bFail
;
47
}
test
;
48
49
typedef
struct
{
50
aint
uiOffset
;
51
aint
uiCount
;
52
aint
uiRuleIndex
;
53
const
char
*
cpRuleName
;
54
}
rule_constraint
;
55
56
typedef
struct
{
57
void
*
vpIt
;
58
abool
bTrace
;
59
}
user_data
;
60
61
typedef
struct
{
62
exception
*
spException
;
63
void
*
vpMem
;
64
void
*
vpOdataParser
;
65
void
*
vpVec32
;
66
void
*
vpVecTests
;
67
void
*
vpVecContraintRules
;
68
void
*
vpVecConstraints
;
69
char
*
cpXmlName
;
70
char
*
cpJsonName
;
71
u32_phrase
*
spTestCase
;
72
u32_phrase
*
spConstraint
;
73
u32_phrase
*
spMatch
;
74
u32_phrase
*
spInput
;
75
u32_phrase
*
spName
;
76
u32_phrase
*
spRule
;
77
u32_phrase
*
spFailAt
;
78
test
*
spCurrentTest
;
79
rule_constraint
*
spCurrentConstraint
;
80
char
caBuf[128];
81
aint
uiRuleCount
;
82
}
xml_context
;
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
Generated on Sun Jun 13 2021 14:32:59 for APG by
1.8.17
APG Version 7.0 is licensed under the
2-Clause BSD License
,
an Open Source Initiative Approved License.