diff --git a/src/spider/tdl/parser/TaskDefLang.g4 b/src/spider/tdl/parser/TaskDefLang.g4 index 54de9500..5ef8bf55 100644 --- a/src/spider/tdl/parser/TaskDefLang.g4 +++ b/src/spider/tdl/parser/TaskDefLang.g4 @@ -278,6 +278,128 @@ builtinType returns [std::unique_ptr retval] } ; -ID: [a-zA-Z_][a-zA-Z0-9_]* ; SPACE: [ \t\r\n] -> skip ; COMMENT: '//' (~[\r\n])* -> skip; + +RESERVED_CONTROL_FLOW_WORDS +: 'if' +| 'else' +| 'elif' +| 'switch' +| 'case' +| 'default' +| 'match' +| 'while' +| 'for' +| 'loop' +| 'do' +| 'break' +| 'continue' +| 'return' +| 'goto' +| 'pass' +| 'yield' +; + +RESERVED_DEF_WORDS +: 'class' +| 'struct' +| 'enum' +| 'union' +| 'interface' +| 'namespace' +| 'using' +| 'typedef' +| 'decltype' +| 'def' +| 'dataclass' +| 'fn' +| 'let' +| 'module' +| 'import' +| 'template' +| 'requires' +| 'concept' +; + +RESERVED_TYPE_AND_STORAGE_WORDS +: 'int' +| 'long' +| 'short' +| 'byte' +| 'signed' +| 'unsigned' +| 'char' +| 'string' +| 'str' +| 'float' +| 'double' +| 'bool' +| 'void' +| 'const' +| 'static' +| 'auto' +| 'volatile' +| 'register' +| 'final' +| 'abstract' +| 'this' +| 'self' +| 'new' +| 'delete' +| 'null' +| 'nullptr' +| 'None' +| 'true' +| 'false' +| 'True' +| 'False' +; + +RESERVED_ERROR_HANDLING_WORDS +: 'try' +| 'catch' +| 'throw' +| 'throws' +| 'raise' +| 'finally' +| 'assert' +| 'except' +; + +RESERVED_ACCESS_CONTROL_WORDS +: 'public' +| 'private' +| 'protected' +| 'internal' +| 'friend' +; + +RESERVED_OTHER_WORDS +: 'operator' +| 'inline' +| 'virtual' +| 'override' +| 'extern' +| 'sizeof' +| 'await' +| 'async' +| 'with' +| 'global' +| 'nonlocal' +| 'and' +| 'or' +| 'not' +| 'in' +| 'is' +| 'del' +| 'lambda' +| 'from' +| 'as' +| 'constexpr' +| 'nodiscard' +| 'noexcept' +; + +// ID must be defined after RESERVED_* so that the reserved words get higher precedence. +ID: [a-zA-Z_][a-zA-Z0-9_]* ; diff --git a/src/spider/tdl/parser/antlr_generated/TaskDefLangLexer.cpp b/src/spider/tdl/parser/antlr_generated/TaskDefLangLexer.cpp index 3466b740..fe7fa2c3 100644 --- a/src/spider/tdl/parser/antlr_generated/TaskDefLangLexer.cpp +++ b/src/spider/tdl/parser/antlr_generated/TaskDefLangLexer.cpp @@ -71,8 +71,10 @@ void taskdeflanglexerLexerInitialize() { std::vector{ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", - "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "ID", "SPACE", - "COMMENT" + "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "SPACE", "COMMENT", + "RESERVED_CONTROL_FLOW_WORDS", "RESERVED_DEF_WORDS", "RESERVED_TYPE_AND_STORAGE_WORDS", + "RESERVED_ERROR_HANDLING_WORDS", "RESERVED_ACCESS_CONTROL_WORDS", + "RESERVED_OTHER_WORDS", "ID" }, std::vector{ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" @@ -88,64 +90,272 @@ void taskdeflanglexerLexerInitialize() { }, std::vector{ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "ID", "SPACE", "COMMENT" + "", "", "", "", "", "", "", "SPACE", "COMMENT", "RESERVED_CONTROL_FLOW_WORDS", + "RESERVED_DEF_WORDS", "RESERVED_TYPE_AND_STORAGE_WORDS", "RESERVED_ERROR_HANDLING_WORDS", + "RESERVED_ACCESS_CONTROL_WORDS", "RESERVED_OTHER_WORDS", "ID" } ); static const int32_t serializedATNSegment[] = { - 4,0,26,172,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7, + 4,0,32,741,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7, 6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14, 7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21, - 7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1, - 7,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11, - 1,11,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15, - 1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17, - 1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20, - 1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22, - 1,22,1,22,1,23,1,23,5,23,153,8,23,10,23,12,23,156,9,23,1,24,1,24,1,24, - 1,24,1,25,1,25,1,25,1,25,5,25,166,8,25,10,25,12,25,169,9,25,1,25,1,25, - 0,0,26,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13, - 27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49, - 25,51,26,1,0,4,3,0,65,90,95,95,97,122,4,0,48,57,65,90,95,95,97,122,3, - 0,9,10,13,13,32,32,2,0,10,10,13,13,173,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1, - 0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0, - 0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27, - 1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0, - 0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0, - 0,49,1,0,0,0,0,51,1,0,0,0,1,53,1,0,0,0,3,63,1,0,0,0,5,65,1,0,0,0,7,67, - 1,0,0,0,9,70,1,0,0,0,11,72,1,0,0,0,13,74,1,0,0,0,15,76,1,0,0,0,17,79, - 1,0,0,0,19,81,1,0,0,0,21,83,1,0,0,0,23,90,1,0,0,0,25,95,1,0,0,0,27,97, - 1,0,0,0,29,99,1,0,0,0,31,103,1,0,0,0,33,109,1,0,0,0,35,114,1,0,0,0,37, - 120,1,0,0,0,39,126,1,0,0,0,41,132,1,0,0,0,43,138,1,0,0,0,45,145,1,0,0, - 0,47,150,1,0,0,0,49,157,1,0,0,0,51,161,1,0,0,0,53,54,5,110,0,0,54,55, - 5,97,0,0,55,56,5,109,0,0,56,57,5,101,0,0,57,58,5,115,0,0,58,59,5,112, - 0,0,59,60,5,97,0,0,60,61,5,99,0,0,61,62,5,101,0,0,62,2,1,0,0,0,63,64, - 5,123,0,0,64,4,1,0,0,0,65,66,5,125,0,0,66,6,1,0,0,0,67,68,5,102,0,0,68, - 69,5,110,0,0,69,8,1,0,0,0,70,71,5,40,0,0,71,10,1,0,0,0,72,73,5,41,0,0, - 73,12,1,0,0,0,74,75,5,59,0,0,75,14,1,0,0,0,76,77,5,45,0,0,77,78,5,62, - 0,0,78,16,1,0,0,0,79,80,5,58,0,0,80,18,1,0,0,0,81,82,5,44,0,0,82,20,1, - 0,0,0,83,84,5,115,0,0,84,85,5,116,0,0,85,86,5,114,0,0,86,87,5,117,0,0, - 87,88,5,99,0,0,88,89,5,116,0,0,89,22,1,0,0,0,90,91,5,76,0,0,91,92,5,105, - 0,0,92,93,5,115,0,0,93,94,5,116,0,0,94,24,1,0,0,0,95,96,5,60,0,0,96,26, - 1,0,0,0,97,98,5,62,0,0,98,28,1,0,0,0,99,100,5,77,0,0,100,101,5,97,0,0, - 101,102,5,112,0,0,102,30,1,0,0,0,103,104,5,84,0,0,104,105,5,117,0,0,105, - 106,5,112,0,0,106,107,5,108,0,0,107,108,5,101,0,0,108,32,1,0,0,0,109, - 110,5,105,0,0,110,111,5,110,0,0,111,112,5,116,0,0,112,113,5,56,0,0,113, - 34,1,0,0,0,114,115,5,105,0,0,115,116,5,110,0,0,116,117,5,116,0,0,117, - 118,5,49,0,0,118,119,5,54,0,0,119,36,1,0,0,0,120,121,5,105,0,0,121,122, - 5,110,0,0,122,123,5,116,0,0,123,124,5,51,0,0,124,125,5,50,0,0,125,38, - 1,0,0,0,126,127,5,105,0,0,127,128,5,110,0,0,128,129,5,116,0,0,129,130, - 5,54,0,0,130,131,5,52,0,0,131,40,1,0,0,0,132,133,5,102,0,0,133,134,5, - 108,0,0,134,135,5,111,0,0,135,136,5,97,0,0,136,137,5,116,0,0,137,42,1, - 0,0,0,138,139,5,100,0,0,139,140,5,111,0,0,140,141,5,117,0,0,141,142,5, - 98,0,0,142,143,5,108,0,0,143,144,5,101,0,0,144,44,1,0,0,0,145,146,5,98, - 0,0,146,147,5,111,0,0,147,148,5,111,0,0,148,149,5,108,0,0,149,46,1,0, - 0,0,150,154,7,0,0,0,151,153,7,1,0,0,152,151,1,0,0,0,153,156,1,0,0,0,154, - 152,1,0,0,0,154,155,1,0,0,0,155,48,1,0,0,0,156,154,1,0,0,0,157,158,7, - 2,0,0,158,159,1,0,0,0,159,160,6,24,0,0,160,50,1,0,0,0,161,162,5,47,0, - 0,162,163,5,47,0,0,163,167,1,0,0,0,164,166,8,3,0,0,165,164,1,0,0,0,166, - 169,1,0,0,0,167,165,1,0,0,0,167,168,1,0,0,0,168,170,1,0,0,0,169,167,1, - 0,0,0,170,171,6,25,0,0,171,52,1,0,0,0,3,0,154,167,1,6,0,0 + 7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28, + 7,28,2,29,7,29,2,30,7,30,2,31,7,31,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,7, + 1,8,1,8,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11, + 1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15, + 1,15,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18, + 1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20, + 1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22, + 1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,5,24,171,8,24,10,24,12,24,174, + 9,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25, + 1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25, + 1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25, + 1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25, + 1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25, + 1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,3,25,256,8,25, + 1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,3,26,368, + 8,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,3,27,526,8,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28, + 1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28, + 1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28, + 1,28,1,28,1,28,1,28,1,28,1,28,1,28,3,28,571,8,28,1,29,1,29,1,29,1,29, + 1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29, + 1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29, + 1,29,1,29,1,29,1,29,3,29,609,8,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30, + 1,30,1,30,1,30,3,30,733,8,30,1,31,1,31,5,31,737,8,31,10,31,12,31,740, + 9,31,0,0,32,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12, + 25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47, + 24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,1,0,4,3,0,9,10,13, + 13,32,32,2,0,10,10,13,13,3,0,65,90,95,95,97,122,4,0,48,57,65,90,95,95, + 97,122,838,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0, + 0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0, + 21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1, + 0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0, + 0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0, + 53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1, + 0,0,0,1,65,1,0,0,0,3,75,1,0,0,0,5,77,1,0,0,0,7,79,1,0,0,0,9,82,1,0,0, + 0,11,84,1,0,0,0,13,86,1,0,0,0,15,88,1,0,0,0,17,91,1,0,0,0,19,93,1,0,0, + 0,21,95,1,0,0,0,23,102,1,0,0,0,25,107,1,0,0,0,27,109,1,0,0,0,29,111,1, + 0,0,0,31,115,1,0,0,0,33,121,1,0,0,0,35,126,1,0,0,0,37,132,1,0,0,0,39, + 138,1,0,0,0,41,144,1,0,0,0,43,150,1,0,0,0,45,157,1,0,0,0,47,162,1,0,0, + 0,49,166,1,0,0,0,51,255,1,0,0,0,53,367,1,0,0,0,55,525,1,0,0,0,57,570, + 1,0,0,0,59,608,1,0,0,0,61,732,1,0,0,0,63,734,1,0,0,0,65,66,5,110,0,0, + 66,67,5,97,0,0,67,68,5,109,0,0,68,69,5,101,0,0,69,70,5,115,0,0,70,71, + 5,112,0,0,71,72,5,97,0,0,72,73,5,99,0,0,73,74,5,101,0,0,74,2,1,0,0,0, + 75,76,5,123,0,0,76,4,1,0,0,0,77,78,5,125,0,0,78,6,1,0,0,0,79,80,5,102, + 0,0,80,81,5,110,0,0,81,8,1,0,0,0,82,83,5,40,0,0,83,10,1,0,0,0,84,85,5, + 41,0,0,85,12,1,0,0,0,86,87,5,59,0,0,87,14,1,0,0,0,88,89,5,45,0,0,89,90, + 5,62,0,0,90,16,1,0,0,0,91,92,5,58,0,0,92,18,1,0,0,0,93,94,5,44,0,0,94, + 20,1,0,0,0,95,96,5,115,0,0,96,97,5,116,0,0,97,98,5,114,0,0,98,99,5,117, + 0,0,99,100,5,99,0,0,100,101,5,116,0,0,101,22,1,0,0,0,102,103,5,76,0,0, + 103,104,5,105,0,0,104,105,5,115,0,0,105,106,5,116,0,0,106,24,1,0,0,0, + 107,108,5,60,0,0,108,26,1,0,0,0,109,110,5,62,0,0,110,28,1,0,0,0,111,112, + 5,77,0,0,112,113,5,97,0,0,113,114,5,112,0,0,114,30,1,0,0,0,115,116,5, + 84,0,0,116,117,5,117,0,0,117,118,5,112,0,0,118,119,5,108,0,0,119,120, + 5,101,0,0,120,32,1,0,0,0,121,122,5,105,0,0,122,123,5,110,0,0,123,124, + 5,116,0,0,124,125,5,56,0,0,125,34,1,0,0,0,126,127,5,105,0,0,127,128,5, + 110,0,0,128,129,5,116,0,0,129,130,5,49,0,0,130,131,5,54,0,0,131,36,1, + 0,0,0,132,133,5,105,0,0,133,134,5,110,0,0,134,135,5,116,0,0,135,136,5, + 51,0,0,136,137,5,50,0,0,137,38,1,0,0,0,138,139,5,105,0,0,139,140,5,110, + 0,0,140,141,5,116,0,0,141,142,5,54,0,0,142,143,5,52,0,0,143,40,1,0,0, + 0,144,145,5,102,0,0,145,146,5,108,0,0,146,147,5,111,0,0,147,148,5,97, + 0,0,148,149,5,116,0,0,149,42,1,0,0,0,150,151,5,100,0,0,151,152,5,111, + 0,0,152,153,5,117,0,0,153,154,5,98,0,0,154,155,5,108,0,0,155,156,5,101, + 0,0,156,44,1,0,0,0,157,158,5,98,0,0,158,159,5,111,0,0,159,160,5,111,0, + 0,160,161,5,108,0,0,161,46,1,0,0,0,162,163,7,0,0,0,163,164,1,0,0,0,164, + 165,6,23,0,0,165,48,1,0,0,0,166,167,5,47,0,0,167,168,5,47,0,0,168,172, + 1,0,0,0,169,171,8,1,0,0,170,169,1,0,0,0,171,174,1,0,0,0,172,170,1,0,0, + 0,172,173,1,0,0,0,173,175,1,0,0,0,174,172,1,0,0,0,175,176,6,24,0,0,176, + 50,1,0,0,0,177,178,5,105,0,0,178,256,5,102,0,0,179,180,5,101,0,0,180, + 181,5,108,0,0,181,182,5,115,0,0,182,256,5,101,0,0,183,184,5,101,0,0,184, + 185,5,108,0,0,185,186,5,105,0,0,186,256,5,102,0,0,187,188,5,115,0,0,188, + 189,5,119,0,0,189,190,5,105,0,0,190,191,5,116,0,0,191,192,5,99,0,0,192, + 256,5,104,0,0,193,194,5,99,0,0,194,195,5,97,0,0,195,196,5,115,0,0,196, + 256,5,101,0,0,197,198,5,100,0,0,198,199,5,101,0,0,199,200,5,102,0,0,200, + 201,5,97,0,0,201,202,5,117,0,0,202,203,5,108,0,0,203,256,5,116,0,0,204, + 205,5,109,0,0,205,206,5,97,0,0,206,207,5,116,0,0,207,208,5,99,0,0,208, + 256,5,104,0,0,209,210,5,119,0,0,210,211,5,104,0,0,211,212,5,105,0,0,212, + 213,5,108,0,0,213,256,5,101,0,0,214,215,5,102,0,0,215,216,5,111,0,0,216, + 256,5,114,0,0,217,218,5,108,0,0,218,219,5,111,0,0,219,220,5,111,0,0,220, + 256,5,112,0,0,221,222,5,100,0,0,222,256,5,111,0,0,223,224,5,98,0,0,224, + 225,5,114,0,0,225,226,5,101,0,0,226,227,5,97,0,0,227,256,5,107,0,0,228, + 229,5,99,0,0,229,230,5,111,0,0,230,231,5,110,0,0,231,232,5,116,0,0,232, + 233,5,105,0,0,233,234,5,110,0,0,234,235,5,117,0,0,235,256,5,101,0,0,236, + 237,5,114,0,0,237,238,5,101,0,0,238,239,5,116,0,0,239,240,5,117,0,0,240, + 241,5,114,0,0,241,256,5,110,0,0,242,243,5,103,0,0,243,244,5,111,0,0,244, + 245,5,116,0,0,245,256,5,111,0,0,246,247,5,112,0,0,247,248,5,97,0,0,248, + 249,5,115,0,0,249,256,5,115,0,0,250,251,5,121,0,0,251,252,5,105,0,0,252, + 253,5,101,0,0,253,254,5,108,0,0,254,256,5,100,0,0,255,177,1,0,0,0,255, + 179,1,0,0,0,255,183,1,0,0,0,255,187,1,0,0,0,255,193,1,0,0,0,255,197,1, + 0,0,0,255,204,1,0,0,0,255,209,1,0,0,0,255,214,1,0,0,0,255,217,1,0,0,0, + 255,221,1,0,0,0,255,223,1,0,0,0,255,228,1,0,0,0,255,236,1,0,0,0,255,242, + 1,0,0,0,255,246,1,0,0,0,255,250,1,0,0,0,256,52,1,0,0,0,257,258,5,99,0, + 0,258,259,5,108,0,0,259,260,5,97,0,0,260,261,5,115,0,0,261,368,5,115, + 0,0,262,263,5,115,0,0,263,264,5,116,0,0,264,265,5,114,0,0,265,266,5,117, + 0,0,266,267,5,99,0,0,267,368,5,116,0,0,268,269,5,101,0,0,269,270,5,110, + 0,0,270,271,5,117,0,0,271,368,5,109,0,0,272,273,5,117,0,0,273,274,5,110, + 0,0,274,275,5,105,0,0,275,276,5,111,0,0,276,368,5,110,0,0,277,278,5,105, + 0,0,278,279,5,110,0,0,279,280,5,116,0,0,280,281,5,101,0,0,281,282,5,114, + 0,0,282,283,5,102,0,0,283,284,5,97,0,0,284,285,5,99,0,0,285,368,5,101, + 0,0,286,287,5,110,0,0,287,288,5,97,0,0,288,289,5,109,0,0,289,290,5,101, + 0,0,290,291,5,115,0,0,291,292,5,112,0,0,292,293,5,97,0,0,293,294,5,99, + 0,0,294,368,5,101,0,0,295,296,5,117,0,0,296,297,5,115,0,0,297,298,5,105, + 0,0,298,299,5,110,0,0,299,368,5,103,0,0,300,301,5,116,0,0,301,302,5,121, + 0,0,302,303,5,112,0,0,303,304,5,101,0,0,304,305,5,100,0,0,305,306,5,101, + 0,0,306,368,5,102,0,0,307,308,5,100,0,0,308,309,5,101,0,0,309,310,5,99, + 0,0,310,311,5,108,0,0,311,312,5,116,0,0,312,313,5,121,0,0,313,314,5,112, + 0,0,314,368,5,101,0,0,315,316,5,100,0,0,316,317,5,101,0,0,317,368,5,102, + 0,0,318,319,5,100,0,0,319,320,5,97,0,0,320,321,5,116,0,0,321,322,5,97, + 0,0,322,323,5,99,0,0,323,324,5,108,0,0,324,325,5,97,0,0,325,326,5,115, + 0,0,326,368,5,115,0,0,327,328,5,102,0,0,328,368,5,110,0,0,329,330,5,108, + 0,0,330,331,5,101,0,0,331,368,5,116,0,0,332,333,5,109,0,0,333,334,5,111, + 0,0,334,335,5,100,0,0,335,336,5,117,0,0,336,337,5,108,0,0,337,368,5,101, + 0,0,338,339,5,105,0,0,339,340,5,109,0,0,340,341,5,112,0,0,341,342,5,111, + 0,0,342,343,5,114,0,0,343,368,5,116,0,0,344,345,5,116,0,0,345,346,5,101, + 0,0,346,347,5,109,0,0,347,348,5,112,0,0,348,349,5,108,0,0,349,350,5,97, + 0,0,350,351,5,116,0,0,351,368,5,101,0,0,352,353,5,114,0,0,353,354,5,101, + 0,0,354,355,5,113,0,0,355,356,5,117,0,0,356,357,5,105,0,0,357,358,5,114, + 0,0,358,359,5,101,0,0,359,368,5,115,0,0,360,361,5,99,0,0,361,362,5,111, + 0,0,362,363,5,110,0,0,363,364,5,99,0,0,364,365,5,101,0,0,365,366,5,112, + 0,0,366,368,5,116,0,0,367,257,1,0,0,0,367,262,1,0,0,0,367,268,1,0,0,0, + 367,272,1,0,0,0,367,277,1,0,0,0,367,286,1,0,0,0,367,295,1,0,0,0,367,300, + 1,0,0,0,367,307,1,0,0,0,367,315,1,0,0,0,367,318,1,0,0,0,367,327,1,0,0, + 0,367,329,1,0,0,0,367,332,1,0,0,0,367,338,1,0,0,0,367,344,1,0,0,0,367, + 352,1,0,0,0,367,360,1,0,0,0,368,54,1,0,0,0,369,370,5,105,0,0,370,371, + 5,110,0,0,371,526,5,116,0,0,372,373,5,108,0,0,373,374,5,111,0,0,374,375, + 5,110,0,0,375,526,5,103,0,0,376,377,5,115,0,0,377,378,5,104,0,0,378,379, + 5,111,0,0,379,380,5,114,0,0,380,526,5,116,0,0,381,382,5,98,0,0,382,383, + 5,121,0,0,383,384,5,116,0,0,384,526,5,101,0,0,385,386,5,115,0,0,386,387, + 5,105,0,0,387,388,5,103,0,0,388,389,5,110,0,0,389,390,5,101,0,0,390,526, + 5,100,0,0,391,392,5,117,0,0,392,393,5,110,0,0,393,394,5,115,0,0,394,395, + 5,105,0,0,395,396,5,103,0,0,396,397,5,110,0,0,397,398,5,101,0,0,398,526, + 5,100,0,0,399,400,5,99,0,0,400,401,5,104,0,0,401,402,5,97,0,0,402,526, + 5,114,0,0,403,404,5,115,0,0,404,405,5,116,0,0,405,406,5,114,0,0,406,407, + 5,105,0,0,407,408,5,110,0,0,408,526,5,103,0,0,409,410,5,115,0,0,410,411, + 5,116,0,0,411,526,5,114,0,0,412,413,5,102,0,0,413,414,5,108,0,0,414,415, + 5,111,0,0,415,416,5,97,0,0,416,526,5,116,0,0,417,418,5,100,0,0,418,419, + 5,111,0,0,419,420,5,117,0,0,420,421,5,98,0,0,421,422,5,108,0,0,422,526, + 5,101,0,0,423,424,5,98,0,0,424,425,5,111,0,0,425,426,5,111,0,0,426,526, + 5,108,0,0,427,428,5,118,0,0,428,429,5,111,0,0,429,430,5,105,0,0,430,526, + 5,100,0,0,431,432,5,99,0,0,432,433,5,111,0,0,433,434,5,110,0,0,434,435, + 5,115,0,0,435,526,5,116,0,0,436,437,5,115,0,0,437,438,5,116,0,0,438,439, + 5,97,0,0,439,440,5,116,0,0,440,441,5,105,0,0,441,526,5,99,0,0,442,443, + 5,97,0,0,443,444,5,117,0,0,444,445,5,116,0,0,445,526,5,111,0,0,446,447, + 5,118,0,0,447,448,5,111,0,0,448,449,5,108,0,0,449,450,5,97,0,0,450,451, + 5,116,0,0,451,452,5,105,0,0,452,453,5,108,0,0,453,526,5,101,0,0,454,455, + 5,114,0,0,455,456,5,101,0,0,456,457,5,103,0,0,457,458,5,105,0,0,458,459, + 5,115,0,0,459,460,5,116,0,0,460,461,5,101,0,0,461,526,5,114,0,0,462,463, + 5,102,0,0,463,464,5,105,0,0,464,465,5,110,0,0,465,466,5,97,0,0,466,526, + 5,108,0,0,467,468,5,97,0,0,468,469,5,98,0,0,469,470,5,115,0,0,470,471, + 5,116,0,0,471,472,5,114,0,0,472,473,5,97,0,0,473,474,5,99,0,0,474,526, + 5,116,0,0,475,476,5,116,0,0,476,477,5,104,0,0,477,478,5,105,0,0,478,526, + 5,115,0,0,479,480,5,115,0,0,480,481,5,101,0,0,481,482,5,108,0,0,482,526, + 5,102,0,0,483,484,5,110,0,0,484,485,5,101,0,0,485,526,5,119,0,0,486,487, + 5,100,0,0,487,488,5,101,0,0,488,489,5,108,0,0,489,490,5,101,0,0,490,491, + 5,116,0,0,491,526,5,101,0,0,492,493,5,110,0,0,493,494,5,117,0,0,494,495, + 5,108,0,0,495,526,5,108,0,0,496,497,5,110,0,0,497,498,5,117,0,0,498,499, + 5,108,0,0,499,500,5,108,0,0,500,501,5,112,0,0,501,502,5,116,0,0,502,526, + 5,114,0,0,503,504,5,78,0,0,504,505,5,111,0,0,505,506,5,110,0,0,506,526, + 5,101,0,0,507,508,5,116,0,0,508,509,5,114,0,0,509,510,5,117,0,0,510,526, + 5,101,0,0,511,512,5,102,0,0,512,513,5,97,0,0,513,514,5,108,0,0,514,515, + 5,115,0,0,515,526,5,101,0,0,516,517,5,84,0,0,517,518,5,114,0,0,518,519, + 5,117,0,0,519,526,5,101,0,0,520,521,5,70,0,0,521,522,5,97,0,0,522,523, + 5,108,0,0,523,524,5,115,0,0,524,526,5,101,0,0,525,369,1,0,0,0,525,372, + 1,0,0,0,525,376,1,0,0,0,525,381,1,0,0,0,525,385,1,0,0,0,525,391,1,0,0, + 0,525,399,1,0,0,0,525,403,1,0,0,0,525,409,1,0,0,0,525,412,1,0,0,0,525, + 417,1,0,0,0,525,423,1,0,0,0,525,427,1,0,0,0,525,431,1,0,0,0,525,436,1, + 0,0,0,525,442,1,0,0,0,525,446,1,0,0,0,525,454,1,0,0,0,525,462,1,0,0,0, + 525,467,1,0,0,0,525,475,1,0,0,0,525,479,1,0,0,0,525,483,1,0,0,0,525,486, + 1,0,0,0,525,492,1,0,0,0,525,496,1,0,0,0,525,503,1,0,0,0,525,507,1,0,0, + 0,525,511,1,0,0,0,525,516,1,0,0,0,525,520,1,0,0,0,526,56,1,0,0,0,527, + 528,5,116,0,0,528,529,5,114,0,0,529,571,5,121,0,0,530,531,5,99,0,0,531, + 532,5,97,0,0,532,533,5,116,0,0,533,534,5,99,0,0,534,571,5,104,0,0,535, + 536,5,116,0,0,536,537,5,104,0,0,537,538,5,114,0,0,538,539,5,111,0,0,539, + 571,5,119,0,0,540,541,5,116,0,0,541,542,5,104,0,0,542,543,5,114,0,0,543, + 544,5,111,0,0,544,545,5,119,0,0,545,571,5,115,0,0,546,547,5,114,0,0,547, + 548,5,97,0,0,548,549,5,105,0,0,549,550,5,115,0,0,550,571,5,101,0,0,551, + 552,5,102,0,0,552,553,5,105,0,0,553,554,5,110,0,0,554,555,5,97,0,0,555, + 556,5,108,0,0,556,557,5,108,0,0,557,571,5,121,0,0,558,559,5,97,0,0,559, + 560,5,115,0,0,560,561,5,115,0,0,561,562,5,101,0,0,562,563,5,114,0,0,563, + 571,5,116,0,0,564,565,5,101,0,0,565,566,5,120,0,0,566,567,5,99,0,0,567, + 568,5,101,0,0,568,569,5,112,0,0,569,571,5,116,0,0,570,527,1,0,0,0,570, + 530,1,0,0,0,570,535,1,0,0,0,570,540,1,0,0,0,570,546,1,0,0,0,570,551,1, + 0,0,0,570,558,1,0,0,0,570,564,1,0,0,0,571,58,1,0,0,0,572,573,5,112,0, + 0,573,574,5,117,0,0,574,575,5,98,0,0,575,576,5,108,0,0,576,577,5,105, + 0,0,577,609,5,99,0,0,578,579,5,112,0,0,579,580,5,114,0,0,580,581,5,105, + 0,0,581,582,5,118,0,0,582,583,5,97,0,0,583,584,5,116,0,0,584,609,5,101, + 0,0,585,586,5,112,0,0,586,587,5,114,0,0,587,588,5,111,0,0,588,589,5,116, + 0,0,589,590,5,101,0,0,590,591,5,99,0,0,591,592,5,116,0,0,592,593,5,101, + 0,0,593,609,5,100,0,0,594,595,5,105,0,0,595,596,5,110,0,0,596,597,5,116, + 0,0,597,598,5,101,0,0,598,599,5,114,0,0,599,600,5,110,0,0,600,601,5,97, + 0,0,601,609,5,108,0,0,602,603,5,102,0,0,603,604,5,114,0,0,604,605,5,105, + 0,0,605,606,5,101,0,0,606,607,5,110,0,0,607,609,5,100,0,0,608,572,1,0, + 0,0,608,578,1,0,0,0,608,585,1,0,0,0,608,594,1,0,0,0,608,602,1,0,0,0,609, + 60,1,0,0,0,610,611,5,111,0,0,611,612,5,112,0,0,612,613,5,101,0,0,613, + 614,5,114,0,0,614,615,5,97,0,0,615,616,5,116,0,0,616,617,5,111,0,0,617, + 733,5,114,0,0,618,619,5,105,0,0,619,620,5,110,0,0,620,621,5,108,0,0,621, + 622,5,105,0,0,622,623,5,110,0,0,623,733,5,101,0,0,624,625,5,118,0,0,625, + 626,5,105,0,0,626,627,5,114,0,0,627,628,5,116,0,0,628,629,5,117,0,0,629, + 630,5,97,0,0,630,733,5,108,0,0,631,632,5,111,0,0,632,633,5,118,0,0,633, + 634,5,101,0,0,634,635,5,114,0,0,635,636,5,114,0,0,636,637,5,105,0,0,637, + 638,5,100,0,0,638,733,5,101,0,0,639,640,5,101,0,0,640,641,5,120,0,0,641, + 642,5,116,0,0,642,643,5,101,0,0,643,644,5,114,0,0,644,733,5,110,0,0,645, + 646,5,115,0,0,646,647,5,105,0,0,647,648,5,122,0,0,648,649,5,101,0,0,649, + 650,5,111,0,0,650,733,5,102,0,0,651,652,5,97,0,0,652,653,5,119,0,0,653, + 654,5,97,0,0,654,655,5,105,0,0,655,733,5,116,0,0,656,657,5,97,0,0,657, + 658,5,115,0,0,658,659,5,121,0,0,659,660,5,110,0,0,660,733,5,99,0,0,661, + 662,5,119,0,0,662,663,5,105,0,0,663,664,5,116,0,0,664,733,5,104,0,0,665, + 666,5,103,0,0,666,667,5,108,0,0,667,668,5,111,0,0,668,669,5,98,0,0,669, + 670,5,97,0,0,670,733,5,108,0,0,671,672,5,110,0,0,672,673,5,111,0,0,673, + 674,5,110,0,0,674,675,5,108,0,0,675,676,5,111,0,0,676,677,5,99,0,0,677, + 678,5,97,0,0,678,733,5,108,0,0,679,680,5,97,0,0,680,681,5,110,0,0,681, + 733,5,100,0,0,682,683,5,111,0,0,683,733,5,114,0,0,684,685,5,110,0,0,685, + 686,5,111,0,0,686,733,5,116,0,0,687,688,5,105,0,0,688,733,5,110,0,0,689, + 690,5,105,0,0,690,733,5,115,0,0,691,692,5,100,0,0,692,693,5,101,0,0,693, + 733,5,108,0,0,694,695,5,108,0,0,695,696,5,97,0,0,696,697,5,109,0,0,697, + 698,5,98,0,0,698,699,5,100,0,0,699,733,5,97,0,0,700,701,5,102,0,0,701, + 702,5,114,0,0,702,703,5,111,0,0,703,733,5,109,0,0,704,705,5,97,0,0,705, + 733,5,115,0,0,706,707,5,99,0,0,707,708,5,111,0,0,708,709,5,110,0,0,709, + 710,5,115,0,0,710,711,5,116,0,0,711,712,5,101,0,0,712,713,5,120,0,0,713, + 714,5,112,0,0,714,733,5,114,0,0,715,716,5,110,0,0,716,717,5,111,0,0,717, + 718,5,100,0,0,718,719,5,105,0,0,719,720,5,115,0,0,720,721,5,99,0,0,721, + 722,5,97,0,0,722,723,5,114,0,0,723,733,5,100,0,0,724,725,5,110,0,0,725, + 726,5,111,0,0,726,727,5,101,0,0,727,728,5,120,0,0,728,729,5,99,0,0,729, + 730,5,101,0,0,730,731,5,112,0,0,731,733,5,116,0,0,732,610,1,0,0,0,732, + 618,1,0,0,0,732,624,1,0,0,0,732,631,1,0,0,0,732,639,1,0,0,0,732,645,1, + 0,0,0,732,651,1,0,0,0,732,656,1,0,0,0,732,661,1,0,0,0,732,665,1,0,0,0, + 732,671,1,0,0,0,732,679,1,0,0,0,732,682,1,0,0,0,732,684,1,0,0,0,732,687, + 1,0,0,0,732,689,1,0,0,0,732,691,1,0,0,0,732,694,1,0,0,0,732,700,1,0,0, + 0,732,704,1,0,0,0,732,706,1,0,0,0,732,715,1,0,0,0,732,724,1,0,0,0,733, + 62,1,0,0,0,734,738,7,2,0,0,735,737,7,3,0,0,736,735,1,0,0,0,737,740,1, + 0,0,0,738,736,1,0,0,0,738,739,1,0,0,0,739,64,1,0,0,0,740,738,1,0,0,0, + 9,0,172,255,367,525,570,608,732,738,1,6,0,0 }; staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); diff --git a/src/spider/tdl/parser/antlr_generated/TaskDefLangLexer.h b/src/spider/tdl/parser/antlr_generated/TaskDefLangLexer.h index b8809c65..65df8a7c 100644 --- a/src/spider/tdl/parser/antlr_generated/TaskDefLangLexer.h +++ b/src/spider/tdl/parser/antlr_generated/TaskDefLangLexer.h @@ -27,7 +27,9 @@ class TaskDefLangLexer : public antlr4::Lexer { T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, - T__20 = 21, T__21 = 22, T__22 = 23, ID = 24, SPACE = 25, COMMENT = 26 + T__20 = 21, T__21 = 22, T__22 = 23, SPACE = 24, COMMENT = 25, RESERVED_CONTROL_FLOW_WORDS = 26, + RESERVED_DEF_WORDS = 27, RESERVED_TYPE_AND_STORAGE_WORDS = 28, RESERVED_ERROR_HANDLING_WORDS = 29, + RESERVED_ACCESS_CONTROL_WORDS = 30, RESERVED_OTHER_WORDS = 31, ID = 32 }; explicit TaskDefLangLexer(antlr4::CharStream *input); diff --git a/src/spider/tdl/parser/antlr_generated/TaskDefLangParser.cpp b/src/spider/tdl/parser/antlr_generated/TaskDefLangParser.cpp index 8a2e2cec..d3bf30b4 100644 --- a/src/spider/tdl/parser/antlr_generated/TaskDefLangParser.cpp +++ b/src/spider/tdl/parser/antlr_generated/TaskDefLangParser.cpp @@ -76,11 +76,13 @@ void taskdeflangParserInitialize() { }, std::vector{ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "ID", "SPACE", "COMMENT" + "", "", "", "", "", "", "", "SPACE", "COMMENT", "RESERVED_CONTROL_FLOW_WORDS", + "RESERVED_DEF_WORDS", "RESERVED_TYPE_AND_STORAGE_WORDS", "RESERVED_ERROR_HANDLING_WORDS", + "RESERVED_ACCESS_CONTROL_WORDS", "RESERVED_OTHER_WORDS", "ID" } ); static const int32_t serializedATNSegment[] = { - 4,1,26,186,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2, + 4,1,32,186,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2, 7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7, 14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,0,1,0,1,0,5,0,41,8,0,10,0,12,0,44, 9,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,4,2,58,8,2,11,2,12, @@ -114,7 +116,7 @@ void taskdeflangParserInitialize() { 96,94,1,0,0,0,96,97,1,0,0,0,97,15,1,0,0,0,98,96,1,0,0,0,99,100,5,11,0, 0,100,101,3,18,9,0,101,102,5,2,0,0,102,104,3,14,7,0,103,105,5,10,0,0, 104,103,1,0,0,0,104,105,1,0,0,0,105,106,1,0,0,0,106,107,5,3,0,0,107,108, - 5,7,0,0,108,109,6,8,-1,0,109,17,1,0,0,0,110,111,5,24,0,0,111,112,6,9, + 5,7,0,0,108,109,6,8,-1,0,109,17,1,0,0,0,110,111,5,32,0,0,111,112,6,9, -1,0,112,19,1,0,0,0,113,114,3,32,16,0,114,115,6,10,-1,0,115,120,1,0,0, 0,116,117,3,18,9,0,117,118,6,10,-1,0,118,120,1,0,0,0,119,113,1,0,0,0, 119,116,1,0,0,0,120,21,1,0,0,0,121,122,3,20,10,0,122,123,6,11,-1,0,123, diff --git a/src/spider/tdl/parser/antlr_generated/TaskDefLangParser.h b/src/spider/tdl/parser/antlr_generated/TaskDefLangParser.h index 45c4b155..25357900 100644 --- a/src/spider/tdl/parser/antlr_generated/TaskDefLangParser.h +++ b/src/spider/tdl/parser/antlr_generated/TaskDefLangParser.h @@ -27,7 +27,9 @@ class TaskDefLangParser : public antlr4::Parser { T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, - T__20 = 21, T__21 = 22, T__22 = 23, ID = 24, SPACE = 25, COMMENT = 26 + T__20 = 21, T__21 = 22, T__22 = 23, SPACE = 24, COMMENT = 25, RESERVED_CONTROL_FLOW_WORDS = 26, + RESERVED_DEF_WORDS = 27, RESERVED_TYPE_AND_STORAGE_WORDS = 28, RESERVED_ERROR_HANDLING_WORDS = 29, + RESERVED_ACCESS_CONTROL_WORDS = 30, RESERVED_OTHER_WORDS = 31, ID = 32 }; enum { diff --git a/tests/tdl/test-parser.cpp b/tests/tdl/test-parser.cpp index 62f2ea2b..c9a616b1 100644 --- a/tests/tdl/test-parser.cpp +++ b/tests/tdl/test-parser.cpp @@ -327,6 +327,21 @@ TEST_CASE("Parser errors", "[tdl][parser]") { REQUIRE(optional_error_code.value() == Namespace::ErrorCode{Namespace::ErrorCodeEnum::DuplicatedFunctionName}); } + + SECTION("Using reserved words") { + constexpr std::string_view cNamespaceWithReservedWord{" namespace if { fn empty(); }"}; + std::istringstream input_stream{std::string{cNamespaceWithReservedWord}}; + auto const parse_result{parse_translation_unit_from_istream(input_stream)}; + REQUIRE(parse_result.has_error()); + auto const& error{parse_result.error()}; + + constexpr std::string_view cExpectedErrorMessage{ + "Parser: mismatched input 'if' expecting ID" + }; + constexpr SourceLocation cExpectedSourceLocation{1, 11}; + REQUIRE(error.get_message() == cExpectedErrorMessage); + REQUIRE(error.get_source_location() == cExpectedSourceLocation); + } } } // namespace