fix: fully fix binary operators associativity
This commit is contained in:
parent
292551aca0
commit
af919742a0
@ -44,16 +44,16 @@ object ast {
|
||||
object Chr extends ParserBridge1[Expr6, Chr]
|
||||
|
||||
// Binary operators
|
||||
case class Add(x: Expr5, y: Expr6) extends Expr4
|
||||
object Add extends ParserBridge2[Expr5, Expr6, Add]
|
||||
case class Sub(x: Expr5, y: Expr6) extends Expr4
|
||||
object Sub extends ParserBridge2[Expr5, Expr6, Sub]
|
||||
case class Mul(x: Expr6, y: Expr6) extends Expr5
|
||||
object Mul extends ParserBridge2[Expr6, Expr6, Mul]
|
||||
case class Div(x: Expr6, y: Expr6) extends Expr5
|
||||
object Div extends ParserBridge2[Expr6, Expr6, Div]
|
||||
case class Mod(x: Expr6, y: Expr6) extends Expr5
|
||||
object Mod extends ParserBridge2[Expr6, Expr6, Mod]
|
||||
case class Add(x: Expr4, y: Expr5) extends Expr4
|
||||
object Add extends ParserBridge2[Expr4, Expr5, Add]
|
||||
case class Sub(x: Expr4, y: Expr5) extends Expr4
|
||||
object Sub extends ParserBridge2[Expr4, Expr5, Sub]
|
||||
case class Mul(x: Expr5, y: Expr6) extends Expr5
|
||||
object Mul extends ParserBridge2[Expr5, Expr6, Mul]
|
||||
case class Div(x: Expr5, y: Expr6) extends Expr5
|
||||
object Div extends ParserBridge2[Expr5, Expr6, Div]
|
||||
case class Mod(x: Expr5, y: Expr6) extends Expr5
|
||||
object Mod extends ParserBridge2[Expr5, Expr6, Mod]
|
||||
case class Greater(x: Expr4, y: Expr4) extends Expr3
|
||||
object Greater extends ParserBridge2[Expr4, Expr4, Greater]
|
||||
case class GreaterEq(x: Expr4, y: Expr4) extends Expr3
|
||||
@ -66,10 +66,10 @@ object ast {
|
||||
object Eq extends ParserBridge2[Expr3, Expr3, Eq]
|
||||
case class Neq(x: Expr3, y: Expr3) extends Expr2
|
||||
object Neq extends ParserBridge2[Expr3, Expr3, Neq]
|
||||
case class And(x: Expr2, y: Expr2) extends Expr1
|
||||
object And extends ParserBridge2[Expr2, Expr2, And]
|
||||
case class Or(x: Expr1, y: Expr1) extends Expr
|
||||
object Or extends ParserBridge2[Expr1, Expr1, Or]
|
||||
case class And(x: Expr2, y: Expr1) extends Expr1
|
||||
object And extends ParserBridge2[Expr2, Expr1, And]
|
||||
case class Or(x: Expr1, y: Expr) extends Expr
|
||||
object Or extends ParserBridge2[Expr1, Expr, Or]
|
||||
|
||||
// Types
|
||||
sealed trait Type
|
||||
|
Loading…
x
Reference in New Issue
Block a user