object ImperativeTree
A simple imperative language abstract syntax designed for testing.
- Source
- ImperativeTree.scala
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- ImperativeTree
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
-
case class
Add
(l: Exp, r: Exp) extends Binary with Product with Serializable
Addition expressions.
-
case class
Asgn
(v: Var, e: Exp) extends Stmt with Product with Serializable
Assignment statements.
-
abstract
class
Binary
extends Exp
Binary expressions.
-
case class
Div
(l: Exp, r: Exp) extends Binary with Product with Serializable
Division expressions.
-
sealed abstract
class
Exp
extends ImperativeTree
Expressions.
-
type
Idn = String
Identifiers are represented as strings.
-
trait
ImperativeTree
extends TreeNode
Superclass of all imperative language tree node types.
-
case class
Mul
(l: Exp, r: Exp) extends Binary with Product with Serializable
Multiplication expressions.
-
case class
Neg
(e: Exp) extends Exp with Product with Serializable
Unary negation expressions.
-
case class
Null
() extends Stmt with Product with Serializable
Empty statements.
-
case class
Num
(d: Double) extends Exp with Product with Serializable
Numeric expressions.
-
case class
Seqn
(ss: Seq[Stmt]) extends Stmt with Product with Serializable
Statement sequences.
-
sealed abstract
class
Stmt
extends ImperativeTree
Statements.
-
case class
Sub
(l: Exp, r: Exp) extends Binary with Product with Serializable
Subtraction expressions.
-
case class
Var
(s: Idn) extends Exp with Product with Serializable
Variable expressions.
-
case class
While
(e: Exp, b: Stmt) extends Stmt with Product with Serializable
While loops.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def Add(s1: ⇒ Strategy, s2: ⇒ Strategy): Strategy
- def Asgn(s1: ⇒ Strategy, s2: ⇒ Strategy): Strategy
- def Div(s1: ⇒ Strategy, s2: ⇒ Strategy): Strategy
- def Mul(s1: ⇒ Strategy, s2: ⇒ Strategy): Strategy
- def Neg(s1: ⇒ Strategy): Strategy
- def Num(s1: ⇒ Strategy): Strategy
- def Seqn(s1: ⇒ Strategy): Strategy
- def Sub(s1: ⇒ Strategy, s2: ⇒ Strategy): Strategy
- def Var(s1: ⇒ Strategy): Strategy
- def While(s1: ⇒ Strategy, s2: ⇒ Strategy): Strategy
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )