Strumenta / antlr-kotlin

Support for Kotlin as a target for ANTLR 4
Apache License 2.0
223 stars 47 forks source link

Labels in grammar causing errors #189

Closed trickster closed 3 weeks ago

trickster commented 3 weeks ago

MInimal repro repo - https://github.com/trickster/antlr-kotlin-example

    public open class ExprContext : ParserRuleContext {
        override val ruleIndex: Int = Rules.Expr

        @JvmField @JsName("left$") public var left: ExprContext? = null
        @JvmField @JsName("right$") public var right: ExprContext? = null

JsName is not available on JVM target. Is there a workaround for this?

grammar EasyScript ;

start : expr EOF ;

expr : left=expr '+' right=expr // <- labels here
     | literal
     ;

literal : INT | DOUBLE;
fragment DIGIT : [0-9];

INT : DIGIT+ ;
DOUBLE : DIGIT+ '.' DIGIT+ ;
WS : (' ' | '\r' | '\t' | '\n' | '\f')+ -> skip ;
trickster commented 3 weeks ago

Solved by upgrading to RC2