mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-10 14:58:10 -05:00
Add raw templater
This commit is contained in:
@ -8,7 +8,7 @@ DefinesExpressionMatchers::DefinesExpressionMatchers()
|
||||
}
|
||||
|
||||
DefinesExpressionMatchers::DefinesExpressionMatchers(const DefinesDirectiveParsingState* state)
|
||||
: SimpleExpressionMatchers(false, false, true, true, false),
|
||||
: SimpleExpressionMatchers(true, false, true, true, false),
|
||||
m_state(state)
|
||||
{
|
||||
}
|
||||
|
@ -281,13 +281,13 @@ bool DefinesStreamProxy::MatchUndefDirective(const ParserLine& line, const unsig
|
||||
std::unique_ptr<ISimpleExpression> DefinesStreamProxy::ParseExpression(const std::string& expressionString) const
|
||||
{
|
||||
std::istringstream ss(expressionString);
|
||||
ParserSingleInputStream inputStream(ss, "#if expression");
|
||||
ParserSingleInputStream inputStream(ss, "defines directive expression");
|
||||
|
||||
SimpleLexer::Config lexerConfig;
|
||||
lexerConfig.m_emit_new_line_tokens = false;
|
||||
lexerConfig.m_read_integer_numbers = true;
|
||||
lexerConfig.m_read_floating_point_numbers = true;
|
||||
lexerConfig.m_read_strings = false;
|
||||
lexerConfig.m_read_strings = true;
|
||||
SimpleExpressionMatchers().ApplyTokensToLexerConfig(lexerConfig);
|
||||
|
||||
SimpleLexer lexer(&inputStream, std::move(lexerConfig));
|
||||
|
@ -77,7 +77,6 @@ private:
|
||||
|
||||
static void ExtractParametersFromDefineUsage(const ParserLine& line, unsigned parameterStart, unsigned& parameterEnd, std::vector<std::string>& parameterValues);
|
||||
bool FindDefineForWord(const ParserLine& line, unsigned wordStart, unsigned wordEnd, Define*& value);
|
||||
void ExpandDefines(ParserLine& line);
|
||||
|
||||
public:
|
||||
explicit DefinesStreamProxy(IParserLineStream* stream);
|
||||
@ -85,6 +84,8 @@ public:
|
||||
void AddDefine(Define define);
|
||||
void Undefine(const std::string& name);
|
||||
|
||||
void ExpandDefines(ParserLine& line);
|
||||
|
||||
_NODISCARD std::unique_ptr<ISimpleExpression> ParseExpression(const std::string& expressionString) const;
|
||||
|
||||
ParserLine NextLine() override;
|
||||
|
@ -61,5 +61,5 @@ bool ParserSingleInputStream::IsOpen() const
|
||||
|
||||
bool ParserSingleInputStream::Eof() const
|
||||
{
|
||||
return !m_stream.eof();
|
||||
return m_stream.eof();
|
||||
}
|
||||
|
Reference in New Issue
Block a user