From: Mike D. Lowis Date: Tue, 29 May 2012 20:33:18 +0000 (-0400) Subject: Renamed macroprocessor X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=1cfd2710e51a5eebb0eddf6a5aba4c8569f9ce37;p=archive%2Fdlang.git Renamed macroprocessor --- diff --git a/source/dllexer/dllexer.cpp b/source/dllexer/dllexer.cpp index 7eaa420..98c9d8c 100644 --- a/source/dllexer/dllexer.cpp +++ b/source/dllexer/dllexer.cpp @@ -126,7 +126,6 @@ Token DLLexer::next(void) { ret.type( TERM ); } - cout << terminator_string << " " << escaped << " " << ret.type() << " " << ret.text() << "|"<< endl; return ret; } diff --git a/source/dlparser/dlparser.cpp b/source/dlparser/dlparser.cpp index 6b435ae..bdea06c 100644 --- a/source/dlparser/dlparser.cpp +++ b/source/dlparser/dlparser.cpp @@ -1,7 +1,7 @@ #include "dlparser.h" #include "exception.h" #include "common.h" -#include "macroprocessor.h" +#include "expprocessor.h" using namespace std; @@ -72,8 +72,8 @@ AST* DLParser::Expression(void) } } - // Register any new macros and expand any existing macros - MacroProcessor processor( macros ); + // Register any new syntaxes and expand any existing syntax uses + ExpProcessor processor( macros ); processor.visit( ret ); return ret; diff --git a/source/visitors/expprocessor.cpp b/source/visitors/expprocessor.cpp new file mode 100644 index 0000000..4d558e3 --- /dev/null +++ b/source/visitors/expprocessor.cpp @@ -0,0 +1,43 @@ +#include "expprocessor.h" + +ExpProcessor::ExpProcessor(std::map ¯os) : macro_registry(macros) +{ +} + +void ExpProcessor::beforeVisit(AST* cur, int depth) +{ +} + +void ExpProcessor::afterVisit(AST* cur, int depth) +{ +} + +void ExpProcessor::beforeChildren(AST* cur, int depth) +{ + // If we reached a syntax use then expand it + if (cur->type() == EXPAND) + { + //expandMacro(cur); + } +} + +void ExpProcessor::afterChildren(AST* cur, int depth) +{ + // If we have a new syntax definition then register it + if (cur->type() == SYNTAX) + { + std::string name = (*(cur->children()->begin()))->text(); + Macro* macro = new Macro(); + macro->name( name ); + macro_registry[ macro->name() ] = macro; + } +} + +void ExpProcessor::beforeChild(AST* cur, int depth) +{ +} + +void ExpProcessor::afterChild(AST* cur, int depth) +{ +} + diff --git a/source/visitors/macroprocessor.h b/source/visitors/expprocessor.h similarity index 75% rename from source/visitors/macroprocessor.h rename to source/visitors/expprocessor.h index 99aae82..36778ce 100644 --- a/source/visitors/macroprocessor.h +++ b/source/visitors/expprocessor.h @@ -1,16 +1,16 @@ -#ifndef MACRO_PROCESSOR_H -#define MACRO_PROCESSOR_H +#ifndef EXP_PROCESSOR_H +#define EXP_PROCESSOR_H #include #include "ivisitor.h" #include "dllexer.h" #include "macro.h" -class MacroProcessor : public IVisitor { +class ExpProcessor : public IVisitor { protected: std::map& macro_registry; public: - MacroProcessor(std::map& macros); + ExpProcessor(std::map& macros); private: void beforeVisit(AST* cur, int depth); void afterVisit(AST* cur, int depth); diff --git a/source/visitors/macroprocessor.cpp b/source/visitors/macroprocessor.cpp deleted file mode 100644 index 4e1d325..0000000 --- a/source/visitors/macroprocessor.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "macroprocessor.h" - -MacroProcessor::MacroProcessor(std::map ¯os) : macro_registry(macros) -{ -} - -void MacroProcessor::beforeVisit(AST* cur, int depth) -{ -} - -void MacroProcessor::afterVisit(AST* cur, int depth) -{ -} - -void MacroProcessor::beforeChildren(AST* cur, int depth) -{ - // If we reached a syntax use then expand it - if (cur->type() == EXPAND) - { - //expandMacro(cur); - } -} - -void MacroProcessor::afterChildren(AST* cur, int depth) -{ - // If we have a new syntax definition then register it - if (cur->type() == SYNTAX) - { - std::string name = (*(cur->children()->begin()))->text(); - Macro* macro = new Macro(); - macro->name( name ); - macro_registry[ macro->name() ] = macro; - } -} - -void MacroProcessor::beforeChild(AST* cur, int depth) -{ -} - -void MacroProcessor::afterChild(AST* cur, int depth) -{ -} -