plxvm/src/tokens.h

82 lines
1.0 KiB
C

#ifndef _TOKENS_H
#define _TOKENS_H
typedef enum {
// compound keyqwords
TNUMBER = -127,
TCHAR, // 'X'
TSTRING, // "string"
TIDENTIFIER, // any identifier not being a keyword (variable, function, ...)
TVARDEF, // var x,y,z
TERROR, // lexer failed, syntax error
TCCALL,
TAND,
TOR,
TGEQ,
TLEQ,
TMODULO,
TNOT,
TNEG,
TNEQ,
TAWAIT,
TBREAK,
TCALL,
TCONST,
TCONTINUE,
TDATA,
TDELAY,
TDO,
TELSE,
TEND,
TEVENT,
TFOR,
TFORK,
TFUNC,
TGO,
#if HAS_LOCK > 0
TLOCK,
#endif
TIF,
TON,
TPROC,
TREM,
TREPEAT,
TRETURN,
TSTART,
TSTOP,
TTHEN,
#if HAS_LOCK > 0
TUNLOCK,
#endif
TWAKEUP,
TWHILE,
TYIELD,
EOL=0,
// Single character tokens ("keywords")
TADD = '+',
TBLOCK1 = '{',
TBLOCK2 = '}',
TDIV = '/',
TEQUAL = '=',
TGT = '>',
THANDLE = '&',
TINPUT = '?',
TLPAR = '(',
TLT = '<',
TMUL = '*',
TNEXTARG = ',',
TOUTPUT = '!',
TRPAR = ')',
TSEPARATOR = ':',
TDOLLAR = '$',
TSUB = '-'
} tokens_t;
#endif