[orx-kotlin-parser] Work around ANTLR configuration

This commit is contained in:
Edwin Jakobs
2023-11-29 18:07:36 +01:00
parent b9644c2912
commit afab5de089
4 changed files with 5 additions and 312 deletions

View File

@@ -7,16 +7,7 @@ plugins {
tasks.generateGrammarSource { tasks.generateGrammarSource {
maxHeapSize = "64m" maxHeapSize = "64m"
arguments.addAll(listOf("-visitor", "-long-messages", "-package", "org.openrndr.extra.kotlin.antlr")) arguments.addAll(listOf("-visitor", "-long-messages"))
outputDirectory = file("${project.buildDir}/generated-src/antlr/org/openrndr/extra/kotlin/antlr".toString())
}
sourceSets {
main {
java {
srcDir("build/generated-src/antlr")
}
}
} }
tasks.withType<KotlinCompile> { tasks.withType<KotlinCompile> {

View File

@@ -1,292 +0,0 @@
ShebangLine=1
DelimitedComment=2
LineComment=3
WS=4
NL=5
RESERVED=6
DOT=7
COMMA=8
LPAREN=9
RPAREN=10
LSQUARE=11
RSQUARE=12
LCURL=13
RCURL=14
MULT=15
MOD=16
DIV=17
ADD=18
SUB=19
INCR=20
DECR=21
CONJ=22
DISJ=23
EXCL_WS=24
EXCL_NO_WS=25
COLON=26
SEMICOLON=27
ASSIGNMENT=28
ADD_ASSIGNMENT=29
SUB_ASSIGNMENT=30
MULT_ASSIGNMENT=31
DIV_ASSIGNMENT=32
MOD_ASSIGNMENT=33
ARROW=34
DOUBLE_ARROW=35
RANGE=36
COLONCOLON=37
DOUBLE_SEMICOLON=38
HASH=39
AT_NO_WS=40
AT_POST_WS=41
AT_PRE_WS=42
AT_BOTH_WS=43
QUEST_WS=44
QUEST_NO_WS=45
LANGLE=46
RANGLE=47
LE=48
GE=49
EXCL_EQ=50
EXCL_EQEQ=51
AS_SAFE=52
EQEQ=53
EQEQEQ=54
SINGLE_QUOTE=55
AMP=56
RETURN_AT=57
CONTINUE_AT=58
BREAK_AT=59
THIS_AT=60
SUPER_AT=61
FILE=62
FIELD=63
PROPERTY=64
GET=65
SET=66
RECEIVER=67
PARAM=68
SETPARAM=69
DELEGATE=70
PACKAGE=71
IMPORT=72
CLASS=73
INTERFACE=74
FUN=75
OBJECT=76
VAL=77
VAR=78
TYPE_ALIAS=79
CONSTRUCTOR=80
BY=81
COMPANION=82
INIT=83
THIS=84
SUPER=85
TYPEOF=86
WHERE=87
IF=88
ELSE=89
WHEN=90
TRY=91
CATCH=92
FINALLY=93
FOR=94
DO=95
WHILE=96
THROW=97
RETURN=98
CONTINUE=99
BREAK=100
AS=101
IS=102
IN=103
NOT_IS=104
NOT_IN=105
OUT=106
DYNAMIC=107
PUBLIC=108
PRIVATE=109
PROTECTED=110
INTERNAL=111
ENUM=112
SEALED=113
ANNOTATION=114
DATA=115
INNER=116
VALUE=117
TAILREC=118
OPERATOR=119
INLINE=120
INFIX=121
EXTERNAL=122
SUSPEND=123
OVERRIDE=124
ABSTRACT=125
FINAL=126
OPEN=127
CONST=128
LATEINIT=129
VARARG=130
NOINLINE=131
CROSSINLINE=132
REIFIED=133
EXPECT=134
ACTUAL=135
RealLiteral=136
FloatLiteral=137
DoubleLiteral=138
IntegerLiteral=139
HexLiteral=140
BinLiteral=141
UnsignedLiteral=142
LongLiteral=143
BooleanLiteral=144
NullLiteral=145
CharacterLiteral=146
Identifier=147
IdentifierOrSoftKey=148
FieldIdentifier=149
QUOTE_OPEN=150
TRIPLE_QUOTE_OPEN=151
UNICODE_CLASS_LL=152
UNICODE_CLASS_LM=153
UNICODE_CLASS_LO=154
UNICODE_CLASS_LT=155
UNICODE_CLASS_LU=156
UNICODE_CLASS_ND=157
UNICODE_CLASS_NL=158
QUOTE_CLOSE=159
LineStrRef=160
LineStrText=161
LineStrEscapedChar=162
LineStrExprStart=163
TRIPLE_QUOTE_CLOSE=164
MultiLineStringQuote=165
MultiLineStrRef=166
MultiLineStrText=167
MultiLineStrExprStart=168
Inside_Comment=169
Inside_WS=170
Inside_NL=171
ErrorCharacter=172
'...'=6
'.'=7
','=8
'('=9
')'=10
'['=11
']'=12
'{'=13
'}'=14
'*'=15
'%'=16
'/'=17
'+'=18
'-'=19
'++'=20
'--'=21
'&&'=22
'||'=23
'!'=25
':'=26
';'=27
'='=28
'+='=29
'-='=30
'*='=31
'/='=32
'%='=33
'->'=34
'=>'=35
'..'=36
'::'=37
';;'=38
'#'=39
'@'=40
'?'=45
'<'=46
'>'=47
'<='=48
'>='=49
'!='=50
'!=='=51
'as?'=52
'=='=53
'==='=54
'\''=55
'&'=56
'file'=62
'field'=63
'property'=64
'get'=65
'set'=66
'receiver'=67
'param'=68
'setparam'=69
'delegate'=70
'package'=71
'import'=72
'class'=73
'interface'=74
'fun'=75
'object'=76
'val'=77
'var'=78
'typealias'=79
'constructor'=80
'by'=81
'companion'=82
'init'=83
'this'=84
'super'=85
'typeof'=86
'where'=87
'if'=88
'else'=89
'when'=90
'try'=91
'catch'=92
'finally'=93
'for'=94
'do'=95
'while'=96
'throw'=97
'return'=98
'continue'=99
'break'=100
'as'=101
'is'=102
'in'=103
'out'=106
'dynamic'=107
'public'=108
'private'=109
'protected'=110
'internal'=111
'enum'=112
'sealed'=113
'annotation'=114
'data'=115
'inner'=116
'value'=117
'tailrec'=118
'operator'=119
'inline'=120
'infix'=121
'external'=122
'suspend'=123
'override'=124
'abstract'=125
'final'=126
'open'=127
'const'=128
'lateinit'=129
'vararg'=130
'noinline'=131
'crossinline'=132
'reified'=133
'expect'=134
'actual'=135
'null'=145
'"""'=151

View File

@@ -1,7 +0,0 @@
UNICODE_CLASS_LL=1
UNICODE_CLASS_LM=2
UNICODE_CLASS_LO=3
UNICODE_CLASS_LT=4
UNICODE_CLASS_LU=5
UNICODE_CLASS_ND=6
UNICODE_CLASS_NL=7

View File

@@ -1,14 +1,15 @@
package org.openrndr.extra.kotlinparser package org.openrndr.extra.kotlinparser
import KotlinLexer
import KotlinParser
import KotlinParserBaseListener
import org.antlr.v4.runtime.CharStreams import org.antlr.v4.runtime.CharStreams
import org.antlr.v4.runtime.CommonTokenStream import org.antlr.v4.runtime.CommonTokenStream
import org.antlr.v4.runtime.ParserRuleContext import org.antlr.v4.runtime.ParserRuleContext
import org.antlr.v4.runtime.RuleContext import org.antlr.v4.runtime.RuleContext
import org.antlr.v4.runtime.misc.Interval import org.antlr.v4.runtime.misc.Interval
import org.antlr.v4.runtime.tree.ParseTreeWalker import org.antlr.v4.runtime.tree.ParseTreeWalker
import org.openrndr.extra.kotlin.antlr.KotlinLexer
import org.openrndr.extra.kotlin.antlr.KotlinParser
import org.openrndr.extra.kotlin.antlr.KotlinParserBaseListener
fun ParserRuleContext.verbatimText(marginLeft: Int = 0, marginRight: Int = 0): String { fun ParserRuleContext.verbatimText(marginLeft: Int = 0, marginRight: Int = 0): String {
if (start == null || stop == null) { if (start == null || stop == null) {