1 /*============================================================================
2 CMake - Cross Platform Makefile Generator
3 Copyright 2012 Stephen Kelly <steveire@gmail.com>
5 Distributed under the OSI-approved BSD License (the "License");
6 see accompanying file Copyright.txt for details.
8 This software is distributed WITHOUT ANY WARRANTY; without even the
9 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License for more information.
11 ============================================================================*/
12 #ifndef cmGeneratorExpressionParser_h
13 #define cmGeneratorExpressionParser_h
15 #include "cmGeneratorExpressionLexer.h"
20 #include "cmListFileCache.h"
24 struct cmGeneratorExpressionEvaluator;
26 //----------------------------------------------------------------------------
27 struct cmGeneratorExpressionParser
29 cmGeneratorExpressionParser(
30 const std::vector<cmGeneratorExpressionToken> &tokens);
32 void Parse(std::vector<cmGeneratorExpressionEvaluator*> &result);
35 void ParseContent(std::vector<cmGeneratorExpressionEvaluator*> &);
36 void ParseGeneratorExpression(
37 std::vector<cmGeneratorExpressionEvaluator*> &);
40 std::vector<cmGeneratorExpressionToken>::const_iterator it;
41 const std::vector<cmGeneratorExpressionToken> Tokens;
42 unsigned int NestingLevel;