1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
5 #include "cmConfigure.h" // IWYU pragma: keep
10 #include "cmGeneratorExpressionLexer.h"
12 struct cmGeneratorExpressionEvaluator;
14 struct cmGeneratorExpressionParser
16 cmGeneratorExpressionParser(std::vector<cmGeneratorExpressionToken> tokens);
18 using cmGeneratorExpressionEvaluatorVector =
19 std::vector<std::unique_ptr<cmGeneratorExpressionEvaluator>>;
21 void Parse(cmGeneratorExpressionEvaluatorVector& result);
24 void ParseContent(cmGeneratorExpressionEvaluatorVector&);
25 void ParseGeneratorExpression(cmGeneratorExpressionEvaluatorVector&);
27 std::vector<cmGeneratorExpressionToken>::const_iterator it;
28 const std::vector<cmGeneratorExpressionToken> Tokens;
29 unsigned int NestingLevel = 0;