Skip to content

Commit 0937478

Browse files
committed
new transition system language API
This adds an API for obtaining a transition system from a source modeling language, designed to suit Verilog, SMV and similar languages.
1 parent da3c187 commit 0937478

File tree

3 files changed

+57
-0
lines changed

3 files changed

+57
-0
lines changed

src/ebmc/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ SRC = \
1212
diatest.cpp \
1313
dimacs_writer.cpp \
1414
ebmc_base.cpp \
15+
ebmc_language.cpp \
1516
ebmc_language_file.cpp \
1617
ebmc_languages.cpp \
1718
ebmc_parse_options.cpp \

src/ebmc/ebmc_language.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/*******************************************************************\
2+
3+
Module: Abstract interface to support a modeling language
4+
5+
Author: Daniel Kroening, [email protected]
6+
7+
\*******************************************************************/
8+
9+
#include "ebmc_language.h"
10+
11+
ebmc_languaget::~ebmc_languaget()
12+
{
13+
}

src/ebmc/ebmc_language.h

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*******************************************************************\
2+
3+
Module: Abstract interface to support a modeling language
4+
5+
Author: Daniel Kroening, [email protected]
6+
7+
\*******************************************************************/
8+
9+
/// \file
10+
/// Abstract interface to support a modeling language
11+
12+
#ifndef EBMC_LANGUAGE_H
13+
#define EBMC_LANGUAGE_H
14+
15+
#include <iosfwd>
16+
17+
class cmdlinet;
18+
class message_handlert;
19+
class transition_systemt;
20+
21+
class ebmc_languaget
22+
{
23+
public:
24+
// constructor / destructor
25+
ebmc_languaget(cmdlinet &_cmdline, message_handlert &_message_handler)
26+
: cmdline(_cmdline), message_handler(_message_handler)
27+
{
28+
}
29+
30+
virtual ~ebmc_languaget();
31+
32+
/// produce diagnostic output as specified on the command line
33+
virtual void diagnostics() = 0;
34+
35+
/// produce the transition system, and return it
36+
virtual transition_systemt transition_system() = 0;
37+
38+
protected:
39+
cmdlinet &cmdline;
40+
message_handlert &message_handler;
41+
};
42+
43+
#endif // EBMC_LANGUAGE_H

0 commit comments

Comments
 (0)