5 #ifndef JODA_LITERALS_H
6 #define JODA_LITERALS_H
8 #include "../../../../../../../extern/PEGTL/include/tao/pegtl.hpp"
9 #include "../FunctionWrapper.h"
19 tao::pegtl::sor<tao::pegtl::one<'0'>, tao::pegtl::one<'1'>>> {};
22 : tao::pegtl::star<tao::pegtl::sor<unescapedToken, escapedToken>> {};
24 : tao::pegtl::seq<tao::pegtl::one<'\''>,
25 tao::pegtl::star<tao::pegtl::seq<tao::pegtl::one<'/'>,
27 tao::pegtl::one<'\''>> {};
36 : tao::pegtl::seq<tao::pegtl::opt<tao::pegtl::one<'+', '-'>>,
37 tao::pegtl::plus<tao::pegtl::digit>, tao::pegtl::one<'.'>,
38 tao::pegtl::plus<tao::pegtl::digit>> {};
40 struct intNumber : tao::pegtl::seq<tao::pegtl::opt<tao::pegtl::one<'+', '-'>>,
41 tao::pegtl::plus<tao::pegtl::digit>> {};
43 struct numberAtom : tao::pegtl::sor<floatNumber, intNumber> {};
49 : tao::pegtl::seq<tao::pegtl::utf8::one<'\\'>,
50 tao::pegtl::sor<tao::pegtl::utf8::one<'"'>,
51 tao::pegtl::utf8::one<'\\'>>> {};
56 tao::pegtl::star<tao::pegtl::sor<escapedChar, unescapedChar>>,
57 tao::pegtl::one<'"'>> {};
64 struct boolAtom : tao::pegtl::sor<TAOCPP_PEGTL_KEYWORD("true"),
65 TAOCPP_PEGTL_KEYWORD("false")> {};
73 struct nullAtom : tao::pegtl::sor<TAOCPP_PEGTL_KEYWORD("null"),
74 TAOCPP_PEGTL_KEYWORD("NULL")> {};
84 struct gt : tao::pegtl::seq<tao::pegtl::one<'>'>,
85 tao::pegtl::opt<tao::pegtl::one<'='>>> {};
86 struct lt : tao::pegtl::seq<tao::pegtl::one<'<'>,
87 tao::pegtl::opt<tao::pegtl::one<'='>>> {};
89 tao::pegtl::sor<tao::pegtl::one<'!'>, tao::pegtl::one<'='>>,
90 tao::pegtl::one<'='>> {};
91 struct compare : tao::pegtl::sor<gt, lt, equal> {};
93 : tao::pegtl::sor<numberAtom, stringAtom, boolAtom, nullAtom> {};
99 : tao::pegtl::sor<numberAtom, stringAtom, boolAtom, nullAtom, pointer> {};
102 : tao::pegtl::sor<numberAtom, stringAtom, pointer, boolAtom, nullAtom,
103 functionstateaction> {};
106 functionKWs, tao::pegtl::must<funcBracketOpen>,
107 tao::pegtl::opt<tao::pegtl::list<funcParamRule, tao::pegtl::one<','>,
109 tao::pegtl::must<funcBracketClose>> {};
111 struct ptrFunc : tao::pegtl::sor<varExp, realFunc> {};
113 : tao::pegtl::state<functionState,
114 tao::pegtl::action<functionAction, ptrFunc>> {};
119 tao::pegtl::pad<functionstateaction, tao::pegtl::space>>,
120 tao::pegtl::opt<tao::pegtl::pad<compare, tao::pegtl::space>,
121 tao::pegtl::pad<tao::pegtl::must<functionstateaction>,
122 tao::pegtl::space>>> {};
126 struct bracketStart : tao::pegtl::pad<tao::pegtl::one<'('>, tao::pegtl::space> {
128 struct bracketEnd : tao::pegtl::pad<tao::pegtl::one<')'>, tao::pegtl::space> {};
130 : tao::pegtl::sor<tao::pegtl::seq<bracketStart,
131 tao::pegtl::pad<orExp, tao::pegtl::space>,
135 : tao::pegtl::seq<tao::pegtl::pad_opt<negate, tao::pegtl::space>, atomExp> {
137 struct andStart : tao::pegtl::star<tao::pegtl::space> {};
138 struct andSymbol : tao::pegtl::seq<tao::pegtl::one<'&'>, tao::pegtl::one<'&'>> {
141 : tao::pegtl::seq<andStart, tao::pegtl::list_must<unaryExp, andSymbol,
142 tao::pegtl::space>> {};
143 struct orSymbol : tao::pegtl::seq<tao::pegtl::one<'|'>, tao::pegtl::one<'|'>> {
145 struct orStart : tao::pegtl::star<tao::pegtl::space> {};
148 orStart, tao::pegtl::list_must<andExp, orSymbol, tao::pegtl::space>> {
150 struct expStart : tao::pegtl::star<tao::pegtl::space> {};
151 struct qexp : tao::pegtl::seq<expStart, orExp> {};
158 struct groupIdent : tao::pegtl::sor<groupPointer, groupFunction> {};
Definition: Literals.h:142
Definition: Literals.h:137
Definition: Literals.h:138
Definition: Literals.h:133
Definition: Literals.h:110
Definition: Literals.h:94
Definition: Literals.h:65
Definition: Literals.h:128
Definition: Literals.h:126
Definition: Literals.h:122
Definition: Literals.h:91
Definition: Literals.h:90
Definition: Literals.h:51
Definition: Literals.h:19
Definition: Literals.h:150
Definition: Literals.h:38
Definition: Literals.h:82
Definition: Literals.h:81
Definition: Literals.h:103
Definition: Literals.h:30
Definition: Literals.h:114
Definition: Literals.h:157
Definition: Literals.h:158
Definition: Literals.h:156
Definition: Literals.h:85
Definition: Literals.h:41
Definition: Literals.h:93
Definition: Literals.h:87
Definition: Literals.h:125
Definition: Literals.h:74
Definition: Literals.h:43
Definition: Literals.h:148
Definition: Literals.h:145
Definition: Literals.h:143
Definition: Literals.h:27
Definition: Literals.h:111
Definition: Literals.h:151
Definition: Literals.h:109
Definition: Literals.h:22
Definition: Literals.h:57
Definition: Literals.h:135
Definition: Literals.h:52
Definition: Literals.h:20
Definition: Literals.h:99