15 #ifndef vtkMotionFXCFGGrammar_h 
   16 #define vtkMotionFXCFGGrammar_h 
   22 #include <vtk_pegtl.h> 
   26 #include VTK_PEGTL(pegtl/contrib/tracer.hpp) 
   31 using namespace tao::pegtl;
 
   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>