| /* ----------------------------------------------------------------------------- |
| * This file is part of SWIG, which is licensed as a whole under version 3 |
| * (or any later version) of the GNU General Public License. Some additional |
| * terms also apply to certain portions of SWIG. The full details of the SWIG |
| * license and copyrights can be found in the LICENSE and COPYRIGHT files |
| * included with the SWIG source code as distributed by the SWIG developers |
| * and at https://www.swig.org/legal.html. |
| * |
| * swigscan.h |
| * |
| * C/C++ scanner. |
| * ----------------------------------------------------------------------------- */ |
| |
| typedef struct Scanner Scanner; |
| |
| extern Scanner *NewScanner(void); |
| extern void DelScanner(Scanner *); |
| extern void Scanner_clear(Scanner *); |
| extern void Scanner_push(Scanner *, String *); |
| extern void Scanner_pushtoken(Scanner *, int, const_String_or_char_ptr value); |
| extern int Scanner_token(Scanner *); |
| extern String *Scanner_text(Scanner *); |
| extern void Scanner_skip_line(Scanner *); |
| extern int Scanner_skip_balanced(Scanner *, int startchar, int endchar); |
| extern String *Scanner_get_raw_text_balanced(Scanner *, int startchar, int endchar); |
| extern void Scanner_set_location(Scanner *, String *file, int line); |
| extern String *Scanner_file(Scanner *); |
| extern int Scanner_line(Scanner *); |
| extern int Scanner_start_line(Scanner *); |
| extern void Scanner_idstart(Scanner *, const char *idchar); |
| extern String *Scanner_errmsg(Scanner *); |
| extern int Scanner_errline(Scanner *); |
| extern int Scanner_isoperator(int tokval); |
| extern void Scanner_locator(Scanner *, String *loc); |
| |
| /* Note: Tokens in range 100+ are for C/C++ operators */ |
| |
| #define SWIG_MAXTOKENS 200 |
| #define SWIG_TOKEN_LPAREN 1 /* ( */ |
| #define SWIG_TOKEN_RPAREN 2 /* ) */ |
| #define SWIG_TOKEN_SEMI 3 /* ; */ |
| #define SWIG_TOKEN_LBRACE 4 /* { */ |
| #define SWIG_TOKEN_RBRACE 5 /* } */ |
| #define SWIG_TOKEN_LBRACKET 6 /* [ */ |
| #define SWIG_TOKEN_RBRACKET 7 /* ] */ |
| #define SWIG_TOKEN_BACKSLASH 8 /* \ */ |
| #define SWIG_TOKEN_ENDLINE 9 /* \n */ |
| #define SWIG_TOKEN_STRING 10 /* "str" */ |
| #define SWIG_TOKEN_POUND 11 /* # */ |
| #define SWIG_TOKEN_COLON 12 /* : */ |
| #define SWIG_TOKEN_DCOLON 13 /* :: */ |
| #define SWIG_TOKEN_DCOLONSTAR 14 /* ::* */ |
| #define SWIG_TOKEN_ID 15 /* identifier */ |
| #define SWIG_TOKEN_FLOAT 16 /* 3.1415F */ |
| #define SWIG_TOKEN_DOUBLE 17 /* 3.1415 */ |
| #define SWIG_TOKEN_INT 18 /* 314 */ |
| #define SWIG_TOKEN_UINT 19 /* 314U */ |
| #define SWIG_TOKEN_LONG 20 /* 314L */ |
| #define SWIG_TOKEN_ULONG 21 /* 314UL */ |
| #define SWIG_TOKEN_CHAR 22 /* 'charconst' */ |
| #define SWIG_TOKEN_PERIOD 23 /* . */ |
| #define SWIG_TOKEN_AT 24 /* @ */ |
| #define SWIG_TOKEN_DOLLAR 25 /* $ */ |
| #define SWIG_TOKEN_CODEBLOCK 26 /* %{ ... %} ... */ |
| #define SWIG_TOKEN_RSTRING 27 /* `charconst` */ |
| #define SWIG_TOKEN_LONGLONG 28 /* 314LL */ |
| #define SWIG_TOKEN_ULONGLONG 29 /* 314ULL */ |
| #define SWIG_TOKEN_QUESTION 30 /* ? */ |
| #define SWIG_TOKEN_COMMENT 31 /* C or C++ comment */ |
| #define SWIG_TOKEN_BOOL 32 /* true or false */ |
| #define SWIG_TOKEN_WSTRING 33 /* L"str" */ |
| #define SWIG_TOKEN_WCHAR 34 /* L'c' */ |
| #define SWIG_TOKEN_ELLIPSIS 35 /* ... */ |
| #define SWIG_TOKEN_LLBRACKET 36 /* [[ */ |
| #define SWIG_TOKEN_RRBRACKET 37 /* ]] */ |
| |
| #define SWIG_TOKEN_ILLEGAL 99 |
| #define SWIG_TOKEN_ERROR -1 |
| |
| #define SWIG_TOKEN_COMMA 101 /* , */ |
| #define SWIG_TOKEN_STAR 102 /* * */ |
| #define SWIG_TOKEN_TIMES 102 /* * */ |
| #define SWIG_TOKEN_EQUAL 103 /* = */ |
| #define SWIG_TOKEN_EQUALTO 104 /* == */ |
| #define SWIG_TOKEN_NOTEQUAL 105 /* != */ |
| #define SWIG_TOKEN_PLUS 106 /* + */ |
| #define SWIG_TOKEN_MINUS 107 /* - */ |
| #define SWIG_TOKEN_AND 108 /* & */ |
| #define SWIG_TOKEN_LAND 109 /* && */ |
| #define SWIG_TOKEN_OR 110 /* | */ |
| #define SWIG_TOKEN_LOR 111 /* || */ |
| #define SWIG_TOKEN_XOR 112 /* ^ */ |
| #define SWIG_TOKEN_LESSTHAN 113 /* < */ |
| #define SWIG_TOKEN_GREATERTHAN 114 /* > */ |
| #define SWIG_TOKEN_LTEQUAL 115 /* <= */ |
| #define SWIG_TOKEN_GTEQUAL 116 /* >= */ |
| #define SWIG_TOKEN_NOT 117 /* ~ */ |
| #define SWIG_TOKEN_LNOT 118 /* ! */ |
| #define SWIG_TOKEN_SLASH 119 /* / */ |
| #define SWIG_TOKEN_DIVIDE 119 /* / */ |
| #define SWIG_TOKEN_PERCENT 120 /* % */ |
| #define SWIG_TOKEN_MODULO 120 /* % */ |
| #define SWIG_TOKEN_LSHIFT 121 /* << */ |
| #define SWIG_TOKEN_RSHIFT 122 /* >> */ |
| #define SWIG_TOKEN_PLUSPLUS 123 /* ++ */ |
| #define SWIG_TOKEN_MINUSMINUS 124 /* -- */ |
| #define SWIG_TOKEN_PLUSEQUAL 125 /* += */ |
| #define SWIG_TOKEN_MINUSEQUAL 126 /* -= */ |
| #define SWIG_TOKEN_TIMESEQUAL 127 /* *= */ |
| #define SWIG_TOKEN_DIVEQUAL 128 /* /= */ |
| #define SWIG_TOKEN_ANDEQUAL 129 /* &= */ |
| #define SWIG_TOKEN_OREQUAL 130 /* |= */ |
| #define SWIG_TOKEN_XOREQUAL 131 /* ^= */ |
| #define SWIG_TOKEN_LSEQUAL 132 /* <<= */ |
| #define SWIG_TOKEN_RSEQUAL 133 /* >>= */ |
| #define SWIG_TOKEN_MODEQUAL 134 /* %= */ |
| #define SWIG_TOKEN_ARROW 135 /* -> */ |
| #define SWIG_TOKEN_ARROWSTAR 136 /* ->* */ |
| #define SWIG_TOKEN_LTEQUALGT 137 /* <=> */ |