1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmDependsFortranParser.h,v $
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
,
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
,
40 void cmDependsFortranParser_SetInInterface(cmDependsFortranParser
* parser
,
42 bool cmDependsFortranParser_GetInInterface(cmDependsFortranParser
* parser
);
45 void cmDependsFortranParser_SetInPPFalseBranch(cmDependsFortranParser
* parser
,
47 bool cmDependsFortranParser_GetInPPFalseBranch(cmDependsFortranParser
* parser
);
50 void cmDependsFortranParser_SetOldStartcond(cmDependsFortranParser
* parser
,
52 int cmDependsFortranParser_GetOldStartcond(cmDependsFortranParser
* parser
);
54 /* Callbacks for parser. */
55 void cmDependsFortranParser_Error(cmDependsFortranParser
* parser
,
57 void cmDependsFortranParser_RuleUse(cmDependsFortranParser
* parser
,
59 void cmDependsFortranParser_RuleInclude(cmDependsFortranParser
* parser
,
61 void cmDependsFortranParser_RuleModule(cmDependsFortranParser
* parser
,
63 void cmDependsFortranParser_RuleDefine(cmDependsFortranParser
* parser
,
65 void cmDependsFortranParser_RuleUndef(cmDependsFortranParser
* parser
,
67 void cmDependsFortranParser_RuleIfdef(cmDependsFortranParser
* parser
,
69 void cmDependsFortranParser_RuleIfndef(cmDependsFortranParser
* parser
,
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
83 /* Setup the proper yylex interface. */
84 #define YY_EXTRA_TYPE cmDependsFortranParser*
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"
92 #if !defined(cmDependsFortranLexer_cxx)
93 #if !defined(cmDependsFortranParser_cxx)
97 # undef YYSTYPE_IS_DECLARED