15#ifndef vtkMotionFXCFGGrammar_h
16#define vtkMotionFXCFGGrammar_h
26#include VTK_PEGTL(pegtl/contrib/tracer.hpp)
31using namespace tao::pegtl;
37struct Sign : sor<one<'+'>, one<'-'>>
40struct Exponent : seq<sor<one<'e'>, one<'E'>>, opt<Sign>, plus<digit>>
45 sor<seq<plus<digit>, one<'.'>, star<digit>>, seq<one<'.'>, plus<digit>>, plus<digit>>,
52struct Delimiter : sor<seq<star<space>, one<','>, star<space>>, plus<space>>
60namespace LegacyPositionFile
62using namespace Common;
66 : seq<star<space>, Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, Delimiter,
67 Number, Delimiter, Number, Delimiter, Number, star<space>>
78namespace OrientationsPositionFile
80using namespace Common;
84 : seq<star<space>, Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, Delimiter,
85 Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, star<space>>
96namespace UniversalTransformRow
98using namespace Common;
106 : seq<star<space>, Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, Delimiter,
107 Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, Delimiter,
108 Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, Delimiter, Number,
122using namespace Common;
132struct WS : star<WS_Required>
136struct Value : plus<not_one<';', '}', '\r', '\n'>>
143struct Statement : seq<ParameterName, WS_Required, Value>
146struct StatementOther : seq<ParameterName, WS_Required, plus<not_one<'}', '{', ';'>>>
150struct Motion : seq<TAO_PEGTL_STRING("motion"), WS, one<'{'>, WS, list<Statement, WS>, WS, one<'}'>>
153struct Motions : seq<TAO_PEGTL_STRING("motions"), WS, one<'{'>, WS, list<Motion, WS>, WS, one<'}'>>
157struct OtherNonNested : seq<identifier, WS, one<'{'>, WS, list<StatementOther, WS>, WS, one<'}'>>
162 : seq<identifier, WS, one<'{'>, WS, list<sor<OtherNonNested, StatementOther>, WS>, WS, one<'}'>>
166struct Lines : sor<Comment, space, Motions, OtherNonNested, OtherNested>