Repository URL to install this package:
|
Version:
2023.12.1 ▾
|
lexer grammar StateMachineLexer;
// Keywords
KW_STATEMACHINE : 'StateMachine';
KW_PARAMETERS : 'Parameters';
KW_VARIABLES : 'Variables';
KW_ENTRYPOINT : 'EntryPoint';
KW_TASK : 'Task';
KW_SUBSTATEMACHINETASK: 'SubStateMachineTask';
KW_PASSTASK : 'PassTask';
KW_ERRORTASK : 'ErrorTask';
KW_WAITTASK : 'WaitTask';
KW_EVENT : 'Event';
KW_IN : 'in';
KW_OUT : 'out';
KW_USING : 'using';
KW_HANDLING : 'handling';
KW_SCRIPT : 'Script';
KW_PAYLOAD_LBRACE : 'Payload' WS '{' -> pushMode(RAW_SCRIPT_MODE);
KW_TRANSITION : 'Transition';
// DataTypes
INT : 'int';
FLOAT : 'float';
STRING : 'string';
BOOL : 'bool';
ARRAY : 'array';
MAP : 'map';
// Literals
LBRACE : '{';
RBRACE : '}';
LPAREN : '(';
RPAREN : ')';
SEMI : ';';
COMMA : ',';
ARROW : '->';
DARROW : '<-';
// Lexer rules
IDENTIFIER : [a-zA-Z_][a-zA-Z0-9_]*;
GRN : [a-zA-Z_][a-zA-Z0-9_\-:{}]*;
WS : [ \t\r\n]+ -> skip;
COMMENT : '//' ~[\r\n]* -> skip;
mode RAW_SCRIPT_MODE;
RAW_SCRIPT_LBRACE : '{' -> pushMode(RAW_SCRIPT_MODE);
RAW_SCRIPT_RBRACE : '}' -> popMode;
RAW_SCRIPT_TEXT : .;