KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SIM_XSPICE_PARSER_GRAMMAR Namespace Reference

Classes

struct  error
 
struct  invertionDigital
 
struct  invertionSeparated
 
struct  nodeDifferential
 
struct  nodeDigital
 
struct  nodeName
 Notes: spaces are allowed everywhere in any number ~ can only be before ? ~~ is not allowed [] can enclose as many '?' with modifiers as we want nested vectors are not allowed [ [?] ? ] () and spaces are allowed and treated as separators we want at least one node '?'. More...
 
struct  nodeNameSeparated
 
struct  nodeSequence
 
struct  nodeSequenceGrammar
 
struct  nodeSingle
 
struct  portInversion
 
struct  portInversionDouble
 
struct  portInversionVector
 
struct  portModifierDifferentialNames
 
struct  portModifierDigital
 
struct  portModifiersDifferential
 
struct  portModifiersSingle
 
struct  portModifiersSingleNames
 
struct  sep
 
struct  spiceUnitSelector
 
struct  spiceUnitSelector< invertionDigital >
 
struct  spiceUnitSelector< nodeName >
 
struct  spiceUnitSelector< portModifierDigital >
 
struct  spiceUnitSelector< portModifiersDifferential >
 
struct  spiceUnitSelector< portModifiersSingle >
 
struct  spiceUnitSelector< squareBracketC >
 
struct  spiceUnitSelector< squareBracketO >
 
struct  squareBracketC
 
struct  squareBracketO
 
struct  validPortTypes
 
struct  vectorExpr
 
struct  vectorPattern
 

Typedefs

template<typename Rule >
using control = must_if< error >::control< Rule >
 

Variables

template<typename >
constexpr const char * errorMessage = nullptr
 
template<>
constexpr auto errorMessage< plus< sor< vectorExpr, nodeSequence > > >
 
template<>
constexpr auto errorMessage< until< squareBracketC, nodeSequence > >
 
template<>
constexpr auto errorMessage< sor< portModifierDifferentialNames, portModifiersSingleNames, istring< 'd'> > >
 
template<>
constexpr auto errorMessage< at< rep_min< 0, validPortTypes > > > = ""
 
template<>
constexpr auto errorMessage< rep_min< 1, nodeNameSeparated > >
 
template<>
constexpr auto errorMessage< not_at< invertionSeparated > > = "'~~' is not supported."
 
template<>
constexpr auto errorMessage< not_at< one<'%'> > >
 
template<>
constexpr auto errorMessage< rep_min< 2, nodeNameSeparated > >
 
template<>
constexpr auto errorMessage< not_at< squareBracketO > > = "'~[' not supported."
 
template<>
constexpr auto errorMessage< not_at< squareBracketC > >
 
template<>
constexpr auto errorMessage< sep > = ""
 

Typedef Documentation

◆ control

template<typename Rule >
using SIM_XSPICE_PARSER_GRAMMAR::control = typedef must_if<error>::control<Rule>

Definition at line 186 of file sim_xspice_parser.h.

Variable Documentation

◆ errorMessage

template<typename >
constexpr const char* SIM_XSPICE_PARSER_GRAMMAR::errorMessage = nullptr
inlineconstexpr

Definition at line 144 of file sim_xspice_parser.h.

◆ errorMessage< at< rep_min< 0, validPortTypes > > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< at< rep_min< 0, validPortTypes > > > = ""
inlineconstexpr

Definition at line 156 of file sim_xspice_parser.h.

◆ errorMessage< not_at< invertionSeparated > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< not_at< invertionSeparated > > = "'~~' is not supported."
inlineconstexpr

Definition at line 161 of file sim_xspice_parser.h.

◆ errorMessage< not_at< one<'%'> > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< not_at< one<'%'> > >
inlineconstexpr
Initial value:
=
"'~ %%d' not supported, consider changing to '%%d ~'."

Definition at line 163 of file sim_xspice_parser.h.

◆ errorMessage< not_at< squareBracketC > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< not_at< squareBracketC > >
inlineconstexpr
Initial value:
=
"Vector is either empty, open or nested."

Definition at line 172 of file sim_xspice_parser.h.

◆ errorMessage< not_at< squareBracketO > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< not_at< squareBracketO > > = "'~[' not supported."
inlineconstexpr

Definition at line 170 of file sim_xspice_parser.h.

◆ errorMessage< plus< sor< vectorExpr, nodeSequence > > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< plus< sor< vectorExpr, nodeSequence > > >
inlineconstexpr
Initial value:
=
"Expected at least one '?', are all modifiers and vectors correct?"

Definition at line 146 of file sim_xspice_parser.h.

◆ errorMessage< rep_min< 1, nodeNameSeparated > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< rep_min< 1, nodeNameSeparated > >
inlineconstexpr
Initial value:
=
"Port type is invalid. '%%' needs to be followed by a valid name and a '?'."

Definition at line 158 of file sim_xspice_parser.h.

◆ errorMessage< rep_min< 2, nodeNameSeparated > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< rep_min< 2, nodeNameSeparated > >
inlineconstexpr
Initial value:
=
"Differential ports need two nodes, and '~' is not supported for those nodes. Also check "
"if port modifier name is valid."

Definition at line 166 of file sim_xspice_parser.h.

◆ errorMessage< sep >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< sep > = ""
inlineconstexpr

Definition at line 175 of file sim_xspice_parser.h.

◆ errorMessage< sor< portModifierDifferentialNames, portModifiersSingleNames, istring< 'd'> > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< sor< portModifierDifferentialNames, portModifiersSingleNames, istring< 'd'> > >
inlineconstexpr
Initial value:
=
"Port type is invalid. '%%' needs to be followed by a valid name."

Definition at line 152 of file sim_xspice_parser.h.

◆ errorMessage< until< squareBracketC, nodeSequence > >

template<>
constexpr auto SIM_XSPICE_PARSER_GRAMMAR::errorMessage< until< squareBracketC, nodeSequence > >
inlineconstexpr
Initial value:
=
"Vectors [ must be closed ] and not nested."

Definition at line 149 of file sim_xspice_parser.h.