36    struct garbage : plus<one<' ', '\t', '=', '(', ')', ','>> {};
 
   38    struct trailers : plus<one<' ', '\t', '\v', '\f'>> {};
 
   66                                              seq<star<not_at<eolf>,
 
   67                                                       not_at<string<'\\', '\\'>,
 
 
   83                              sor<backslashContinuation,
 
   84                                  commentBackslashContinuation,
 
 
   90    struct sep : sor<plus<continuation>,
 
 
   93    struct modelName : plus<not_at<garbageOrEolf>, any> {};
 
   96                              seq<TAO_PEGTL_ISTRING( "vdmos" ),
 
   98                                  sor<TAO_PEGTL_ISTRING( "nchan" ),
 
   99                                      TAO_PEGTL_ISTRING( "pchan" )>>,
 
  100                              plus<not_at<garbageOrEolf>, any>> {};
 
 
  112                            opt<seq<star<sor<tao::pegtl::digit,
 
  115                                    opt<one<'+', '-'>>>>> {};
 
 
  119                            not_at<backslashContinuation>,
 
  120                            not_one<' ', '\t', '=', '(', ')', ',', ';'>>> {};
 
 
  138                               list<token, cplSep>> {};
 
 
  145                             if_must<seq<TAO_PEGTL_ISTRING( ".model" ),
 
  149                                         TAO_PEGTL_ISTRING( "ako:" )>,
 
 
  160                             if_must<seq<TAO_PEGTL_ISTRING( ".model" ),
 
  164                                         TAO_PEGTL_ISTRING( "CPL" )>,
 
 
  171                          if_must<TAO_PEGTL_ISTRING( ".model" ),
 
 
  186                                         opt<plusContinuation>,
 
  188                                         opt<plusContinuation>,
 
 
  196                                          TAO_PEGTL_ISTRING( ".param" )>> {};
 
 
  200                                 dotSubcktParamValuePairs> {};
 
 
  204                                  plus<not_at<space>, any>> {};
 
 
  209                              TAO_PEGTL_ISTRING( ".ends" ),
 
 
  214                           if_must<TAO_PEGTL_ISTRING( ".subckt" ),
 
  218                                       dotSubcktPinSequence>,
 
 
  236                            TAO_PEGTL_ISTRING( ".control" ),
 
  237                            until<TAO_PEGTL_ISTRING( ".endc" )>,
 
 
  244                          TAO_PEGTL_ISTRING( ".title" ),
 
 
  255                            TAO_PEGTL_ISTRING( ".inc" ),
 
  256                            star<not_at<garbageOrEolf>, any>,
 
  259                                    dotIncludePathWithoutQuotes,
 
  262                                    dotIncludePathWithoutApostrophes,
 
 
  304    template <
typename> 
inline constexpr const char* 
errorMessage = 
nullptr;
 
  308            "expected token separator (one or more whitespace, parenthesis, '=', ',', or line continuation)";
 
  312            "expected model name";
 
  314            "expected model type";
 
  326            "expected (possibly empty) sequence of Spice lines followed by an .ends line";
 
  328            "expected Spice directive, item, subcircuit definitions, or empty or commented-out line";
 
  330            "expected zero or more Spice directives, items, subcircuit definitions, or empty or commented-out lines";
 
  339    template <
typename Rule> 
using control = must_if<error>::control<Rule>;