42 #include "as_config.h" 62 ttMultilineStringConstant,
63 ttHeredocStringConstant,
64 ttNonTerminatedStringConstant,
101 ttStartStatementBlock,
115 ttBitShiftRightArith,
123 ttGreaterThanOrEqual,
184 eTokenType tokenType;
187 #define asTokenDef(str, tok) {str, sizeof(str)-1, tok} 190 asTokenDef(
"+", ttPlus),
191 asTokenDef(
"+=", ttAddAssign),
192 asTokenDef(
"++", ttInc),
193 asTokenDef(
"-", ttMinus),
194 asTokenDef(
"-=", ttSubAssign),
195 asTokenDef(
"--", ttDec),
196 asTokenDef(
"*", ttStar),
197 asTokenDef(
"*=", ttMulAssign),
198 asTokenDef(
"/", ttSlash),
199 asTokenDef(
"/=", ttDivAssign),
200 asTokenDef(
"%", ttPercent),
201 asTokenDef(
"%=", ttModAssign),
202 asTokenDef(
"**", ttStarStar),
203 asTokenDef(
"**=", ttPowAssign),
204 asTokenDef(
"=", ttAssignment),
205 asTokenDef(
"==", ttEqual),
206 asTokenDef(
".", ttDot),
207 asTokenDef(
"|", ttBitOr),
208 asTokenDef(
"|=", ttOrAssign),
209 asTokenDef(
"||", ttOr),
210 asTokenDef(
"&", ttAmp),
211 asTokenDef(
"&=", ttAndAssign),
212 asTokenDef(
"&&", ttAnd),
213 asTokenDef(
"^", ttBitXor),
214 asTokenDef(
"^=", ttXorAssign),
215 asTokenDef(
"^^", ttXor),
216 asTokenDef(
"<", ttLessThan),
217 asTokenDef(
"<=", ttLessThanOrEqual),
218 asTokenDef(
"<<", ttBitShiftLeft),
219 asTokenDef(
"<<=", ttShiftLeftAssign),
220 asTokenDef(
">", ttGreaterThan),
221 asTokenDef(
">=", ttGreaterThanOrEqual),
222 asTokenDef(
">>", ttBitShiftRight),
223 asTokenDef(
">>=", ttShiftRightLAssign),
224 asTokenDef(
">>>", ttBitShiftRightArith),
225 asTokenDef(
">>>=", ttShiftRightAAssign),
226 asTokenDef(
"~", ttBitNot),
227 asTokenDef(
";", ttEndStatement),
228 asTokenDef(
",", ttListSeparator),
229 asTokenDef(
"{", ttStartStatementBlock),
230 asTokenDef(
"}", ttEndStatementBlock),
231 asTokenDef(
"(", ttOpenParanthesis),
232 asTokenDef(
")", ttCloseParanthesis),
233 asTokenDef(
"[", ttOpenBracket),
234 asTokenDef(
"]", ttCloseBracket),
235 asTokenDef(
"?", ttQuestion),
236 asTokenDef(
":", ttColon),
237 asTokenDef(
"::", ttScope),
238 asTokenDef(
"!", ttNot),
239 asTokenDef(
"!=", ttNotEqual),
240 asTokenDef(
"!is", ttNotIs),
241 asTokenDef(
"@", ttHandle),
242 asTokenDef(
"and", ttAnd),
243 asTokenDef(
"auto", ttAuto),
244 asTokenDef(
"bool", ttBool),
245 asTokenDef(
"break", ttBreak),
246 asTokenDef(
"case", ttCase),
247 asTokenDef(
"cast", ttCast),
248 asTokenDef(
"catch", ttCatch),
249 asTokenDef(
"class", ttClass),
250 asTokenDef(
"const", ttConst),
251 asTokenDef(
"continue", ttContinue),
252 asTokenDef(
"default", ttDefault),
253 asTokenDef(
"do", ttDo),
254 #ifdef AS_USE_DOUBLE_AS_FLOAT 255 asTokenDef(
"double", ttFloat),
257 asTokenDef(
"double", ttDouble),
259 asTokenDef(
"else", ttElse),
260 asTokenDef(
"enum", ttEnum),
261 asTokenDef(
"false", ttFalse),
262 asTokenDef(
"float", ttFloat),
263 asTokenDef(
"for", ttFor),
264 asTokenDef(
"funcdef", ttFuncDef),
265 asTokenDef(
"if", ttIf),
266 asTokenDef(
"import", ttImport),
267 asTokenDef(
"in", ttIn),
268 asTokenDef(
"inout", ttInOut),
269 asTokenDef(
"int", ttInt),
270 asTokenDef(
"int8", ttInt8),
271 asTokenDef(
"int16", ttInt16),
272 asTokenDef(
"int32", ttInt),
273 asTokenDef(
"int64", ttInt64),
274 asTokenDef(
"interface", ttInterface),
275 asTokenDef(
"is", ttIs),
276 asTokenDef(
"mixin", ttMixin),
277 asTokenDef(
"namespace", ttNamespace),
278 asTokenDef(
"not", ttNot),
279 asTokenDef(
"null", ttNull),
280 asTokenDef(
"or", ttOr),
281 asTokenDef(
"out", ttOut),
282 asTokenDef(
"private", ttPrivate),
283 asTokenDef(
"protected", ttProtected),
284 asTokenDef(
"return", ttReturn),
285 asTokenDef(
"switch", ttSwitch),
286 asTokenDef(
"true", ttTrue),
287 asTokenDef(
"try", ttTry),
288 asTokenDef(
"typedef", ttTypedef),
289 asTokenDef(
"uint", ttUInt),
290 asTokenDef(
"uint8", ttUInt8),
291 asTokenDef(
"uint16", ttUInt16),
292 asTokenDef(
"uint32", ttUInt),
293 asTokenDef(
"uint64", ttUInt64),
294 asTokenDef(
"void", ttVoid),
295 asTokenDef(
"while", ttWhile),
296 asTokenDef(
"xor", ttXor),
299 const unsigned int numTokenWords =
sizeof(tokenWords) /
sizeof(
sTokenWord);
301 const char *
const whiteSpace =
" \t\r\n";
306 const char *
const THIS_TOKEN =
"this";
307 const char *
const FROM_TOKEN =
"from";
308 const char *
const SUPER_TOKEN =
"super";
309 const char *
const SHARED_TOKEN =
"shared";
310 const char *
const FINAL_TOKEN =
"final";
311 const char *
const OVERRIDE_TOKEN =
"override";
312 const char *
const GET_TOKEN =
"get";
313 const char *
const SET_TOKEN =
"set";
314 const char *
const ABSTRACT_TOKEN =
"abstract";
315 const char *
const FUNCTION_TOKEN =
"function";
316 const char *
const IF_HANDLE_TOKEN =
"if_handle_then_const";
317 const char *
const EXTERNAL_TOKEN =
"external";
318 const char *
const EXPLICIT_TOKEN =
"explicit";
319 const char *
const PROPERTY_TOKEN =
"property";
Definition: as_tokendef.h:181