From 0ce3ca9e748fa2fef362875ef50344ed120ca548 Mon Sep 17 00:00:00 2001 From: sbosse Date: Mon, 16 Mar 2026 11:13:02 +0100 Subject: [PATCH] Mon 16 Mar 11:09:06 CET 2026 --- src/tokens.h | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/tokens.h diff --git a/src/tokens.h b/src/tokens.h new file mode 100644 index 0000000..90f47d7 --- /dev/null +++ b/src/tokens.h @@ -0,0 +1,81 @@ +#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