2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-09 10:11:49 +00:00

Implement token pasting

This commit is contained in:
Jan
2023-12-30 20:03:35 +01:00
parent eece5bb91d
commit e090e112e6
3 changed files with 240 additions and 18 deletions

View File

@@ -49,8 +49,6 @@ public:
void IdentifyParameters(const std::vector<std::string>& parameterNames);
private:
static bool IsStringizeParameterForwardLookup(const std::string& value, unsigned pos);
static bool IsTokenJoiningOperatorForwardLookup(const std::string& value, unsigned pos);
void IdentifyTokenJoinsOnly();
};
@@ -118,6 +116,7 @@ private:
bool FindNextMacro(const std::string& input, unsigned& inputPos, unsigned& defineStart, const DefinesStreamProxy::Define*& define);
void ProcessTokenJoiningOperators(ParserLine& line, unsigned& linePos, std::vector<const Define*>& callstack, std::string& input, unsigned& inputPos);
void InsertMacroParameters(std::ostringstream& out, const DefinesStreamProxy::Define* macro, std::vector<std::string>& parameterValues);
void ExpandMacro(ParserLine& line,
unsigned& linePos,