Beispiel #1
0
bool jsil_typecheck(
  symbol_tablet &symbol_table,
  message_handlert &message_handler)
{
  jsil_typecheckt jsil_typecheck(symbol_table, message_handler);
  return jsil_typecheck.typecheck_main();
}
Beispiel #2
0
bool jsil_typecheck(
  exprt &expr,
  message_handlert &message_handler,
  const namespacet &ns)
{
  symbol_tablet symbol_table;

  jsil_typecheckt jsil_typecheck(
    symbol_table,
    message_handler);

  try
  {
    jsil_typecheck.typecheck_expr(expr);
  }

  catch(int e)
  {
    jsil_typecheck.error();
  }

  catch(const char *e)
  {
    jsil_typecheck.error() << e << messaget::eom;
  }

  catch(const std::string &e)
  {
    jsil_typecheck.error() << e << messaget::eom;
  }

  return jsil_typecheck.get_error_found();
}
Beispiel #3
0
/// Converting from parse tree and type checking.
bool jsil_languaget::typecheck(
  symbol_tablet &symbol_table,
  const std::string &module)
{
  if(jsil_typecheck(symbol_table, get_message_handler()))
    return true;

  return false;
}