PageRenderTime 23ms CodeModel.GetById 18ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Source/CParse/cparse.h

#
C++ Header | 76 lines | 50 code | 10 blank | 16 comment | 2 complexity | e9d89ff7a11e278f4f284d82b638b5f6 MD5 | raw file
 1/* -----------------------------------------------------------------------------
 2 * This file is part of SWIG, which is licensed as a whole under version 3 
 3 * (or any later version) of the GNU General Public License. Some additional
 4 * terms also apply to certain portions of SWIG. The full details of the SWIG
 5 * license and copyrights can be found in the LICENSE and COPYRIGHT files
 6 * included with the SWIG source code as distributed by the SWIG developers
 7 * and at http://www.swig.org/legal.html.
 8 *
 9 * cparse.h
10 *
11 * SWIG parser module.
12 * ----------------------------------------------------------------------------- */
13
14#ifndef SWIG_CPARSE_H_
15#define SWIG_CPARSE_H_
16
17#include "swig.h"
18#include "swigwarn.h"
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24/* cscanner.c */
25  extern String *cparse_file;
26  extern int cparse_line;
27  extern int cparse_cplusplus;
28  extern int cparse_start_line;
29
30  extern void Swig_cparse_cplusplus(int);
31  extern void scanner_file(File *);
32  extern void scanner_next_token(int);
33  extern void skip_balanced(int startchar, int endchar);
34  extern void skip_decl(void);
35  extern void scanner_check_typedef(void);
36  extern void scanner_ignore_typedef(void);
37  extern void scanner_last_id(int);
38  extern void scanner_clear_rename(void);
39  extern void scanner_set_location(String *file, int line);
40  extern void scanner_set_main_input_file(String *file);
41  extern String *scanner_get_main_input_file();
42  extern void Swig_cparse_follow_locators(int);
43  extern void start_inline(char *, int);
44  extern String *scanner_ccode;
45  extern int yylex(void);
46
47/* parser.y */
48  extern SwigType *Swig_cparse_type(String *);
49  extern Node *Swig_cparse(File *);
50  extern Hash *Swig_cparse_features(void);
51  extern void SWIG_cparse_set_compact_default_args(int defargs);
52  extern int SWIG_cparse_template_reduce(int treduce);
53
54/* util.c */
55  extern void Swig_cparse_replace_descriptor(String *s);
56  extern void cparse_normalize_void(Node *);
57  extern Parm *Swig_cparse_parm(String *s);
58  extern ParmList *Swig_cparse_parms(String *s, Node *file_line_node);
59
60
61/* templ.c */
62  extern int Swig_cparse_template_expand(Node *n, String *rname, ParmList *tparms, Symtab *tscope);
63  extern Node *Swig_cparse_template_locate(String *name, ParmList *tparms, Symtab *tscope);
64  extern void Swig_cparse_debug_templates(int);
65
66#ifdef __cplusplus
67}
68#endif
69#define SWIG_WARN_NODE_BEGIN(Node) \
70 { \
71  String *wrnfilter = Node ? Getattr(Node,"feature:warnfilter") : 0; \
72  if (wrnfilter) Swig_warnfilter(wrnfilter,1)
73#define SWIG_WARN_NODE_END(Node) \
74  if (wrnfilter) Swig_warnfilter(wrnfilter,0); \
75 }
76#endif