81 if(
outf_ ==
nullptr )
102 explicit Context(
const std::string & p_inf_name );
224 void print(
const std::string & p_line ) {
235 void print( std::string_view p_line ) {
The context of execution.
Definition context.h:46
size_t getLoadlevel() const
Getter for load level.
Definition context.h:138
SOK os_
The operand stack.
Definition context.h:49
uint32_t getSeed() const
Getter for seed_.
Definition context.h:170
void stopInterpreterLoop()
Sets run_ to false.
Definition context.h:154
SOK ds_
The dictionary stack is restricted to dictionary entries.
Definition context.h:51
void decArraynesting()
Decrements array nesting.
Definition context.h:214
void status_statistics()
Dumps a snapshot of the Context state to the output file.
Definition context.cpp:116
uint32_t seed_
Context Property.
Definition context.h:65
virtual ~Context()
Dtor.
Definition context.cpp:81
void stack_statistics()
Dumps a snapshot of stacks to the output file.
Definition context.cpp:126
bool invariant() const noexcept override
Checks class invariants.
Definition context.h:74
SOK & opst()
Access to the operand stack.
Definition context.h:120
SOF * inf_
Context Property.
Definition context.h:61
void property_statistics()
Dumps a snapshot of the Context properties to the output file.
Definition context.cpp:105
bool readLeonLine(std::string &p_line)
Wrapper around SOF::readLeonLine().
Definition context.h:269
size_t getMaxloadlevel() const
Getter for maximum load level.
Definition context.h:146
auto getAngularUnit() const
Getter for angularunit_.
Definition context.h:162
void incProclevel()
Increments the procedure level.
Definition context.h:179
bool run_
Control variable for the interpreter loop.
Definition context.h:48
int loadlevel_
The load level is incemented for ever load_exec() call.
Definition context.h:56
void incArraynesting()
Increments array nesting.
Definition context.h:207
void setAngularUnit(AngularUnit p_unit)
Setter for angularunit_.
Definition context.h:166
size_t getArraynesting() const
Getter for nesting level.
Definition context.h:142
AngularUnit angularunit_
Context Property.
Definition context.h:63
void decLoadlevel()
Decrements load level.
Definition context.h:200
void print(const std::string &p_line)
Wrapper around SOF::writestring().
Definition context.h:224
void print(const char *p_line)
Wrapper around SOF::writestring().
Definition context.h:247
static constexpr size_t mindictstack_
Corresponds with the setup in the ctor.
Definition context.h:93
bool getInterpreterLoop() const
Getter for interpreter loop control variable run_.
Definition context.h:150
void print(std::string_view p_line)
Wrapper around SOF::writestring().
Definition context.h:235
void setSnapLeonline(const std::string &p_line)
Setter for snapLeonline_.
Definition context.h:158
std::string snapLeonline_
For debugging purposes a copy of the current leon-format line.
Definition context.h:53
int arraynesting_
The nesting level is incemented for every array within an array for the bind operator.
Definition context.h:58
void decProclevel()
Decrements the procedure level.
Definition context.h:186
SOK & exst()
Access to the execution stack.
Definition context.h:125
void setSeed(uint32_t p_seed)
Setter for seed_.
Definition context.h:174
void pstackdump(const SOK &p_stack)
A dump of a single stack.
Definition context.cpp:89
SOK & dist()
Access to the dictionary stack.
Definition context.h:130
void flushoutfile()
Wrapper around SOF::flush().
Definition context.h:258
size_t maxloadlevel_
Context Property.
Definition context.h:64
int proclevel_
The process level is incremented for every '{' on input.
Definition context.h:54
SOF * outf_
Context Property.
Definition context.h:62
size_t getProclevel() const
Getter for procedure level.
Definition context.h:134
void incLoadlevel()
Increments load level.
Definition context.h:193
SOK es_
The execution stack.
Definition context.h:50
Counter base class.
Definition counter.h:30
Design by contract interface class.
Definition dbc.h:30
Semantic Object File.
Definition sof.h:36
OpError writestring(const std::string &p_data)
Writes to file.
Definition sof.cpp:133
bool isOpen() const
Checks if the file is open.
Definition sof.h:128
OpError flush()
Flushes the file.
Definition sof.cpp:82
bool readLeonLine(std::string &p_str)
Our std::getline( istream, string ) version.
Definition sof.cpp:168
Semantic Object stacK.
Definition sok.h:49
Helpers for design by contract idioms.
#define DBC_INV
Assert for invariant checks in member functions.
Definition dbc.h:114
#define DBC_PRE(XXX)
Assert for preconditions.
Definition dbc.h:104
#define DBC_INV_RAII(TT)
Defines an instance of the class DbCRAIIassert<>, which calls the invariant()-function at the return ...
Definition dbc.h:94
Determinations of the compile time constants, which we can not calculate (so far).
constexpr size_t DET_MAXLOADLEVEL
A maximum of nesting load levels of name objects.
Definition determinations.h:42
Miscellaneous definitions and functions.
AngularUnit
Angular Unit for trigonometric functions.
Definition helper.h:71
The class SOF - file object.
The class SOK - semantik object stack.