/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #ifndef cmGeneratorExpressionParser_h #define cmGeneratorExpressionParser_h #include // IWYU pragma: keep #include #include "cmGeneratorExpressionLexer.h" struct cmGeneratorExpressionEvaluator; struct cmGeneratorExpressionParser { cmGeneratorExpressionParser( const std::vector& tokens); void Parse(std::vector& result); private: void ParseContent(std::vector&); void ParseGeneratorExpression(std::vector&); private: std::vector::const_iterator it; const std::vector Tokens; unsigned int NestingLevel; }; #endif