Encapsulate charmap_Init, like sym_Init

This commit is contained in:
Rangi
2026-05-25 13:54:22 -04:00
parent 090768e2c9
commit 72a410c007
3 changed files with 8 additions and 3 deletions
+1 -2
View File
@@ -10,8 +10,7 @@
#include <string_view>
#include <vector>
#define DEFAULT_CHARMAP_NAME "main"
void charmap_Init();
bool charmap_ForEach(
void (*mapFunc)(std::string const &),
void (*charFunc)(std::string const &, std::vector<int32_t>)
+6
View File
@@ -23,6 +23,8 @@
#include "asm/warning.hpp"
#define DEFAULT_CHARMAP_NAME "main"
static bool compareNode(std::pair<char, size_t> edge, char c) {
return edge.first < c;
}
@@ -91,6 +93,10 @@ static InsertionOrderedMap<Charmap> charmaps;
static Charmap *currentCharmap;
static std::stack<Charmap *> 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<int32_t>)
+1 -1
View File
@@ -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) {