| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | 
							- /*=========================================================================
 
-   Program:   CMake - Cross-Platform Makefile Generator
 
-   Module:    $RCSfile$
 
-   Language:  C++
 
-   Date:      $Date$
 
-   Version:   $Revision$
 
-   Copyright (c) 2002 Kitware, Inc., Insight Consortium.  All rights reserved.
 
-   See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
 
-      This software is distributed WITHOUT ANY WARRANTY; without even 
 
-      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
 
-      PURPOSE.  See the above copyright notices for more information.
 
- =========================================================================*/
 
- #ifndef cmCommandArgumentParserHelper_h 
 
- #define cmCommandArgumentParserHelper_h
 
- #include "cmStandardIncludes.h"
 
- #define YYSTYPE cmCommandArgumentParserHelper::ParserType
 
- #define YYSTYPE_IS_DECLARED
 
- #define YY_EXTRA_TYPE cmCommandArgumentParserHelper*
 
- #define YY_DECL int cmCommandArgument_yylex(YYSTYPE* yylvalp, yyscan_t yyscanner)
 
- /** \class cmCommandArgumentParserHelper
 
-  * \brief Helper class for parsing java source files
 
-  *
 
-  * Finds dependencies for java file and list of outputs
 
-  */
 
- class cmMakefile;
 
- class cmCommandArgumentParserHelper
 
- {
 
- public:
 
-   typedef struct {
 
-     char* str;
 
-   } ParserType;
 
-   cmCommandArgumentParserHelper();
 
-   ~cmCommandArgumentParserHelper();
 
-   int ParseString(const char* str, int verb);
 
-   int ParseFile(const char* file);
 
-   // For the lexer:
 
-   void AllocateParserType(cmCommandArgumentParserHelper::ParserType* pt, 
 
-     const char* str, int len = 0);
 
-   int LexInput(char* buf, int maxlen);
 
-   void Error(const char* str);
 
-   // For yacc
 
-   void AddClassFound(const char* sclass);
 
-   void PrepareElement(ParserType* opt);
 
-   void DeallocateParserType(char** pt);
 
-   void CheckEmpty(int line, int cnt, ParserType* pt);
 
-   void StartClass(const char* cls);
 
-   void EndClass();
 
-   void AddPackagesImport(const char* sclass);
 
-   void SetCurrentCombine(const char* cmb) { this->CurrentCombine = cmb; }
 
-   const char* GetCurrentCombine() { return this->CurrentCombine.c_str(); }
 
-   void UpdateCombine(const char* str1, const char* str2);
 
-   void Append(const char* str);
 
-   char* CombineUnions(const char* in1, const char* in2);
 
-   char* ExpandSpecialVariable(const char* key, const char* var);
 
-   char* ExpandVariable(const char* var);
 
-   void SetResult(const char* value);
 
-   void SetMakefile(const cmMakefile* mf);
 
-   std::string& GetResult() { return m_Result; }
 
-   void SetLineFile(long line, const char* file);
 
-   void SetEscapeQuotes(bool b) { m_EscapeQuotes = b; }
 
- private:
 
-   cmStdString::size_type InputBufferPos;
 
-   cmStdString InputBuffer;
 
-   std::vector<char> OutputBuffer;
 
-   int CurrentLine;
 
-   int UnionsAvailable;
 
-   int Verbose;
 
-   std::vector<char*> Allocates;
 
-   std::string CurrentCombine;
 
-   void PrintClasses();
 
-   void Print(const char* place, const char* str);
 
-   void SafePrintMissing(const char* str, int line, int cnt);
 
-   char* AddString(const char* str);
 
-   void CleanupParser();
 
-   std::set<char*> m_Variables;
 
-   char m_EmptyVariable[1];
 
-   const cmMakefile* m_Makefile;
 
-   std::string m_Result;
 
-   const char* m_FileName;
 
-   long m_FileLine;
 
-   bool m_EscapeQuotes;
 
- };
 
- #endif
 
 
  |