14#ifndef SST_CORE_MODEL_JSON_JSONSTATES_H
15#define SST_CORE_MODEL_JSON_JSONSTATES_H
17namespace SST::Core::JSONParser {
28 X(Entry, Invalid, Root, Invalid) \
30 X(Root, Entry, Invalid, Invalid) \
35 X(ProgramOptions_key, Root, ProgramOptions, Invalid) \
37 X(ProgramOptions, Root, Invalid, Invalid) \
42 X(SharedParams_key, Root, SharedParams, Invalid) \
44 X(SharedParams, Root, SharedParams_object_key, Invalid) \
46 X(SharedParams_object_key, SharedParams, SharedParams_object, Invalid) \
48 X(SharedParams_object, SharedParams, Invalid, Invalid) \
53 X(StatOptions_key, Root, StatOptions, Invalid) \
55 X(StatOptions, Root, Invalid, StatOptions_Params_key) \
57 X(StatOptions_Params_key, StatOptions, StatOptions_Params, Invalid) \
59 X(StatOptions_Params, StatOptions, Invalid, Invalid) \
64 X(StatGroupsArray_key, Root, StatGroupsArray, Invalid) \
66 X(StatGroupsArray, Root, StatGroup, Invalid) \
68 X(StatGroup, StatGroupsArray, Invalid, Invalid) \
70 X(StatGroup_Output_key, StatGroup, StatGroup_Output, Invalid) \
72 X(StatGroup_Output, StatGroup, Invalid, StatGroup_Output_Params_key) \
74 X(StatGroup_Output_Params_key, StatGroup_Output, StatGroup_Output_Params, Invalid) \
76 X(StatGroup_Output_Params, StatGroup_Output, Invalid, Invalid) \
78 X(StatGroup_StatArray_key, StatGroup, StatGroup_StatArray, Invalid) \
80 X(StatGroup_StatArray, StatGroup, StatGroup_Stat, Invalid) \
82 X(StatGroup_Stat, StatGroup_StatArray, Invalid, StatGroup_Stat_Params_key) \
84 X(StatGroup_Stat_Params_key, StatGroup_Stat, StatGroup_Stat_Params, Invalid) \
86 X(StatGroup_Stat_Params, StatGroup_Stat, Invalid, Invalid) \
88 X(StatGroup_CompArray_key, StatGroup, StatGroup_CompArray, Invalid) \
90 X(StatGroup_CompArray, StatGroup, Invalid, Invalid) \
95 X(CompArray_key, Root, CompArray, Invalid) \
97 X(CompArray, Root, Comp, Invalid) \
99 X(Comp, CompArray, Invalid, Comp_Params_key) \
101 X(Comp_Params_key, Comp, Comp_Params, Invalid) \
103 X(Comp_Params, Comp, Invalid, Invalid) \
105 X(Comp_StatOptions_key, Comp, Comp_StatOptions, Invalid) \
107 X(Comp_StatOptions, Comp, Invalid, Comp_StatOptions_Params_key) \
109 X(Comp_StatOptions_Params_key, Comp_StatOptions, Comp_StatOptions_Params, Invalid) \
111 X(Comp_StatOptions_Params, Comp_StatOptions, Invalid, Invalid) \
113 X(Comp_StatArray_key, Comp, Comp_StatArray, Invalid) \
115 X(Comp_StatArray, Comp, Comp_Stat, Invalid) \
117 X(Comp_Stat, Comp_StatArray, Invalid, Comp_Stat_Params_key) \
119 X(Comp_Stat_Params_key, Comp_Stat, Comp_Stat_Params, Invalid) \
121 X(Comp_Stat_Params, Comp_Stat, Invalid, Invalid) \
123 X(Comp_SharedParamsArray_key, Comp, Comp_SharedParamsArray, Invalid) \
125 X(Comp_SharedParamsArray, Comp, Invalid, Invalid) \
127 X(Comp_Partition_key, Comp, Comp_Partition, Invalid) \
129 X(Comp_Partition, Comp, Invalid, Invalid) \
134 X(PortModArray_key, Invalid, PortModArray, Invalid) \
136 X(PortModArray, Invalid, PortMod, Invalid) \
138 X(PortMod, PortModArray, Invalid, PortMod_Params) \
140 X(PortMod_Params_key, PortMod, PortMod_Params, Invalid) \
142 X(PortMod_Params, PortMod, Invalid, Invalid) \
144 X(PortMod_SharedParamsArray_key, PortMod, PortMod_SharedParamsArray, Invalid) \
146 X(PortMod_SharedParamsArray, PortMod, Invalid, Invalid) \
148 X(PortMod_StatArray_key, PortMod, PortMod_StatArray, Invalid) \
150 X(PortMod_StatArray, PortMod, PortMod_Stat, Invalid) \
152 X(PortMod_Stat, PortMod_StatArray, Invalid, PortMod_Stat_Params_key) \
154 X(PortMod_Stat_Params_key, PortMod_Stat, PortMod_Stat_Params, Invalid) \
156 X(PortMod_Stat_Params, PortMod_Stat, Invalid, Invalid) \
158 X(PortMod_StatOptions_key, PortMod, PortMod_StatOptions, Invalid) \
160 X(PortMod_StatOptions, PortMod, Invalid, PortMod_StatOptions_Params_key) \
162 X(PortMod_StatOptions_Params_key, PortMod_StatOptions, PortMod_StatOptions_Params, Invalid) \
164 X(PortMod_StatOptions_Params, PortMod_StatOptions, Invalid, Invalid) \
170 X(SubCompArray_key, Invalid, SubCompArray, Invalid) \
172 X(SubCompArray, Invalid, SubComp, Invalid) \
174 X(SubComp, SubCompArray, Invalid, SubComp_Params_key) \
176 X(SubComp_Params_key, SubComp, SubComp_Params, Invalid) \
178 X(SubComp_Params, SubComp, Invalid, Invalid) \
180 X(SubComp_StatOptions_key, SubComp, SubComp_StatOptions, Invalid) \
182 X(SubComp_StatOptions, SubComp, Invalid, SubComp_StatOptions_Params_key) \
184 X(SubComp_StatOptions_Params_key, SubComp_StatOptions, SubComp_StatOptions_Params, Invalid) \
186 X(SubComp_StatOptions_Params, SubComp_StatOptions, Invalid, Invalid) \
188 X(SubComp_StatArray_key, SubComp, SubComp_StatArray, Invalid) \
190 X(SubComp_StatArray, SubComp, SubComp_Stat, Invalid) \
192 X(SubComp_Stat, SubComp_StatArray, Invalid, SubComp_Stat_Params_key) \
194 X(SubComp_Stat_Params_key, SubComp_Stat, SubComp_Stat_Params, Invalid) \
196 X(SubComp_Stat_Params, SubComp_Stat, Invalid, Invalid) \
198 X(SubComp_SharedParamsArray_key, SubComp, SubComp_SharedParamsArray, Invalid) \
200 X(SubComp_SharedParamsArray, SubComp, Invalid, Invalid) \
205 X(LinkArray_key, Root, LinkArray, Invalid) \
207 X(LinkArray, Root, Link, Invalid) \
209 X(Link, LinkArray, Invalid, Invalid) \
211 X(Link_Left_key, Link, Link_Left, Invalid) \
213 X(Link_Left, Link, Invalid, Invalid) \
215 X(Link_Right_key, Link, Link_Right, Invalid) \
217 X(Link_Right, Link, Invalid, Invalid) \
221 X(Invalid, Invalid, Invalid, Invalid)
225#define X(a, b, c, d) a,
231static const State ParentState[] = {
232#define X(a, b, c, d) State::b,
238static const State NextStateObjOrArray[] = {
239#define X(a, b, c, d) State::c,
245static const State NextStateParams[] = {
246#define X(a, b, c, d) State::d,
252static const std::string StateString[] = {
253#define X(a, b, c, d) #a,