enum CatspeakToken
GameMaker Language (.gml)Copyenum CatspeakToken {
PAREN_LEFT,
PAREN_RIGHT,
BOX_LEFT,
BOX_RIGHT,
BRACE_LEFT,
BRACE_RIGHT,
COLON,
SEMICOLON,
COMMA,
DOT,
ARROW,
ASSIGN,
ASSIGN_MULTIPLY,
ASSIGN_DIVIDE,
ASSIGN_SUBTRACT,
ASSIGN_PLUS,
REMAINDER,
MULTIPLY,
DIVIDE,
DIVIDE_INT,
SUBTRACT,
PLUS,
EQUAL,
NOT_EQUAL,
GREATER,
GREATER_EQUAL,
LESS,
LESS_EQUAL,
NOT,
BITWISE_NOT,
SHIFT_RIGHT,
SHIFT_LEFT,
BITWISE_AND,
BITWISE_XOR,
BITWISE_OR,
AND,
OR,
XOR,
PIPE_RIGHT,
PIPE_LEFT,
DO,
IF,
ELSE,
WHILE,
FOR,
LOOP,
WITH,
MATCH,
LET,
FUN,
BREAK,
CONTINUE,
RETURN,
NEW,
IMPL,
SELF,
PARAMS,
PARAMS_COUNT,
IDENT,
VALUE,
WHITESPACE,
COMMENT,
EOF,
OTHER,
// 3 fields omitted
}A token in Catspeak is a series of characters with meaning, usually
separated by whitespace. These meanings are represented by unique
elements of the CatspeakToken enum.
Example
Some examples of tokens in Catspeak, and their meanings:
if(is aCatspeakToken.IF)else(is aCatspeakToken.ELSE)12.3(is aCatspeakToken.VALUE)+(is aCatspeakToken.PLUS)
§ PAREN_LEFTtop ^
GameMaker Language (.gml)CopyPAREN_LEFTThe ( character.
§ PAREN_RIGHTtop ^
GameMaker Language (.gml)CopyPAREN_RIGHTThe ) character.
§ BOX_LEFTtop ^
GameMaker Language (.gml)CopyBOX_LEFTThe [ character.
§ BOX_RIGHTtop ^
GameMaker Language (.gml)CopyBOX_RIGHTThe ] character.
§ BRACE_LEFTtop ^
GameMaker Language (.gml)CopyBRACE_LEFTThe { character.
§ BRACE_RIGHTtop ^
GameMaker Language (.gml)CopyBRACE_RIGHTThe } character.
§ COLONtop ^
GameMaker Language (.gml)CopyCOLONThe : character.
§ SEMICOLONtop ^
GameMaker Language (.gml)CopySEMICOLONThe ; character.
§ COMMAtop ^
GameMaker Language (.gml)CopyCOMMAThe , character.
§ DOTtop ^
GameMaker Language (.gml)CopyDOTThe . operator.
§ ARROWtop ^
GameMaker Language (.gml)CopyARROWThe => operator.
§ ASSIGNtop ^
GameMaker Language (.gml)CopyASSIGNThe = operator.
§ ASSIGN_MULTIPLYtop ^
GameMaker Language (.gml)CopyASSIGN_MULTIPLYThe *= operator.
§ ASSIGN_DIVIDEtop ^
GameMaker Language (.gml)CopyASSIGN_DIVIDEThe /= operator.
§ ASSIGN_SUBTRACTtop ^
GameMaker Language (.gml)CopyASSIGN_SUBTRACTThe -= operator.
§ ASSIGN_PLUStop ^
GameMaker Language (.gml)CopyASSIGN_PLUSThe += operator.
§ REMAINDERtop ^
GameMaker Language (.gml)CopyREMAINDERThe remainder % operator.
§ MULTIPLYtop ^
GameMaker Language (.gml)CopyMULTIPLYThe * operator.
§ DIVIDEtop ^
GameMaker Language (.gml)CopyDIVIDEThe / operator.
§ DIVIDE_INTtop ^
GameMaker Language (.gml)CopyDIVIDE_INTThe integer division // operator.
§ SUBTRACTtop ^
GameMaker Language (.gml)CopySUBTRACTThe - operator.
§ PLUStop ^
GameMaker Language (.gml)CopyPLUSThe + operator.
§ EQUALtop ^
GameMaker Language (.gml)CopyEQUALThe relational == operator.
§ NOT_EQUALtop ^
GameMaker Language (.gml)CopyNOT_EQUALThe relational != operator.
§ GREATERtop ^
GameMaker Language (.gml)CopyGREATERThe relational > operator.
§ GREATER_EQUALtop ^
GameMaker Language (.gml)CopyGREATER_EQUALThe relational >= operator.
§ LESStop ^
GameMaker Language (.gml)CopyLESSThe relational < operator.
§ LESS_EQUALtop ^
GameMaker Language (.gml)CopyLESS_EQUALThe relational <= operator.
§ NOTtop ^
GameMaker Language (.gml)CopyNOTThe logical negation ! operator.
§ BITWISE_NOTtop ^
GameMaker Language (.gml)CopyBITWISE_NOTThe bitwise negation ~ operator.
§ SHIFT_RIGHTtop ^
GameMaker Language (.gml)CopySHIFT_RIGHTThe bitwise right shift >> operator.
§ SHIFT_LEFTtop ^
GameMaker Language (.gml)CopySHIFT_LEFTThe bitwise left shift << operator.
§ BITWISE_ANDtop ^
GameMaker Language (.gml)CopyBITWISE_ANDThe bitwise and & operator.
§ BITWISE_XORtop ^
GameMaker Language (.gml)CopyBITWISE_XORThe bitwise xor ^ operator.
§ BITWISE_ORtop ^
GameMaker Language (.gml)CopyBITWISE_ORThe bitwise or | operator.
§ ANDtop ^
GameMaker Language (.gml)CopyANDThe logical and operator.
§ ORtop ^
GameMaker Language (.gml)CopyORThe logical or operator.
§ XORtop ^
GameMaker Language (.gml)CopyXORThe logical xor operator.
§ PIPE_RIGHTtop ^
GameMaker Language (.gml)CopyPIPE_RIGHTThe functional pipe right |> operator.
§ PIPE_LEFTtop ^
GameMaker Language (.gml)CopyPIPE_LEFTThe functional pipe left <| operator.
§ DOtop ^
GameMaker Language (.gml)CopyDOThe do keyword.
§ IFtop ^
GameMaker Language (.gml)CopyIFThe if keyword.
§ ELSEtop ^
GameMaker Language (.gml)CopyELSEThe else keyword.
§ WHILEtop ^
GameMaker Language (.gml)CopyWHILEThe while keyword.
§ FORtop ^
GameMaker Language (.gml)CopyFOR🔬 This is an experimental feature. It may change at any moment.
The for keyword.
§ LOOPtop ^
GameMaker Language (.gml)CopyLOOP🔬 This is an experimental feature. It may change at any moment.
The loop keyword.
§ WITHtop ^
GameMaker Language (.gml)CopyWITH🔬 This is an experimental feature. It may change at any moment.
The with keyword.
§ MATCHtop ^
GameMaker Language (.gml)CopyMATCH🔬 This is an experimental feature. It may change at any moment.
The match keyword.
§ LETtop ^
GameMaker Language (.gml)CopyLETThe let keyword.
§ FUNtop ^
GameMaker Language (.gml)CopyFUNThe fun keyword.
§ BREAKtop ^
GameMaker Language (.gml)CopyBREAKThe break keyword.
§ CONTINUEtop ^
GameMaker Language (.gml)CopyCONTINUEThe continue keyword.
§ RETURNtop ^
GameMaker Language (.gml)CopyRETURNThe return keyword.
§ NEWtop ^
GameMaker Language (.gml)CopyNEWThe new keyword.
§ IMPLtop ^
GameMaker Language (.gml)CopyIMPL🔬 This is an experimental feature. It may change at any moment.
The impl keyword.
§ SELFtop ^
GameMaker Language (.gml)CopySELF🔬 This is an experimental feature. It may change at any moment.
The self keyword.
§ PARAMStop ^
GameMaker Language (.gml)CopyPARAMS🔬 This is an experimental feature. It may change at any moment.
The params keyword.
§ PARAMS_COUNTtop ^
GameMaker Language (.gml)CopyPARAMS_COUNT🔬 This is an experimental feature. It may change at any moment.
The params_count keyword.
§ IDENTtop ^
GameMaker Language (.gml)CopyIDENTRepresents a variable name.
§ VALUEtop ^
GameMaker Language (.gml)CopyVALUERepresents a GML value. This could be one of:
string literal:
"hello world"verbatim literal:
@"\(0_0)/ no escapes!"integer:
1,2,5float:
1.25,0.5character:
'A','0','\n'boolean:
trueorfalseundefined
§ WHITESPACEtop ^
GameMaker Language (.gml)CopyWHITESPACERepresents a sequence of non-breaking whitespace characters.
§ COMMENTtop ^
GameMaker Language (.gml)CopyCOMMENTRepresents a comment.
§ EOFtop ^
GameMaker Language (.gml)CopyEOFRepresents the end of the file.
§ OTHERtop ^
GameMaker Language (.gml)CopyOTHERRepresents any other unrecognised character.
📝 NoteIf the compiler encounters a token of this type, it will typically raise an exception. This likely indicates that a Catspeak script has a syntax error somewhere.