languaget has a new interface for messaging
This commit is contained in:
parent
3b31563b10
commit
630e6bfdf3
|
@ -345,8 +345,7 @@ bool ebmc_baset::parse_property(
|
|||
if(languages.to_expr(
|
||||
property,
|
||||
id2string(main_symbol->module),
|
||||
expr,
|
||||
get_message_handler()))
|
||||
expr))
|
||||
return true;
|
||||
|
||||
// make it AGp
|
||||
|
|
|
@ -25,8 +25,7 @@ Function: smv_languaget::parse
|
|||
|
||||
bool smv_languaget::parse(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
message_handlert &message_handler)
|
||||
const std::string &path)
|
||||
{
|
||||
smv_parser.clear();
|
||||
|
||||
|
@ -37,7 +36,7 @@ bool smv_languaget::parse(
|
|||
|
||||
smv_parser.set_file(path);
|
||||
smv_parser.in=&instream;
|
||||
smv_parser.set_message_handler(message_handler);
|
||||
smv_parser.set_message_handler(get_message_handler());
|
||||
|
||||
bool result=smv_parser.parse();
|
||||
|
||||
|
@ -117,10 +116,10 @@ Function: smv_languaget::typecheck
|
|||
|
||||
bool smv_languaget::typecheck(
|
||||
symbol_tablet &symbol_table,
|
||||
const std::string &module,
|
||||
message_handlert &message_handler)
|
||||
const std::string &module)
|
||||
{
|
||||
return smv_typecheck(smv_parse_tree, symbol_table, module, message_handler);
|
||||
return smv_typecheck(smv_parse_tree, symbol_table, module,
|
||||
get_message_handler());
|
||||
}
|
||||
|
||||
/*******************************************************************\
|
||||
|
@ -238,11 +237,9 @@ bool smv_languaget::to_expr(
|
|||
const std::string &code,
|
||||
const std::string &module,
|
||||
exprt &expr,
|
||||
message_handlert &message_handler,
|
||||
const namespacet &ns)
|
||||
{
|
||||
messaget message(message_handler);
|
||||
message.error("not yet implemented");
|
||||
error("not yet implemented");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,8 +23,7 @@ class smv_languaget:public languaget
|
|||
public:
|
||||
virtual bool parse(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
message_handlert &message_handler);
|
||||
const std::string &path);
|
||||
|
||||
virtual void dependencies(
|
||||
const std::string &module,
|
||||
|
@ -35,8 +34,7 @@ public:
|
|||
|
||||
virtual bool typecheck(
|
||||
symbol_tablet &symbol_table,
|
||||
const std::string &module,
|
||||
message_handlert &message_handler);
|
||||
const std::string &module);
|
||||
|
||||
virtual void show_parse(std::ostream &out);
|
||||
|
||||
|
@ -56,7 +54,6 @@ public:
|
|||
const std::string &code,
|
||||
const std::string &module,
|
||||
exprt &expr,
|
||||
message_handlert &message_handler,
|
||||
const namespacet &ns);
|
||||
|
||||
virtual std::string id() const { return "SMV"; }
|
||||
|
|
|
@ -31,19 +31,18 @@ Function: verilog_languaget::parse
|
|||
|
||||
bool verilog_languaget::parse(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
message_handlert &message_handler)
|
||||
const std::string &path)
|
||||
{
|
||||
verilog_parser.clear();
|
||||
|
||||
std::stringstream str;
|
||||
|
||||
if(preprocess(instream, path, str, message_handler))
|
||||
if(preprocess(instream, path, str))
|
||||
return true;
|
||||
|
||||
verilog_parser.set_file(path);
|
||||
verilog_parser.in=&str;
|
||||
verilog_parser.set_message_handler(message_handler);
|
||||
verilog_parser.set_message_handler(get_message_handler());
|
||||
verilog_parser.grammar=verilog_parsert::LANGUAGE;
|
||||
|
||||
if(has_suffix(path, ".sv"))
|
||||
|
@ -76,13 +75,12 @@ Function: verilog_languaget::preprocess
|
|||
bool verilog_languaget::preprocess(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
std::ostream &outstream,
|
||||
message_handlert &message_handler)
|
||||
std::ostream &outstream)
|
||||
{
|
||||
std::stringstream str;
|
||||
|
||||
verilog_preprocessort preprocessor(
|
||||
instream, outstream, message_handler, path);
|
||||
instream, outstream, get_message_handler(), path);
|
||||
|
||||
try { preprocessor.preprocessor(); }
|
||||
catch(int e) { return true; }
|
||||
|
@ -157,17 +155,16 @@ Function: verilog_languaget::typecheck
|
|||
|
||||
bool verilog_languaget::typecheck(
|
||||
symbol_tablet &symbol_table,
|
||||
const std::string &module,
|
||||
message_handlert &message_handler)
|
||||
const std::string &module)
|
||||
{
|
||||
if(module=="") return false;
|
||||
|
||||
if(verilog_typecheck(parse_tree, symbol_table, module, message_handler))
|
||||
if(verilog_typecheck(parse_tree, symbol_table, module, get_message_handler()))
|
||||
return true;
|
||||
|
||||
message_handler.print(9, "Synthesis "+module);
|
||||
print(9, "Synthesis "+module);
|
||||
|
||||
if(verilog_synthesis(symbol_table, module, message_handler, options))
|
||||
if(verilog_synthesis(symbol_table, module, get_message_handler(), options))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
@ -185,9 +182,7 @@ Function: verilog_languaget::interfaces
|
|||
|
||||
\*******************************************************************/
|
||||
|
||||
bool verilog_languaget::interfaces(
|
||||
symbol_tablet &symbol_table,
|
||||
message_handlert &message_handler)
|
||||
bool verilog_languaget::interfaces(symbol_tablet &symbol_table)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -267,7 +262,6 @@ bool verilog_languaget::to_expr(
|
|||
const std::string &code,
|
||||
const std::string &module,
|
||||
exprt &expr,
|
||||
message_handlert &message_handler,
|
||||
const namespacet &ns)
|
||||
{
|
||||
expr.make_nil();
|
||||
|
@ -281,7 +275,7 @@ bool verilog_languaget::to_expr(
|
|||
verilog_parser.clear();
|
||||
verilog_parser.set_file("");
|
||||
verilog_parser.in=&i_preprocessed;
|
||||
verilog_parser.set_message_handler(message_handler);
|
||||
verilog_parser.set_message_handler(get_message_handler());
|
||||
verilog_parser.grammar=verilog_parsert::EXPRESSION;
|
||||
verilog_scanner_init();
|
||||
|
||||
|
@ -291,7 +285,7 @@ bool verilog_languaget::to_expr(
|
|||
expr.swap(verilog_parser.parse_tree.expr);
|
||||
|
||||
// typecheck it
|
||||
result=verilog_typecheck(expr, module, message_handler, ns);
|
||||
result=verilog_typecheck(expr, module, get_message_handler(), ns);
|
||||
|
||||
// save some memory
|
||||
verilog_parser.clear();
|
||||
|
|
|
@ -20,13 +20,11 @@ public:
|
|||
virtual bool preprocess(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
std::ostream &outstream,
|
||||
message_handlert &message_handler);
|
||||
std::ostream &outstream);
|
||||
|
||||
virtual bool parse(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
message_handlert &message_handler);
|
||||
const std::string &path);
|
||||
|
||||
virtual void dependencies(
|
||||
const std::string &module,
|
||||
|
@ -36,13 +34,11 @@ public:
|
|||
std::set<std::string> &module_set);
|
||||
|
||||
virtual bool interfaces(
|
||||
symbol_tablet &symbol_table,
|
||||
message_handlert &message_handler);
|
||||
|
||||
symbol_tablet &symbol_table);
|
||||
|
||||
virtual bool typecheck(
|
||||
symbol_tablet &symbol_table,
|
||||
const std::string &module,
|
||||
message_handlert &message_handler);
|
||||
const std::string &module);
|
||||
|
||||
virtual void show_parse(std::ostream &out);
|
||||
|
||||
|
@ -60,7 +56,6 @@ public:
|
|||
const std::string &code,
|
||||
const std::string &module,
|
||||
exprt &expr,
|
||||
message_handlert &message_handler,
|
||||
const namespacet &ns);
|
||||
|
||||
virtual languaget *new_language()
|
||||
|
|
|
@ -30,14 +30,13 @@ Function: vhdl_languaget::parse
|
|||
|
||||
bool vhdl_languaget::parse(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
message_handlert &message_handler)
|
||||
const std::string &path)
|
||||
{
|
||||
vhdl_parser.clear();
|
||||
|
||||
vhdl_parser.set_file(path);
|
||||
vhdl_parser.in=&instream;
|
||||
vhdl_parser.set_message_handler(message_handler);
|
||||
vhdl_parser.set_message_handler(get_message_handler());
|
||||
//vhdl_parser.grammar=vhdl_parsert::LANGUAGE;
|
||||
|
||||
//if(has_suffix(path, ".sv"))
|
||||
|
@ -70,11 +69,9 @@ Function: vhdl_languaget::preprocess
|
|||
bool vhdl_languaget::preprocess(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
std::ostream &outstream,
|
||||
message_handlert &message_handler)
|
||||
std::ostream &outstream)
|
||||
{
|
||||
messaget message(message_handler);
|
||||
message.error("there is no VHDL preprocessing");
|
||||
error("there is no VHDL preprocessing");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -149,8 +146,7 @@ Function: vhdl_languaget::typecheck
|
|||
|
||||
bool vhdl_languaget::typecheck(
|
||||
symbol_tablet &symbol_table,
|
||||
const std::string &module,
|
||||
message_handlert &message_handler)
|
||||
const std::string &module)
|
||||
{
|
||||
if(module=="") return false;
|
||||
|
||||
|
@ -180,8 +176,7 @@ Function: vhdl_languaget::interfaces
|
|||
\*******************************************************************/
|
||||
|
||||
bool vhdl_languaget::interfaces(
|
||||
symbol_tablet &symbol_table,
|
||||
message_handlert &message_handler)
|
||||
symbol_tablet &symbol_table)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -261,7 +256,6 @@ bool vhdl_languaget::to_expr(
|
|||
const std::string &code,
|
||||
const std::string &module,
|
||||
exprt &expr,
|
||||
message_handlert &message_handler,
|
||||
const namespacet &ns)
|
||||
{
|
||||
expr.make_nil();
|
||||
|
@ -274,7 +268,7 @@ bool vhdl_languaget::to_expr(
|
|||
vhdl_parser.clear();
|
||||
vhdl_parser.set_file("");
|
||||
vhdl_parser.in=&i_preprocessed;
|
||||
vhdl_parser.set_message_handler(message_handler);
|
||||
vhdl_parser.set_message_handler(get_message_handler());
|
||||
vhdl_parser.grammar=vhdl_parsert::EXPRESSION;
|
||||
vhdl_scanner_init();
|
||||
|
||||
|
|
|
@ -20,13 +20,11 @@ public:
|
|||
virtual bool preprocess(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
std::ostream &outstream,
|
||||
message_handlert &message_handler);
|
||||
std::ostream &outstream);
|
||||
|
||||
virtual bool parse(
|
||||
std::istream &instream,
|
||||
const std::string &path,
|
||||
message_handlert &message_handler);
|
||||
const std::string &path);
|
||||
|
||||
virtual void dependencies(
|
||||
const std::string &module,
|
||||
|
@ -36,13 +34,11 @@ public:
|
|||
std::set<std::string> &module_set);
|
||||
|
||||
virtual bool interfaces(
|
||||
symbol_tablet &symbol_table,
|
||||
message_handlert &message_handler);
|
||||
symbol_tablet &symbol_table);
|
||||
|
||||
virtual bool typecheck(
|
||||
symbol_tablet &symbol_table,
|
||||
const std::string &module,
|
||||
message_handlert &message_handler);
|
||||
const std::string &module);
|
||||
|
||||
virtual void show_parse(std::ostream &out);
|
||||
|
||||
|
@ -60,7 +56,6 @@ public:
|
|||
const std::string &code,
|
||||
const std::string &module,
|
||||
exprt &expr,
|
||||
message_handlert &message_handler,
|
||||
const namespacet &ns);
|
||||
|
||||
virtual languaget *new_language()
|
||||
|
|
Loading…
Reference in New Issue