PageRenderTime 69ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Source/Swig/swigscan.h

#
C++ Header | 111 lines | 93 code | 5 blank | 13 comment | 0 complexity | ec26ac93a00612899e61742d20c394c6 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. * swigscan.h
  10. *
  11. * C/C++ scanner.
  12. * ----------------------------------------------------------------------------- */
  13. typedef struct Scanner Scanner;
  14. extern Scanner *NewScanner(void);
  15. extern void DelScanner(Scanner *);
  16. extern void Scanner_clear(Scanner *);
  17. extern void Scanner_push(Scanner *, String *);
  18. extern void Scanner_pushtoken(Scanner *, int, const_String_or_char_ptr value);
  19. extern int Scanner_token(Scanner *);
  20. extern String *Scanner_text(Scanner *);
  21. extern void Scanner_skip_line(Scanner *);
  22. extern int Scanner_skip_balanced(Scanner *, int startchar, int endchar);
  23. extern void Scanner_set_location(Scanner *, String *file, int line);
  24. extern String *Scanner_file(Scanner *);
  25. extern int Scanner_line(Scanner *);
  26. extern int Scanner_start_line(Scanner *);
  27. extern void Scanner_idstart(Scanner *, const char *idchar);
  28. extern String *Scanner_errmsg(Scanner *);
  29. extern int Scanner_errline(Scanner *);
  30. extern int Scanner_isoperator(int tokval);
  31. extern void Scanner_locator(Scanner *, String *loc);
  32. /* Note: Tokens in range 100+ are for C/C++ operators */
  33. #define SWIG_MAXTOKENS 200
  34. #define SWIG_TOKEN_LPAREN 1 /* ( */
  35. #define SWIG_TOKEN_RPAREN 2 /* ) */
  36. #define SWIG_TOKEN_SEMI 3 /* ; */
  37. #define SWIG_TOKEN_LBRACE 4 /* { */
  38. #define SWIG_TOKEN_RBRACE 5 /* } */
  39. #define SWIG_TOKEN_LBRACKET 6 /* [ */
  40. #define SWIG_TOKEN_RBRACKET 7 /* ] */
  41. #define SWIG_TOKEN_BACKSLASH 8 /* \ */
  42. #define SWIG_TOKEN_ENDLINE 9 /* \n */
  43. #define SWIG_TOKEN_STRING 10 /* "str" */
  44. #define SWIG_TOKEN_POUND 11 /* # */
  45. #define SWIG_TOKEN_COLON 12 /* : */
  46. #define SWIG_TOKEN_DCOLON 13 /* :: */
  47. #define SWIG_TOKEN_DCOLONSTAR 14 /* ::* */
  48. #define SWIG_TOKEN_ID 15 /* identifer */
  49. #define SWIG_TOKEN_FLOAT 16 /* 3.1415F */
  50. #define SWIG_TOKEN_DOUBLE 17 /* 3.1415 */
  51. #define SWIG_TOKEN_INT 18 /* 314 */
  52. #define SWIG_TOKEN_UINT 19 /* 314U */
  53. #define SWIG_TOKEN_LONG 20 /* 314L */
  54. #define SWIG_TOKEN_ULONG 21 /* 314UL */
  55. #define SWIG_TOKEN_CHAR 22 /* 'charconst' */
  56. #define SWIG_TOKEN_PERIOD 23 /* . */
  57. #define SWIG_TOKEN_AT 24 /* @ */
  58. #define SWIG_TOKEN_DOLLAR 25 /* $ */
  59. #define SWIG_TOKEN_CODEBLOCK 26 /* %{ ... %} ... */
  60. #define SWIG_TOKEN_RSTRING 27 /* `charconst` */
  61. #define SWIG_TOKEN_LONGLONG 28 /* 314LL */
  62. #define SWIG_TOKEN_ULONGLONG 29 /* 314ULL */
  63. #define SWIG_TOKEN_QUESTION 30 /* ? */
  64. #define SWIG_TOKEN_COMMENT 31 /* C or C++ comment */
  65. #define SWIG_TOKEN_BOOL 32 /* true or false */
  66. #define SWIG_TOKEN_ILLEGAL 99
  67. #define SWIG_TOKEN_ERROR -1
  68. #define SWIG_TOKEN_COMMA 101 /* , */
  69. #define SWIG_TOKEN_STAR 102 /* * */
  70. #define SWIG_TOKEN_TIMES 102 /* * */
  71. #define SWIG_TOKEN_EQUAL 103 /* = */
  72. #define SWIG_TOKEN_EQUALTO 104 /* == */
  73. #define SWIG_TOKEN_NOTEQUAL 105 /* != */
  74. #define SWIG_TOKEN_PLUS 106 /* + */
  75. #define SWIG_TOKEN_MINUS 107 /* - */
  76. #define SWIG_TOKEN_AND 108 /* & */
  77. #define SWIG_TOKEN_LAND 109 /* && */
  78. #define SWIG_TOKEN_OR 110 /* | */
  79. #define SWIG_TOKEN_LOR 111 /* || */
  80. #define SWIG_TOKEN_XOR 112 /* ^ */
  81. #define SWIG_TOKEN_LESSTHAN 113 /* < */
  82. #define SWIG_TOKEN_GREATERTHAN 114 /* > */
  83. #define SWIG_TOKEN_LTEQUAL 115 /* <= */
  84. #define SWIG_TOKEN_GTEQUAL 116 /* >= */
  85. #define SWIG_TOKEN_NOT 117 /* ~ */
  86. #define SWIG_TOKEN_LNOT 118 /* ! */
  87. #define SWIG_TOKEN_SLASH 119 /* / */
  88. #define SWIG_TOKEN_DIVIDE 119 /* / */
  89. #define SWIG_TOKEN_PERCENT 120 /* % */
  90. #define SWIG_TOKEN_MODULO 120 /* % */
  91. #define SWIG_TOKEN_LSHIFT 121 /* << */
  92. #define SWIG_TOKEN_RSHIFT 122 /* >> */
  93. #define SWIG_TOKEN_PLUSPLUS 123 /* ++ */
  94. #define SWIG_TOKEN_MINUSMINUS 124 /* -- */
  95. #define SWIG_TOKEN_PLUSEQUAL 125 /* += */
  96. #define SWIG_TOKEN_MINUSEQUAL 126 /* -= */
  97. #define SWIG_TOKEN_TIMESEQUAL 127 /* *= */
  98. #define SWIG_TOKEN_DIVEQUAL 128 /* /= */
  99. #define SWIG_TOKEN_ANDEQUAL 129 /* &= */
  100. #define SWIG_TOKEN_OREQUAL 130 /* |= */
  101. #define SWIG_TOKEN_XOREQUAL 131 /* ^= */
  102. #define SWIG_TOKEN_LSEQUAL 132 /* <<= */
  103. #define SWIG_TOKEN_RSEQUAL 133 /* >>= */
  104. #define SWIG_TOKEN_MODEQUAL 134 /* %= */
  105. #define SWIG_TOKEN_ARROW 135 /* -> */
  106. #define SWIG_TOKEN_ARROWSTAR 136 /* ->* */