diff options
Diffstat (limited to 'frontends/ilang')
-rw-r--r-- | frontends/ilang/.gitignore | 8 | ||||
-rw-r--r-- | frontends/ilang/Makefile.inc | 22 | ||||
-rw-r--r-- | frontends/ilang/ilang_frontend.cc | 6 | ||||
-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: |