PageRenderTime 42ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Source/CParse/cparse.h

#
C++ Header | 76 lines | 50 code | 10 blank | 16 comment | 2 complexity | e9d89ff7a11e278f4f284d82b638b5f6 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  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. #ifndef SWIG_CPARSE_H_
  14. #define SWIG_CPARSE_H_
  15. #include "swig.h"
  16. #include "swigwarn.h"
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. /* cscanner.c */
  21. extern String *cparse_file;
  22. extern int cparse_line;
  23. extern int cparse_cplusplus;
  24. extern int cparse_start_line;
  25. extern void Swig_cparse_cplusplus(int);
  26. extern void scanner_file(File *);
  27. extern void scanner_next_token(int);
  28. extern void skip_balanced(int startchar, int endchar);
  29. extern void skip_decl(void);
  30. extern void scanner_check_typedef(void);
  31. extern void scanner_ignore_typedef(void);
  32. extern void scanner_last_id(int);
  33. extern void scanner_clear_rename(void);
  34. extern void scanner_set_location(String *file, int line);
  35. extern void scanner_set_main_input_file(String *file);
  36. extern String *scanner_get_main_input_file();
  37. extern void Swig_cparse_follow_locators(int);
  38. extern void start_inline(char *, int);
  39. extern String *scanner_ccode;
  40. extern int yylex(void);
  41. /* parser.y */
  42. extern SwigType *Swig_cparse_type(String *);
  43. extern Node *Swig_cparse(File *);
  44. extern Hash *Swig_cparse_features(void);
  45. extern void SWIG_cparse_set_compact_default_args(int defargs);
  46. extern int SWIG_cparse_template_reduce(int treduce);
  47. /* util.c */
  48. extern void Swig_cparse_replace_descriptor(String *s);
  49. extern void cparse_normalize_void(Node *);
  50. extern Parm *Swig_cparse_parm(String *s);
  51. extern ParmList *Swig_cparse_parms(String *s, Node *file_line_node);
  52. /* templ.c */
  53. extern int Swig_cparse_template_expand(Node *n, String *rname, ParmList *tparms, Symtab *tscope);
  54. extern Node *Swig_cparse_template_locate(String *name, ParmList *tparms, Symtab *tscope);
  55. extern void Swig_cparse_debug_templates(int);
  56. #ifdef __cplusplus
  57. }
  58. #endif
  59. #define SWIG_WARN_NODE_BEGIN(Node) \
  60. { \
  61. String *wrnfilter = Node ? Getattr(Node,"feature:warnfilter") : 0; \
  62. if (wrnfilter) Swig_warnfilter(wrnfilter,1)
  63. #define SWIG_WARN_NODE_END(Node) \
  64. if (wrnfilter) Swig_warnfilter(wrnfilter,0); \
  65. }
  66. #endif