kiama.example.imperative

object AST

[source: kiama/example/imperative/AST.scala]

object AST
extends AnyRef
A simple imperative language abstract syntax designed for testing.
Type Summary
type Idn
Identifiers are represented as strings.
Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Class Summary
case class Add (val l : Exp, val r : Exp) extends Binary with scala.Product
Addition expressions.
case class Asgn (val s : java.lang.String, val e : Exp) extends Stmt
Assignment statements.
abstract class Binary (l : Exp, r : Exp) extends Exp
Binary expressions.
case class Div (val l : Exp, val r : Exp) extends Binary with scala.Product
Division expressions.
abstract class Exp extends PrettyPrintable with scala.Product
Expressions.
case class Mul (val l : Exp, val r : Exp) extends Binary with scala.Product
Multiplication expressions.
case class Neg (val e : Exp) extends Exp
Unary negation expressions.
case class Null extends Stmt
Empty statements.
case class Num (val d : Double) extends Exp
Numeric expressions.
trait PrettyPrintable extends AnyRef
Simple interface for pretty-printing capabilities.
case class Seqn (val ss : scala.Seq[Stmt]) extends Stmt
Statement sequences.
abstract class Stmt extends PrettyPrintable with scala.Product
Statements.
case class Sub (val l : Exp, val r : Exp) extends Binary with scala.Product
Subtraction expressions.
case class Var (val s : java.lang.String) extends Exp
Variable expressions.
case class While (val e : Exp, val b : Stmt) extends Stmt
While loops.
Type Details
type Idn
Identifiers are represented as strings.