70#define E_OPTIONAL_SPACE "[[:blank:]]*"
74#define E_TRAILING_WHITESPACE "[[:blank:]]*$"
76#define E_LEADING_WHITESPACE "^[[:blank:]]*"
78#define E_DELIMITER_SPACE "[[:blank:]]+"
80#define E_DELIMITER_CLASSIC "[[:blank:],:|]+"
82#define E_NODE_ID "[[:alnum:]_-]+"
89#define E_CAPTURE(_REGEXP_) \
89#define E_CAPTURE(_REGEXP_) \ …
93#define E_CAPTURE_OPTIONAL(_REGEXP_) \
93#define E_CAPTURE_OPTIONAL(_REGEXP_) \ …
97#define E_KEYWORD_BLOCK(_NAME_) \
98 "(^" _NAME_ "[[:blank:]]*$)?"
97#define E_KEYWORD_BLOCK(_NAME_) \ …
101#define E_KEYWORD_INLINE(_NAME_) \
102 "(^" _NAME_ E_DELIMITER_CLASSIC ".*$)?"
101#define E_KEYWORD_INLINE(_NAME_) \ …
105#define E_KEYWORD_INLINE_UNSEPARATED(_NAME_) \
105#define E_KEYWORD_INLINE_UNSEPARATED(_NAME_) \ …
109#define DEFINE_REGEX(_NAME_,_REGEXP_) \
110 const std::regex _NAME_ = std::regex( _REGEXP_, std::regex::ECMAScript);
109#define DEFINE_REGEX(_NAME_,_REGEXP_) \ …
112#define DEFINE_REGEX_IGNORECASE(_NAME_,_REGEXP_) \
113 const std::regex _NAME_ = std::regex( _REGEXP_, std::regex::ECMAScript | std::regex::icase);
112#define DEFINE_REGEX_IGNORECASE(_NAME_,_REGEXP_) \ …
120#define IDENTIFY_KEYWORD_REGEX_STRING \
121 E_KEYWORD_INLINE("add_animation") \
122 E_KEYWORD_BLOCK("airbrakes") \
123 E_KEYWORD_BLOCK("animators") \
124 E_KEYWORD_INLINE("AntiLockBrakes") \
125 E_KEYWORD_BLOCK("assetpacks") \
126 E_KEYWORD_INLINE("author") \
127 E_KEYWORD_BLOCK("axles") \
128 E_KEYWORD_BLOCK("backmesh") \
129 E_KEYWORD_BLOCK("beams") \
130 E_KEYWORD_BLOCK("brakes") \
131 E_KEYWORD_BLOCK("cab") \
132 E_KEYWORD_BLOCK("camerarail") \
133 E_KEYWORD_BLOCK("cameras") \
134 E_KEYWORD_BLOCK("cinecam") \
135 E_KEYWORD_BLOCK("collisionboxes") \
136 E_KEYWORD_BLOCK("commands") \
137 E_KEYWORD_BLOCK("commands2") \
138 E_KEYWORD_BLOCK("comment") \
139 E_KEYWORD_BLOCK("contacters") \
140 E_KEYWORD_INLINE("cruisecontrol") \
141 E_KEYWORD_BLOCK("customdashboardinputs") \
142 E_KEYWORD_INLINE("default_skin") \
143 E_KEYWORD_BLOCK("description") \
144 E_KEYWORD_INLINE("detacher_group") \
145 E_KEYWORD_BLOCK("disabledefaultsounds") \
146 E_KEYWORD_BLOCK("enable_advanced_deformation") \
147 E_KEYWORD_BLOCK("end") \
148 E_KEYWORD_BLOCK("end_comment") \
149 E_KEYWORD_BLOCK("end_description") \
150 E_KEYWORD_BLOCK("end_section") \
151 E_KEYWORD_BLOCK("engine") \
152 E_KEYWORD_BLOCK("engoption") \
153 E_KEYWORD_BLOCK("engturbo") \
154 E_KEYWORD_BLOCK("envmap") \
155 E_KEYWORD_BLOCK("exhausts") \
156 E_KEYWORD_INLINE("extcamera") \
157 E_KEYWORD_INLINE("fileformatversion") \
158 E_KEYWORD_INLINE("fileinfo") \
159 E_KEYWORD_BLOCK("fixes") \
160 E_KEYWORD_BLOCK("flares") \
161 E_KEYWORD_BLOCK("flares2") \
162 E_KEYWORD_BLOCK("flares3") \
163 E_KEYWORD_BLOCK("flaregroups_no_import") \
164 E_KEYWORD_BLOCK("flexbodies") \
165 E_KEYWORD_INLINE("flexbody_camera_mode") \
166 E_KEYWORD_BLOCK("flexbodywheels") \
167 E_KEYWORD_INLINE_UNSEPARATED("forset") \
168 E_KEYWORD_INLINE("forvert") \
169 E_KEYWORD_BLOCK("forwardcommands") \
170 E_KEYWORD_BLOCK("fusedrag") \
171 E_KEYWORD_BLOCK("globals") \
172 E_KEYWORD_INLINE("guid") \
173 E_KEYWORD_BLOCK("guisettings") \
174 E_KEYWORD_BLOCK("help") \
175 E_KEYWORD_BLOCK("hideInChooser") \
176 E_KEYWORD_BLOCK("hookgroup") \
177 E_KEYWORD_BLOCK("hooks") \
178 E_KEYWORD_BLOCK("hydros") \
179 E_KEYWORD_BLOCK("importcommands") \
180 E_KEYWORD_BLOCK("interaxles") \
181 E_KEYWORD_BLOCK("lockgroups") \
182 E_KEYWORD_BLOCK("lockgroup_default_nolock") \
183 E_KEYWORD_BLOCK("managedmaterials") \
184 E_KEYWORD_BLOCK("materialflarebindings") \
185 E_KEYWORD_BLOCK("meshwheels") \
186 E_KEYWORD_BLOCK("meshwheels2") \
187 E_KEYWORD_BLOCK("minimass") \
188 E_KEYWORD_BLOCK("nodecollision") \
189 E_KEYWORD_BLOCK("nodes") \
190 E_KEYWORD_BLOCK("nodes2") \
191 E_KEYWORD_BLOCK("particles") \
192 E_KEYWORD_BLOCK("pistonprops") \
193 E_KEYWORD_INLINE("prop_camera_mode") \
194 E_KEYWORD_BLOCK("props") \
195 E_KEYWORD_BLOCK("railgroups") \
196 E_KEYWORD_BLOCK("rescuer") \
197 E_KEYWORD_BLOCK("rigidifiers") \
198 E_KEYWORD_BLOCK("rollon") \
199 E_KEYWORD_BLOCK("ropables") \
200 E_KEYWORD_BLOCK("ropes") \
201 E_KEYWORD_BLOCK("rotators") \
202 E_KEYWORD_BLOCK("rotators2") \
203 E_KEYWORD_BLOCK("screwprops") \
204 E_KEYWORD_BLOCK("scripts") \
205 E_KEYWORD_INLINE("section") \
206 E_KEYWORD_INLINE("sectionconfig") \
207 E_KEYWORD_INLINE("set_beam_defaults") \
208 E_KEYWORD_INLINE("set_beam_defaults_scale") \
209 E_KEYWORD_INLINE("set_collision_range") \
210 E_KEYWORD_INLINE("set_default_minimass") \
211 E_KEYWORD_INLINE("set_inertia_defaults") \
212 E_KEYWORD_INLINE("set_managedmaterials_options") \
213 E_KEYWORD_INLINE("set_node_defaults") \
214 E_KEYWORD_BLOCK("set_shadows") \
215 E_KEYWORD_INLINE("set_skeleton_settings") \
216 E_KEYWORD_BLOCK("shocks") \
217 E_KEYWORD_BLOCK("shocks2") \
218 E_KEYWORD_BLOCK("shocks3") \
219 E_KEYWORD_BLOCK("slidenode_connect_instantly") \
220 E_KEYWORD_BLOCK("slidenodes") \
221 E_KEYWORD_INLINE("SlopeBrake") \
222 E_KEYWORD_BLOCK("soundsources") \
223 E_KEYWORD_BLOCK("soundsources2") \
224 E_KEYWORD_INLINE("speedlimiter") \
225 E_KEYWORD_BLOCK("submesh") \
226 E_KEYWORD_INLINE("submesh_groundmodel") \
227 E_KEYWORD_BLOCK("texcoords") \
228 E_KEYWORD_BLOCK("ties") \
229 E_KEYWORD_BLOCK("torquecurve") \
230 E_KEYWORD_INLINE("TractionControl") \
231 E_KEYWORD_BLOCK("transfercase") \
232 E_KEYWORD_BLOCK("triggers") \
233 E_KEYWORD_BLOCK("turbojets") \
234 E_KEYWORD_BLOCK("turboprops") \
235 E_KEYWORD_BLOCK("turboprops2") \
236 E_KEYWORD_BLOCK("videocamera") \
237 E_KEYWORD_BLOCK("wheeldetachers") \
238 E_KEYWORD_BLOCK("wheels") \
239 E_KEYWORD_BLOCK("wheels2") \
240 E_KEYWORD_BLOCK("wings")
120#define IDENTIFY_KEYWORD_REGEX_STRING \ …
244#define E_2xCAPTURE_TRAILING_COMMENT \
246 E_CAPTURE_OPTIONAL( \
244#define E_2xCAPTURE_TRAILING_COMMENT \ …
262 E_CAPTURE(
"throttle|rpm|aerotorq|aeropit|aerostatus" )
297#undef E_TRAILING_WHITESPACE
298#undef E_LEADING_WHITESPACE
299#undef E_DELIMITER_SPACE
300#undef E_OPTIONAL_SPACE
304#undef E_CAPTURE_OPTIONAL
306#undef E_2xCAPTURE_TRAILING_COMMENT
#define IDENTIFY_KEYWORD_REGEX_STRING
#define E_CAPTURE_OPTIONAL(_REGEXP_)
Encloses expression in 'capture' marks with ? (zero or one time) mark.
#define E_2xCAPTURE_TRAILING_COMMENT
#define E_LEADING_WHITESPACE
#define E_CAPTURE(_REGEXP_)
Encloses expression in 'capture' marks.
#define E_DELIMITER_SPACE
#define E_TRAILING_WHITESPACE
#define DEFINE_REGEX(_NAME_, _REGEXP_)
Actual regex definition macro.
#define DEFINE_REGEX_IGNORECASE(_NAME_, _REGEXP_)