aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/ilang
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/ilang')
-rw-r--r--frontends/ilang/.gitignore8
-rw-r--r--frontends/ilang/Makefile.inc22
-rw-r--r--frontends/ilang/ilang_frontend.cc6
-rw-r--r--frontends/ilang/ilang_lexer.l (renamed from frontends/ilang/lexer.l)6
-rw-r--r--frontends/ilang/ilang_parser.y (renamed from frontends/ilang/parser.y)5
5 files changed, 26 insertions, 21 deletions
diff --git a/frontends/ilang/.gitignore b/frontends/ilang/.gitignore
index 72b06b0bf..43106a814 100644
--- a/frontends/ilang/.gitignore
+++ b/frontends/ilang/.gitignore
@@ -1,4 +1,4 @@
-lexer.cc
-parser.output
-parser.tab.cc
-parser.tab.h
+ilang_lexer.cc
+ilang_parser.output
+ilang_parser.tab.cc
+ilang_parser.tab.h
diff --git a/frontends/ilang/Makefile.inc b/frontends/ilang/Makefile.inc
index e832cfed8..c15e2cc47 100644
--- a/frontends/ilang/Makefile.inc
+++ b/frontends/ilang/Makefile.inc
@@ -1,18 +1,18 @@
-GENFILES += frontends/ilang/parser.tab.cc
-GENFILES += frontends/ilang/parser.tab.h
-GENFILES += frontends/ilang/parser.output
-GENFILES += frontends/ilang/lexer.cc
+GENFILES += frontends/ilang/ilang_parser.tab.cc
+GENFILES += frontends/ilang/ilang_parser.tab.h
+GENFILES += frontends/ilang/ilang_parser.output
+GENFILES += frontends/ilang/ilang_lexer.cc
-frontends/ilang/parser.tab.cc: frontends/ilang/parser.y
- $(P) bison -d -r all -b frontends/ilang/parser frontends/ilang/parser.y
- $(Q) mv frontends/ilang/parser.tab.c frontends/ilang/parser.tab.cc
+frontends/ilang/ilang_parser.tab.cc: frontends/ilang/ilang_parser.y
+ $(P) $(BISON) -d -r all -b frontends/ilang/ilang_parser frontends/ilang/ilang_parser.y
+ $(Q) mv frontends/ilang/ilang_parser.tab.c frontends/ilang/ilang_parser.tab.cc
-frontends/ilang/parser.tab.h: frontends/ilang/parser.tab.cc
+frontends/ilang/ilang_parser.tab.h: frontends/ilang/ilang_parser.tab.cc
-frontends/ilang/lexer.cc: frontends/ilang/lexer.l
- $(P) flex -o frontends/ilang/lexer.cc frontends/ilang/lexer.l
+frontends/ilang/ilang_lexer.cc: frontends/ilang/ilang_lexer.l
+ $(P) flex -o frontends/ilang/ilang_lexer.cc frontends/ilang/ilang_lexer.l
-OBJS += frontends/ilang/parser.tab.o frontends/ilang/lexer.o
+OBJS += frontends/ilang/ilang_parser.tab.o frontends/ilang/ilang_lexer.o
OBJS += frontends/ilang/ilang_frontend.o
diff --git a/frontends/ilang/ilang_frontend.cc b/frontends/ilang/ilang_frontend.cc
index f6f926db1..7a4687a3c 100644
--- a/frontends/ilang/ilang_frontend.cc
+++ b/frontends/ilang/ilang_frontend.cc
@@ -26,13 +26,13 @@
#include "kernel/register.h"
#include "kernel/log.h"
-YOSYS_NAMESPACE_BEGIN
-
void rtlil_frontend_ilang_yyerror(char const *s)
{
- log_error("Parser error in line %d: %s\n", rtlil_frontend_ilang_yyget_lineno(), s);
+ YOSYS_NAMESPACE_PREFIX log_error("Parser error in line %d: %s\n", rtlil_frontend_ilang_yyget_lineno(), s);
}
+YOSYS_NAMESPACE_BEGIN
+
struct IlangFrontend : public Frontend {
IlangFrontend() : Frontend("ilang", "read modules from ilang file") { }
virtual void help()
diff --git a/frontends/ilang/lexer.l b/frontends/ilang/ilang_lexer.l
index 4109cd4bc..ace992fbd 100644
--- a/frontends/ilang/lexer.l
+++ b/frontends/ilang/ilang_lexer.l
@@ -30,10 +30,12 @@
#endif
#include "ilang_frontend.h"
-#include "parser.tab.h"
+#include "ilang_parser.tab.h"
+
+USING_YOSYS_NAMESPACE
#define YY_INPUT(buf,result,max_size) \
- result = ILANG_FRONTEND::lexin->readsome(buf, max_size);
+ result = readsome(*ILANG_FRONTEND::lexin, buf, max_size)
%}
diff --git a/frontends/ilang/parser.y b/frontends/ilang/ilang_parser.y
index a5cc06898..4661d5772 100644
--- a/frontends/ilang/parser.y
+++ b/frontends/ilang/ilang_parser.y
@@ -36,7 +36,7 @@ namespace ILANG_FRONTEND {
RTLIL::Process *current_process;
std::vector<std::vector<RTLIL::SwitchRule*>*> switch_stack;
std::vector<RTLIL::CaseRule*> case_stack;
- std::map<RTLIL::IdString, RTLIL::Const> attrbuf;
+ dict<RTLIL::IdString, RTLIL::Const> attrbuf;
}
using namespace ILANG_FRONTEND;
YOSYS_NAMESPACE_END
@@ -183,6 +183,9 @@ memory_options:
memory_options TOK_SIZE TOK_INT {
current_memory->size = $3;
} |
+ memory_options TOK_OFFSET TOK_INT {
+ current_memory->start_offset = $3;
+ } |
/* empty */;
cell_stmt: