changed all prog indices to size_t; added explanatory comments to ivars
This commit is contained in:
parent
ea525575ab
commit
27ad2a900c
@ -32,13 +32,13 @@ class interpreter {
|
||||
std::string eval(std::istream& in, bool& done);
|
||||
|
||||
private:
|
||||
std::vector<std::string> _prog;
|
||||
std::vector<std::string> _stack;
|
||||
std::map<std::string, int> _labels;
|
||||
std::map<std::string, std::string> _vars;
|
||||
std::vector<int> _calls;
|
||||
std::vector<std::string>::size_type _pc {0};
|
||||
std::vector<size_t> _pc_offsets;
|
||||
std::vector<std::string> _prog; // program lines without label defs or comments
|
||||
std::vector<std::string> _stack; // value stack
|
||||
std::map<std::string, size_t> _labels; // label name => prog line index
|
||||
std::map<std::string, std::string> _vars; // var name => string value
|
||||
std::vector<size_t> _calls; // call stack
|
||||
size_t _pc {0}; // current program counter (index into _prog)
|
||||
std::vector<size_t> _pc_offsets; // removed line indices for prog index => source line
|
||||
|
||||
void reset();
|
||||
void exec_instruction(const std::string& code, bool& done);
|
||||
|
Loading…
x
Reference in New Issue
Block a user