feat: renamer maybe maybe maybe maybe

This commit is contained in:
2025-02-04 22:26:38 +00:00
parent 5f7a89b47f
commit 06c8a069fb
5 changed files with 181 additions and 9 deletions

View File

@@ -28,8 +28,10 @@ object ast {
object StrLiter extends ParserBridgePos1[String, StrLiter]
case class PairLiter()(pos: Position) extends Expr6
object PairLiter extends Expr6 with ParserBridgePos0[PairLiter]
case class Ident(v: String)(pos: Position) extends Expr6 with LValue
object Ident extends ParserBridgePos1[String, Ident]
case class Ident(v: String, var uid: Int = -1) extends Expr6 with LValue
object Ident extends ParserBridgePos1[String, Ident] {
def apply(x1: String): Ident = new Ident(x1)
}
case class ArrayElem(name: Ident, indices: NonEmptyList[Expr])(pos: Position)
extends Expr6
with LValue
@@ -44,15 +46,18 @@ object ast {
sealed trait UnaryOp extends Expr {
val x: Expr
}
case class Negate(x: Expr6)(pos: Position) extends Expr6 with UnaryOp
sealed trait UnaryOp extends Expr {
val x: Expr
}
case class Negate(x: Expr6)(pos: Position) extends Expr6 with UnaryOp with UnaryOp
object Negate extends ParserBridgePos1[Expr6, Negate]
case class Not(x: Expr6)(pos: Position) extends Expr6 with UnaryOp
case class Not(x: Expr6)(pos: Position) extends Expr6 with UnaryOp with UnaryOp
object Not extends ParserBridgePos1[Expr6, Not]
case class Len(x: Expr6)(pos: Position) extends Expr6 with UnaryOp
case class Len(x: Expr6)(pos: Position) extends Expr6 with UnaryOp with UnaryOp
object Len extends ParserBridgePos1[Expr6, Len]
case class Ord(x: Expr6)(pos: Position) extends Expr6 with UnaryOp
case class Ord(x: Expr6)(pos: Position) extends Expr6 with UnaryOp with UnaryOp
object Ord extends ParserBridgePos1[Expr6, Ord]
case class Chr(x: Expr6)(pos: Position) extends Expr6 with UnaryOp
case class Chr(x: Expr6)(pos: Position) extends Expr6 with UnaryOp with UnaryOp
object Chr extends ParserBridgePos1[Expr6, Chr]
// Binary operators