Resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / cmDependsFortranParser.h
blob14d95c8fd0fb438263baba03c9acdce026199db0
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmDependsFortranParser.h,v $
5 Language: C++
6 Date: $Date: 2007/10/03 19:41:39 $
7 Version: $Revision: 1.4 $
9 Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
17 #ifndef cmDependsFortranParser_h
18 #define cmDependsFortranParser_h
20 #include <stddef.h> /* size_t */
22 /* Forward declare parser object type. */
23 typedef struct cmDependsFortranParser_s cmDependsFortranParser;
25 /* Functions to enter/exit #include'd files in order. */
26 bool cmDependsFortranParser_FilePush(cmDependsFortranParser* parser,
27 const char* fname);
28 bool cmDependsFortranParser_FilePop(cmDependsFortranParser* parser);
30 /* Callbacks for lexer. */
31 int cmDependsFortranParser_Input(cmDependsFortranParser* parser,
32 char* buffer, size_t bufferSize);
35 void cmDependsFortranParser_StringStart(cmDependsFortranParser* parser);
36 const char* cmDependsFortranParser_StringEnd(cmDependsFortranParser* parser);
37 void cmDependsFortranParser_StringAppend(cmDependsFortranParser* parser,
38 char c);
40 void cmDependsFortranParser_SetInInterface(cmDependsFortranParser* parser,
41 bool is_in);
42 bool cmDependsFortranParser_GetInInterface(cmDependsFortranParser* parser);
45 void cmDependsFortranParser_SetInPPFalseBranch(cmDependsFortranParser* parser,
46 bool is_in);
47 bool cmDependsFortranParser_GetInPPFalseBranch(cmDependsFortranParser* parser);
50 void cmDependsFortranParser_SetOldStartcond(cmDependsFortranParser* parser,
51 int arg);
52 int cmDependsFortranParser_GetOldStartcond(cmDependsFortranParser* parser);
54 /* Callbacks for parser. */
55 void cmDependsFortranParser_Error(cmDependsFortranParser* parser,
56 const char* message);
57 void cmDependsFortranParser_RuleUse(cmDependsFortranParser* parser,
58 const char* name);
59 void cmDependsFortranParser_RuleInclude(cmDependsFortranParser* parser,
60 const char* name);
61 void cmDependsFortranParser_RuleModule(cmDependsFortranParser* parser,
62 const char* name);
63 void cmDependsFortranParser_RuleDefine(cmDependsFortranParser* parser,
64 const char* name);
65 void cmDependsFortranParser_RuleUndef(cmDependsFortranParser* parser,
66 const char* name);
67 void cmDependsFortranParser_RuleIfdef(cmDependsFortranParser* parser,
68 const char* name);
69 void cmDependsFortranParser_RuleIfndef(cmDependsFortranParser* parser,
70 const char* name);
71 void cmDependsFortranParser_RuleIf(cmDependsFortranParser* parser);
72 void cmDependsFortranParser_RuleElif(cmDependsFortranParser* parser);
73 void cmDependsFortranParser_RuleElse(cmDependsFortranParser* parser);
74 void cmDependsFortranParser_RuleEndif(cmDependsFortranParser* parser);
76 /* Define the parser stack element type. */
77 typedef union cmDependsFortran_yystype_u cmDependsFortran_yystype;
78 union cmDependsFortran_yystype_u
80 char* string;
83 /* Setup the proper yylex interface. */
84 #define YY_EXTRA_TYPE cmDependsFortranParser*
85 #define YY_DECL \
86 int cmDependsFortran_yylex(YYSTYPE* yylvalp, yyscan_t yyscanner)
87 #define YYSTYPE cmDependsFortran_yystype
88 #define YYSTYPE_IS_DECLARED 1
89 #if !defined(cmDependsFortranLexer_cxx)
90 # include "cmDependsFortranLexer.h"
91 #endif
92 #if !defined(cmDependsFortranLexer_cxx)
93 #if !defined(cmDependsFortranParser_cxx)
94 # undef YY_EXTRA_TYPE
95 # undef YY_DECL
96 # undef YYSTYPE
97 # undef YYSTYPE_IS_DECLARED
98 #endif
99 #endif
101 #endif