summaryrefslogtreecommitdiff
path: root/Source/cmDependsFortranParser.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2005-01-26 15:33:38 -0500
committerBrad King <brad.king@kitware.com>2005-01-26 15:33:38 -0500
commit19f977bad7261d9e8f8d6c5d2764c079d35cc014 (patch)
treefdafaf2f6202af5d14201fd1b81e9858e9209162 /Source/cmDependsFortranParser.h
parentaaac6f2c3ac9e9f95f0fdad7d77b4de21568ed52 (diff)
downloadcmake-19f977bad7261d9e8f8d6c5d2764c079d35cc014.tar.gz
ENH: Added Fortran dependency scanner implementation.
Diffstat (limited to 'Source/cmDependsFortranParser.h')
-rw-r--r--Source/cmDependsFortranParser.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/Source/cmDependsFortranParser.h b/Source/cmDependsFortranParser.h
new file mode 100644
index 0000000000..44cb1d58d5
--- /dev/null
+++ b/Source/cmDependsFortranParser.h
@@ -0,0 +1,70 @@
+/*=========================================================================
+
+ 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 cmDependsFortranParser_h
+#define cmDependsFortranParser_h
+
+/* Forward declare parser object type. */
+typedef struct cmDependsFortranParser_s cmDependsFortranParser;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* Functions to enter/exit #include'd files in order. */
+int cmDependsFortranParser_FilePush(cmDependsFortranParser* parser,
+ const char* fname);
+int cmDependsFortranParser_FilePop(cmDependsFortranParser* parser);
+
+/* Callbacks for lexer. */
+int cmDependsFortranParser_Input(cmDependsFortranParser* parser,
+ char* buffer, size_t bufferSize);
+void cmDependsFortranParser_StringStart(cmDependsFortranParser* parser);
+const char* cmDependsFortranParser_StringEnd(cmDependsFortranParser* parser);
+void cmDependsFortranParser_StringAppend(cmDependsFortranParser* parser,
+ char c);
+void cmDependsFortranParser_SetInInterface(cmDependsFortranParser* parser,
+ int in);
+int cmDependsFortranParser_GetInInterface(cmDependsFortranParser* parser);
+
+/* Callbacks for parser. */
+void cmDependsFortranParser_Error(cmDependsFortranParser* parser,
+ const char* message);
+void cmDependsFortranParser_RuleUse(cmDependsFortranParser* parser,
+ const char* name);
+void cmDependsFortranParser_RuleInclude(cmDependsFortranParser* parser,
+ const char* name);
+void cmDependsFortranParser_RuleModule(cmDependsFortranParser* parser,
+ const char* name);
+void cmDependsFortranParser_RuleDefine(cmDependsFortranParser* parser,
+ const char* name);
+void cmDependsFortranParser_RuleUndef(cmDependsFortranParser* parser,
+ const char* name);
+void cmDependsFortranParser_RuleIfdef(cmDependsFortranParser* parser,
+ const char* name);
+void cmDependsFortranParser_RuleIfndef(cmDependsFortranParser* parser,
+ const char* name);
+void cmDependsFortranParser_RuleIf(cmDependsFortranParser* parser);
+void cmDependsFortranParser_RuleElif(cmDependsFortranParser* parser);
+void cmDependsFortranParser_RuleElse(cmDependsFortranParser* parser);
+void cmDependsFortranParser_RuleEndif(cmDependsFortranParser* parser);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif