Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
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    : .;