diff --git a/include/asm/charmap.hpp b/include/asm/charmap.hpp index 18d851a3..6bedaeeb 100644 --- a/include/asm/charmap.hpp +++ b/include/asm/charmap.hpp @@ -10,8 +10,7 @@ #include #include -#define DEFAULT_CHARMAP_NAME "main" - +void charmap_Init(); bool charmap_ForEach( void (*mapFunc)(std::string const &), void (*charFunc)(std::string const &, std::vector) diff --git a/src/asm/charmap.cpp b/src/asm/charmap.cpp index 0154e132..ab8ae611 100644 --- a/src/asm/charmap.cpp +++ b/src/asm/charmap.cpp @@ -23,6 +23,8 @@ #include "asm/warning.hpp" +#define DEFAULT_CHARMAP_NAME "main" + static bool compareNode(std::pair edge, char c) { return edge.first < c; } @@ -91,6 +93,10 @@ static InsertionOrderedMap charmaps; static Charmap *currentCharmap; static std::stack charmapStack; +void charmap_Init() { + charmap_New(DEFAULT_CHARMAP_NAME, nullptr); +} + bool charmap_ForEach( void (*mapFunc)(std::string const &), void (*charFunc)(std::string const &, std::vector) diff --git a/src/asm/main.cpp b/src/asm/main.cpp index afd5d9f7..38979f33 100644 --- a/src/asm/main.cpp +++ b/src/asm/main.cpp @@ -558,7 +558,7 @@ int main(int argc, char *argv[]) { options.printDep(*localOptions.inputFileName); - charmap_New(DEFAULT_CHARMAP_NAME, nullptr); + charmap_Init(); // Init lexer and file stack, and parse (`yy::parser` is auto-generated from `parser.y`) if (yy::parser parser; fstk_Init(*localOptions.inputFileName) && parser.parse() != 0) {