12#ifndef BELFEM_CL_NETLISTPARSER_HPP
13#define BELFEM_CL_NETLISTPARSER_HPP
152 bool mHasEnd =
false;
168 const string & aSource =
"<memory>" );
242 strip_eol_comment(
const string & aLine )
const;
246 classify_card(
const string & aCard,
251 const string & aCard,
256 const string & aCard,
260 parse_directive(
const string & aPayload,
266 tokenize(
const string & aCard,
273 store_kwarg(
const string & aToken,
274 const string & aCard,
280 collect_node(
const string & aName );
const string & title() const
Definition cl_NetlistParser.hpp:175
const Cell< NetlistModel > & models() const
Definition cl_NetlistParser.hpp:196
const Cell< NetlistDirective > & directives() const
Definition cl_NetlistParser.hpp:208
const string & source() const
the path or "<memory>" label errors are reported under
Definition cl_NetlistParser.hpp:184
const Cell< string > & node_names() const
distinct node names in order of first appearance – the factory's packing order ( ground moves to the ...
Definition cl_NetlistParser.hpp:219
const Cell< NetlistElement > & elements() const
Definition cl_NetlistParser.hpp:190
bool has_end() const
true if the deck carried an explicit .end
Definition cl_NetlistParser.hpp:228
const Cell< NetlistControl > & controls() const
Definition cl_NetlistParser.hpp:202
NetlistParser(const string &aPath)
lex a netlist file from disk
Definition cl_NetlistParser.cpp:100
Definition cl_Capacitor.cpp:18
USER GUIDES:
Definition cl_Capacitor.cpp:16
uint32_t index_t
Definition typedefs.hpp:52
one supported control card ( only ".tran" today; ".end" sets a flag instead of a record )
Definition cl_NetlistParser.hpp:78
string mKeyword
Definition cl_NetlistParser.hpp:79
index_t mLine
Definition cl_NetlistParser.hpp:81
Cell< string > mArgs
Definition cl_NetlistParser.hpp:80
string mCard
Definition cl_NetlistParser.hpp:82
one "* belfem:" extension directive ( plan §5, Option A ): superconductor, timed switch,...
Definition cl_NetlistParser.hpp:92
Map< string, string > mKwargs
Definition cl_NetlistParser.hpp:95
string mKind
Definition cl_NetlistParser.hpp:93
index_t mLine
Definition cl_NetlistParser.hpp:96
string mCard
Definition cl_NetlistParser.hpp:97
Cell< string > mArgs
Definition cl_NetlistParser.hpp:94
one element card ( R/C/L/V/I/D ), lexed but not interpreted: all payloads stay strings; numeric conve...
Definition cl_NetlistParser.hpp:31
Cell< string > mValues
Definition cl_NetlistParser.hpp:45
char mType
element letter, case-folded: 'r' 'c' 'l' 'v' 'i' 'd'
Definition cl_NetlistParser.hpp:33
index_t mLine
1-based physical line of the card's first line
Definition cl_NetlistParser.hpp:51
Cell< string > mNodes
Definition cl_NetlistParser.hpp:41
string mName
Definition cl_NetlistParser.hpp:37
string mCard
the joined logical card as written, for error reporting
Definition cl_NetlistParser.hpp:54
Map< string, string > mKwargs
key=value tokens ( "r" -> "5k", "ic" -> "0" ), case-folded
Definition cl_NetlistParser.hpp:48
one .model card ( ".model dmod d( is=1e-14 )" )
Definition cl_NetlistParser.hpp:63
string mType
Definition cl_NetlistParser.hpp:65
string mCard
Definition cl_NetlistParser.hpp:68
Map< string, string > mKwargs
Definition cl_NetlistParser.hpp:66
index_t mLine
Definition cl_NetlistParser.hpp:67
string mName
Definition cl_NetlistParser.hpp:64