diff options
author | Anas Nashif <anas.nashif@intel.com> | 2013-02-13 18:21:12 -0800 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2013-02-13 18:21:12 -0800 |
commit | ef8aa19c33e83ff019595fd7f8fdc29c35c336a3 (patch) | |
tree | 6501b44707b5c6a88fa5f817adee1a3ffcb0012d /Source/cmGeneratorExpressionParser.h | |
parent | 035c7fabc3b82cbc9a346c11abe2e9462b4c0379 (diff) | |
download | cmake-ef8aa19c33e83ff019595fd7f8fdc29c35c336a3.tar.gz cmake-ef8aa19c33e83ff019595fd7f8fdc29c35c336a3.tar.bz2 cmake-ef8aa19c33e83ff019595fd7f8fdc29c35c336a3.zip |
Imported Upstream version 2.8.10.2upstream/2.8.10.2
Diffstat (limited to 'Source/cmGeneratorExpressionParser.h')
-rw-r--r-- | Source/cmGeneratorExpressionParser.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Source/cmGeneratorExpressionParser.h b/Source/cmGeneratorExpressionParser.h new file mode 100644 index 000000000..28f14410f --- /dev/null +++ b/Source/cmGeneratorExpressionParser.h @@ -0,0 +1,45 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2012 Stephen Kelly <steveire@gmail.com> + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ +#ifndef cmGeneratorExpressionParser_h +#define cmGeneratorExpressionParser_h + +#include "cmGeneratorExpressionLexer.h" + +#include <set> +#include <vector> + +#include "cmListFileCache.h" + +class cmMakefile; +class cmTarget; +struct cmGeneratorExpressionEvaluator; + +//---------------------------------------------------------------------------- +struct cmGeneratorExpressionParser +{ + cmGeneratorExpressionParser( + const std::vector<cmGeneratorExpressionToken> &tokens); + + void Parse(std::vector<cmGeneratorExpressionEvaluator*> &result); + +private: + void ParseContent(std::vector<cmGeneratorExpressionEvaluator*> &); + void ParseGeneratorExpression( + std::vector<cmGeneratorExpressionEvaluator*> &); + +private: + std::vector<cmGeneratorExpressionToken>::const_iterator it; + const std::vector<cmGeneratorExpressionToken> Tokens; + unsigned int NestingLevel; +}; + +#endif |