1    /*******************************************************/
2    /*      "C" Language Integrated Production System      */
3    /*                                                     */
4    /*             CLIPS Version 6.30  08/16/14            */
5    /*                                                     */
6    /*              CONSTRUCT PARSER MODULE                */
7    /*******************************************************/
8 
9 /*************************************************************/
10 /* Purpose: Parsing routines and utilities for parsing       */
11 /*   constructs.                                             */
12 /*                                                           */
13 /* Principal Programmer(s):                                  */
14 /*      Gary D. Riley                                        */
15 /*                                                           */
16 /* Contributing Programmer(s):                               */
17 /*                                                           */
18 /* Revision History:                                         */
19 /*                                                           */
20 /*      6.24: Added environment parameter to GenClose.       */
21 /*            Added environment parameter to GenOpen.        */
22 /*                                                           */
23 /*            Made the construct redefinition message more   */
24 /*            prominent.                                     */
25 /*                                                           */
26 /*            Added pragmas to remove compilation warnings.  */
27 /*                                                           */
28 /*      6.30: Added code for capturing errors/warnings.      */
29 /*                                                           */
30 /*            Removed conditional code for unsupported       */
31 /*            compilers/operating systems (IBM_MCW, MAC_MCW, */
32 /*            and IBM_TBC).                                  */
33 /*                                                           */
34 /*            Changed garbage collection algorithm.          */
35 /*                                                           */
36 /*            GetConstructNameAndComment API change.         */
37 /*                                                           */
38 /*            Added const qualifiers to remove C++           */
39 /*            deprecation warnings.                          */
40 /*                                                           */
41 /*            Fixed linkage issue when BLOAD_ONLY compiler   */
42 /*            flag is set to 1.                              */
43 /*                                                           */
44 /*************************************************************/
45 
46 #ifndef _H_cstrcpsr
47 
48 #define _H_cstrcpsr
49 
50 #ifndef _H_evaluatn
51 #include "evaluatn.h"
52 #endif
53 #ifndef _H_scanner
54 #include "scanner.h"
55 #endif
56 #ifndef _H_constrct
57 #include "constrct.h"
58 #endif
59 
60 #ifdef LOCALE
61 #undef LOCALE
62 #endif
63 
64 #ifdef _CSTRCPSR_SOURCE_
65 #define LOCALE
66 #else
67 #define LOCALE extern
68 #endif
69 
70 #if ALLOW_ENVIRONMENT_GLOBALS
71    LOCALE int                            Load(const char *);
72 #endif
73 
74    LOCALE int                            EnvLoad(void *,const char *);
75    LOCALE int                            LoadConstructsFromLogicalName(void *,const char *);
76    LOCALE int                            ParseConstruct(void *,const char *,const char *);
77    LOCALE void                           RemoveConstructFromModule(void *,struct constructHeader *);
78    LOCALE struct symbolHashNode         *GetConstructNameAndComment(void *,const char *,
79                                                                     struct token *,const char *,
80                                                                     void *(*)(void *,const char *),
81                                                                     int (*)(void *,void *),
82                                                                     const char *,int,int,int,int);
83    LOCALE void                           ImportExportConflictMessage(void *,const char *,const char *,const char *,const char *);
84 #if (! RUN_TIME) && (! BLOAD_ONLY)
85    LOCALE void                           FlushParsingMessages(void *);
86    LOCALE char                          *EnvGetParsingFileName(void *);
87    LOCALE void                           EnvSetParsingFileName(void *,const char *);
88    LOCALE char                          *EnvGetErrorFileName(void *);
89    LOCALE void                           EnvSetErrorFileName(void *,const char *);
90    LOCALE char                          *EnvGetWarningFileName(void *);
91    LOCALE void                           EnvSetWarningFileName(void *,const char *);
92    LOCALE void                           CreateErrorCaptureRouter(void *);
93    LOCALE void                           DeleteErrorCaptureRouter(void *);
94 #endif
95 
96 #endif
97 
98 
99 
100 
101 
102 
103 
104