|
|
|
|
@ -3,7 +3,7 @@ import java.util.*
|
|
|
|
|
val types = listOf(
|
|
|
|
|
"Binary : Expr left, Token operator, Expr right",
|
|
|
|
|
"Grouping : Expr expression",
|
|
|
|
|
"Literal : Any value",
|
|
|
|
|
"Literal : Any? value",
|
|
|
|
|
"Unary : Token operator, Expr right"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
@ -32,11 +32,11 @@ for (type in types) {
|
|
|
|
|
println()
|
|
|
|
|
println("data class $name(")
|
|
|
|
|
for (field in fields) {
|
|
|
|
|
val parts = field.split(" ")
|
|
|
|
|
val type = parts[0]
|
|
|
|
|
val name = parts[1]
|
|
|
|
|
val fparts = field.split(" ")
|
|
|
|
|
val ftype = fparts[0]
|
|
|
|
|
val fname = fparts[1]
|
|
|
|
|
val sep = if (field == fields.last()) "" else ","
|
|
|
|
|
println(" val $name: $type$sep")
|
|
|
|
|
println(" val $fname: $ftype$sep")
|
|
|
|
|
}
|
|
|
|
|
println(") : Expr() {")
|
|
|
|
|
println(" override fun <R> accept(visitor: ExprVisitor<R>): R {")
|
|
|
|
|
|