15 #ifndef vtkMotionFXCFGGrammar_h 16 #define vtkMotionFXCFGGrammar_h 22 #include <vtk_pegtl.h> 26 #include VTK_PEGTL(pegtl/contrib/tracer.hpp) 37 struct Sign : sor<one<'+'>, one<'-'> >
40 struct 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> >,
52 struct Delimiter : sor<seq<star<space>, one<','>, star<space> >, plus<space> >
60 namespace LegacyPositionFile
62 using namespace Common;
66 : seq<star<space>, Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, Delimiter,
67 Number, Delimiter, Number, Delimiter, Number, star<space> >
78 namespace OrientationsPositionFile
80 using namespace Common;
84 : seq<star<space>, Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, Delimiter,
85 Number, Delimiter, Number, Delimiter, Number, Delimiter, Number, star<space> >
98 using namespace Common;
101 struct Comment : seq<string<';'>, until<eolf> >
108 struct WS : star<WS_Required>
112 struct Value : plus<not_one<';', '}', '\r', '\n'> >
119 struct Statement : seq<ParameterName, WS_Required, Value>
122 struct StatementOther : seq<ParameterName, WS_Required, plus<not_one<'}', '{', ';'> > >
127 : seq<TAO_PEGTL_STRING("motion"), WS, one<'{'>, WS, list<Statement, WS>, WS, one<'}'> >
130 struct Motions : seq<TAO_PEGTL_STRING("motions"), WS, one<'{'>, WS, list<Motion, WS>, WS, one<'}'> >
134 struct OtherNonNested : seq<identifier, WS, one<'{'>, WS, list<StatementOther, WS>, WS, one<'}'> >
139 : seq<identifier, WS, one<'{'>, WS, list<sor<OtherNonNested, StatementOther>, WS>, WS, one<'}'> >
143 struct Lines : sor<Comment, space, Motions, OtherNonNested, OtherNested>