[orx-kotlin-parser] Upgrade to antlr 4.10.1, upgrade Kotlin grammar

This commit is contained in:
Edwin Jakobs
2022-07-15 17:10:47 +02:00
parent f29d84ddd7
commit 17193092fc
5 changed files with 205 additions and 199 deletions

View File

@@ -87,6 +87,7 @@ AS_SAFE: 'as?';
EQEQ: '=='; EQEQ: '==';
EQEQEQ: '==='; EQEQEQ: '===';
SINGLE_QUOTE: '\''; SINGLE_QUOTE: '\'';
AMP: '&';
// SECTION: keywords // SECTION: keywords
@@ -323,12 +324,11 @@ fragment EscapeSeq
// SECTION: characters // SECTION: characters
fragment Letter fragment Letter
: UNICODE_CLASS_LL : UNICODE_CLASS_LU
| UNICODE_CLASS_LL
| UNICODE_CLASS_LT
| UNICODE_CLASS_LM | UNICODE_CLASS_LM
| UNICODE_CLASS_LO | UNICODE_CLASS_LO
| UNICODE_CLASS_LT
| UNICODE_CLASS_LU
| UNICODE_CLASS_NL
; ;
// SECTION: strings // SECTION: strings
@@ -441,6 +441,7 @@ Inside_AS_SAFE: AS_SAFE -> type(AS_SAFE);
Inside_EQEQ: EQEQ -> type(EQEQ); Inside_EQEQ: EQEQ -> type(EQEQ);
Inside_EQEQEQ: EQEQEQ -> type(EQEQEQ); Inside_EQEQEQ: EQEQEQ -> type(EQEQEQ);
Inside_SINGLE_QUOTE: SINGLE_QUOTE -> type(SINGLE_QUOTE); Inside_SINGLE_QUOTE: SINGLE_QUOTE -> type(SINGLE_QUOTE);
Inside_AMP: AMP -> type(AMP);
Inside_QUOTE_OPEN: QUOTE_OPEN -> pushMode(LineString), type(QUOTE_OPEN); Inside_QUOTE_OPEN: QUOTE_OPEN -> pushMode(LineString), type(QUOTE_OPEN);
Inside_TRIPLE_QUOTE_OPEN: TRIPLE_QUOTE_OPEN -> pushMode(MultiLineString), type(TRIPLE_QUOTE_OPEN); Inside_TRIPLE_QUOTE_OPEN: TRIPLE_QUOTE_OPEN -> pushMode(MultiLineString), type(TRIPLE_QUOTE_OPEN);

View File

@@ -53,122 +53,123 @@ AS_SAFE=52
EQEQ=53 EQEQ=53
EQEQEQ=54 EQEQEQ=54
SINGLE_QUOTE=55 SINGLE_QUOTE=55
RETURN_AT=56 AMP=56
CONTINUE_AT=57 RETURN_AT=57
BREAK_AT=58 CONTINUE_AT=58
THIS_AT=59 BREAK_AT=59
SUPER_AT=60 THIS_AT=60
FILE=61 SUPER_AT=61
FIELD=62 FILE=62
PROPERTY=63 FIELD=63
GET=64 PROPERTY=64
SET=65 GET=65
RECEIVER=66 SET=66
PARAM=67 RECEIVER=67
SETPARAM=68 PARAM=68
DELEGATE=69 SETPARAM=69
PACKAGE=70 DELEGATE=70
IMPORT=71 PACKAGE=71
CLASS=72 IMPORT=72
INTERFACE=73 CLASS=73
FUN=74 INTERFACE=74
OBJECT=75 FUN=75
VAL=76 OBJECT=76
VAR=77 VAL=77
TYPE_ALIAS=78 VAR=78
CONSTRUCTOR=79 TYPE_ALIAS=79
BY=80 CONSTRUCTOR=80
COMPANION=81 BY=81
INIT=82 COMPANION=82
THIS=83 INIT=83
SUPER=84 THIS=84
TYPEOF=85 SUPER=85
WHERE=86 TYPEOF=86
IF=87 WHERE=87
ELSE=88 IF=88
WHEN=89 ELSE=89
TRY=90 WHEN=90
CATCH=91 TRY=91
FINALLY=92 CATCH=92
FOR=93 FINALLY=93
DO=94 FOR=94
WHILE=95 DO=95
THROW=96 WHILE=96
RETURN=97 THROW=97
CONTINUE=98 RETURN=98
BREAK=99 CONTINUE=99
AS=100 BREAK=100
IS=101 AS=101
IN=102 IS=102
NOT_IS=103 IN=103
NOT_IN=104 NOT_IS=104
OUT=105 NOT_IN=105
DYNAMIC=106 OUT=106
PUBLIC=107 DYNAMIC=107
PRIVATE=108 PUBLIC=108
PROTECTED=109 PRIVATE=109
INTERNAL=110 PROTECTED=110
ENUM=111 INTERNAL=111
SEALED=112 ENUM=112
ANNOTATION=113 SEALED=113
DATA=114 ANNOTATION=114
INNER=115 DATA=115
VALUE=116 INNER=116
TAILREC=117 VALUE=117
OPERATOR=118 TAILREC=118
INLINE=119 OPERATOR=119
INFIX=120 INLINE=120
EXTERNAL=121 INFIX=121
SUSPEND=122 EXTERNAL=122
OVERRIDE=123 SUSPEND=123
ABSTRACT=124 OVERRIDE=124
FINAL=125 ABSTRACT=125
OPEN=126 FINAL=126
CONST=127 OPEN=127
LATEINIT=128 CONST=128
VARARG=129 LATEINIT=129
NOINLINE=130 VARARG=130
CROSSINLINE=131 NOINLINE=131
REIFIED=132 CROSSINLINE=132
EXPECT=133 REIFIED=133
ACTUAL=134 EXPECT=134
RealLiteral=135 ACTUAL=135
FloatLiteral=136 RealLiteral=136
DoubleLiteral=137 FloatLiteral=137
IntegerLiteral=138 DoubleLiteral=138
HexLiteral=139 IntegerLiteral=139
BinLiteral=140 HexLiteral=140
UnsignedLiteral=141 BinLiteral=141
LongLiteral=142 UnsignedLiteral=142
BooleanLiteral=143 LongLiteral=143
NullLiteral=144 BooleanLiteral=144
CharacterLiteral=145 NullLiteral=145
Identifier=146 CharacterLiteral=146
IdentifierOrSoftKey=147 Identifier=147
FieldIdentifier=148 IdentifierOrSoftKey=148
QUOTE_OPEN=149 FieldIdentifier=149
TRIPLE_QUOTE_OPEN=150 QUOTE_OPEN=150
UNICODE_CLASS_LL=151 TRIPLE_QUOTE_OPEN=151
UNICODE_CLASS_LM=152 UNICODE_CLASS_LL=152
UNICODE_CLASS_LO=153 UNICODE_CLASS_LM=153
UNICODE_CLASS_LT=154 UNICODE_CLASS_LO=154
UNICODE_CLASS_LU=155 UNICODE_CLASS_LT=155
UNICODE_CLASS_ND=156 UNICODE_CLASS_LU=156
UNICODE_CLASS_NL=157 UNICODE_CLASS_ND=157
QUOTE_CLOSE=158 UNICODE_CLASS_NL=158
LineStrRef=159 QUOTE_CLOSE=159
LineStrText=160 LineStrRef=160
LineStrEscapedChar=161 LineStrText=161
LineStrExprStart=162 LineStrEscapedChar=162
TRIPLE_QUOTE_CLOSE=163 LineStrExprStart=163
MultiLineStringQuote=164 TRIPLE_QUOTE_CLOSE=164
MultiLineStrRef=165 MultiLineStringQuote=165
MultiLineStrText=166 MultiLineStrRef=166
MultiLineStrExprStart=167 MultiLineStrText=167
Inside_Comment=168 MultiLineStrExprStart=168
Inside_WS=169 Inside_Comment=169
Inside_NL=170 Inside_WS=170
ErrorCharacter=171 Inside_NL=171
ErrorCharacter=172
'...'=6 '...'=6
'.'=7 '.'=7
','=8 ','=8
@@ -214,77 +215,78 @@ ErrorCharacter=171
'=='=53 '=='=53
'==='=54 '==='=54
'\''=55 '\''=55
'file'=61 '&'=56
'field'=62 'file'=62
'property'=63 'field'=63
'get'=64 'property'=64
'set'=65 'get'=65
'receiver'=66 'set'=66
'param'=67 'receiver'=67
'setparam'=68 'param'=68
'delegate'=69 'setparam'=69
'package'=70 'delegate'=70
'import'=71 'package'=71
'class'=72 'import'=72
'interface'=73 'class'=73
'fun'=74 'interface'=74
'object'=75 'fun'=75
'val'=76 'object'=76
'var'=77 'val'=77
'typealias'=78 'var'=78
'constructor'=79 'typealias'=79
'by'=80 'constructor'=80
'companion'=81 'by'=81
'init'=82 'companion'=82
'this'=83 'init'=83
'super'=84 'this'=84
'typeof'=85 'super'=85
'where'=86 'typeof'=86
'if'=87 'where'=87
'else'=88 'if'=88
'when'=89 'else'=89
'try'=90 'when'=90
'catch'=91 'try'=91
'finally'=92 'catch'=92
'for'=93 'finally'=93
'do'=94 'for'=94
'while'=95 'do'=95
'throw'=96 'while'=96
'return'=97 'throw'=97
'continue'=98 'return'=98
'break'=99 'continue'=99
'as'=100 'break'=100
'is'=101 'as'=101
'in'=102 'is'=102
'out'=105 'in'=103
'dynamic'=106 'out'=106
'public'=107 'dynamic'=107
'private'=108 'public'=108
'protected'=109 'private'=109
'internal'=110 'protected'=110
'enum'=111 'internal'=111
'sealed'=112 'enum'=112
'annotation'=113 'sealed'=113
'data'=114 'annotation'=114
'inner'=115 'data'=115
'value'=116 'inner'=116
'tailrec'=117 'value'=117
'operator'=118 'tailrec'=118
'inline'=119 'operator'=119
'infix'=120 'inline'=120
'external'=121 'infix'=121
'suspend'=122 'external'=122
'override'=123 'suspend'=123
'abstract'=124 'override'=124
'final'=125 'abstract'=125
'open'=126 'final'=126
'const'=127 'open'=127
'lateinit'=128 'const'=128
'vararg'=129 'lateinit'=129
'noinline'=130 'vararg'=130
'crossinline'=131 'noinline'=131
'reified'=132 'crossinline'=132
'expect'=133 'reified'=133
'actual'=134 'expect'=134
'null'=144 'actual'=135
'"""'=150 'null'=145
'"""'=151

View File

@@ -96,6 +96,7 @@ delegationSpecifier
| explicitDelegation | explicitDelegation
| userType | userType
| functionType | functionType
| SUSPEND NL* functionType
; ;
constructorInvocation constructorInvocation
@@ -252,7 +253,7 @@ enumEntry
// SECTION: types // SECTION: types
type type
: typeModifiers? (parenthesizedType | nullableType | typeReference | functionType) : typeModifiers? (functionType | parenthesizedType | nullableType | typeReference | definitelyNonNullableType)
; ;
typeReference typeReference
@@ -311,6 +312,10 @@ parenthesizedUserType
: LPAREN NL* (userType | parenthesizedUserType) NL* RPAREN : LPAREN NL* (userType | parenthesizedUserType) NL* RPAREN
; ;
definitelyNonNullableType
: typeModifiers? (userType | parenthesizedUserType) NL* AMP NL* typeModifiers? (userType | parenthesizedUserType)
;
// SECTION: statements // SECTION: statements
statements statements
@@ -359,12 +364,10 @@ assignment
semi semi
: (SEMICOLON | NL) NL* : (SEMICOLON | NL) NL*
| EOF
; ;
semis semis
: (SEMICOLON | NL)+ : (SEMICOLON | NL)+
| EOF
; ;
// SECTION: expressions // SECTION: expressions

View File

@@ -1 +1 @@
Synced from https://github.com/Kotlin/kotlin-spec/ @ 648afef3b9a7fccec7fdaa4aabde6d114bcf9d69 Synced from https://github.com/Kotlin/kotlin-spec/ @ 8e3f52e5ee01c03c1884cfd34d5ed7e3e2f016c1

View File

@@ -37,7 +37,7 @@ dependencyResolutionManagement {
version("libfreenect", "0.5.7-1.5.7") version("libfreenect", "0.5.7-1.5.7")
version("librealsense", "2.50.0-1.5.7") version("librealsense", "2.50.0-1.5.7")
version("gson", "2.9.0") version("gson", "2.9.0")
version("antlr", "4.9.3") version("antlr", "4.10.1")
version("tensorflow", "0.4.0") version("tensorflow", "0.4.0")
version("jarchivelib", "1.0.0") version("jarchivelib", "1.0.0")
version("logbackClassic", "1.2.11") version("logbackClassic", "1.2.11")