26 std::istream &instream,
27 const std::string &path,
40 const std::string &module,
50 return linking(symbol_table, new_symbol_table, message_handler);
52 catch(
const std::string &str)
68 (void)message_handler;
bool parse(std::istream &instream, const std::string &path, message_handlert &message_handler) override
Parse a goto program in json form.
bool typecheck(symbol_table_baset &symbol_table, const std::string &module, message_handlert &message_handler) override
Typecheck a goto program in json form.
void show_parse(std::ostream &out, message_handlert &) override
Output the result of the parsed json file to the output stream passed as a parameter to this function...
void output(std::ostream &out) const
Class that provides messages with a built-in verbosity 'level'.
The symbol table base class interface.
bool parse_json(std::istream &in, const std::string &filename, message_handlert &message_handler, jsont &dest)
void symbol_table_from_json(const jsont &in, symbol_table_baset &symbol_table)
bool linking(symbol_table_baset &dest_symbol_table, const symbol_table_baset &new_symbol_table, message_handlert &message_handler)
Merges the symbol table new_symbol_table into dest_symbol_table, renaming symbols from new_symbol_tab...