mirror of
				https://github.com/Laupetin/OpenAssetTools.git
				synced 2025-10-30 10:06:57 +00: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