kiama.example.oberon0.compiler

object AST

[source: kiama/example/oberon0/compiler/AST.scala]

object AST
extends AnyRef
Abstract syntax for Oberon-0.
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 And (val l : Exp, val r : Exp) extends BinaryBoolExp with scala.Product
case class ArrayDesig (val left : Desig, val exp : Exp) extends Desig with scala.Product
case class ArrayType (val size : Exp, val tp : Type) extends Type with scala.Product
case class Assignment (val desig : Desig, val exp : Exp) extends Statement with scala.Product
abstract class BinaryBoolExp (l : Exp, r : Exp) extends Exp
abstract class BinaryNumExp (l : Exp, r : Exp) extends Exp
case class BuiltInProcDecl (val name : java.lang.String, val fps : scala.List[Declaration], val tp : ProcType) extends Declaration with scala.Product
case class ConstDecl (val name : java.lang.String, val constval : Exp) extends Declaration with scala.Product
abstract class Declaration (name : java.lang.String) extends Attributable with PrettyPrintable
abstract class Desig extends Exp
case class Div (val l : Exp, val r : Exp) extends BinaryNumExp with scala.Product
case class Equal (val l : Exp, val r : Exp) extends BinaryBoolExp with scala.Product
abstract class Exp extends Attributable with PrettyPrintable
case class FieldDecl (val name : java.lang.String, val tp : Type) extends Declaration with scala.Product
case class FieldDesig (val left : Desig, val id : Ident) extends Desig with scala.Product
case class GreaterThan (val l : Exp, val r : Exp) extends BinaryBoolExp with scala.Product
case class GreaterThanOrEqual (val l : Exp, val r : Exp) extends BinaryBoolExp with scala.Product
case class Ident (val name : java.lang.String) extends Desig with scala.Product
case class IfStatement (val condexp : Exp, val thenstmts : scala.List[Statement], val elsestmts : scala.List[Statement]) extends Statement with scala.Product
case class IntegerLiteral (val num : Int) extends Literal with scala.Product
case class LessThan (val l : Exp, val r : Exp) extends BinaryBoolExp with scala.Product
case class LessThanOrEqual (val l : Exp, val r : Exp) extends BinaryBoolExp with scala.Product
abstract class Literal extends Exp
case class Minus (val l : Exp, val r : Exp) extends BinaryNumExp with scala.Product
case class Mod (val l : Exp, val r : Exp) extends BinaryNumExp with scala.Product
case class ModuleDecl (val name : java.lang.String, val decls : scala.List[Declaration], val stmts : scala.List[Statement], val name2 : java.lang.String, val tp : ModuleType) extends Declaration with scala.Product
case class ModuleType extends Type with scala.Product
case class Mult (val l : Exp, val r : Exp) extends BinaryNumExp with scala.Product
case class NamedType (val id : Ident) extends Type with scala.Product
case class Neg (val e : Exp) extends UnaryNumExp with scala.Product
case class Not (val e : Exp) extends Exp with scala.Product
case class NotEqual (val l : Exp, val r : Exp) extends BinaryBoolExp with scala.Product
case class Or (val l : Exp, val r : Exp) extends BinaryBoolExp with scala.Product
case class Plus (val l : Exp, val r : Exp) extends BinaryNumExp with scala.Product
case class Pos (val e : Exp) extends UnaryNumExp with scala.Product
trait PrettyPrintable extends AnyRef
Simple interface for pretty-printing capabilities.
case class ProcDecl (val name : java.lang.String, val fps : scala.List[Declaration], val decls : scala.List[Declaration], val stmts : scala.List[Statement], val name2 : java.lang.String, val tp : ProcType) extends Declaration with scala.Product
case class ProcType (val fps : scala.List[Declaration]) extends Type with scala.Product
case class ProcedureCall (val desig : Exp, val aps : scala.List[Exp]) extends Statement with scala.Product
case class RecordType (val fldlst : scala.List[FieldDecl]) extends Type with scala.Product
case class RefVarDecl (val name : java.lang.String, val tp : Type) extends Declaration with scala.Product
abstract class Statement extends Attributable with PrettyPrintable
abstract class Type extends Attributable with PrettyPrintable
case class TypeDecl (val name : java.lang.String, val tp : Type) extends Declaration with scala.Product
abstract class UnaryNumExp (e : Exp) extends Exp
case class UnknownDecl (val name : java.lang.String) extends Declaration with scala.Product
case class VarDecl (val name : java.lang.String, val tp : Type) extends Declaration with scala.Product
case class WhileStatement (val condexp : Exp, val bodystmts : scala.List[Statement]) extends Statement with scala.Product
Object Summary
case object BooleanType extends Type with scala.Product
case object IntegerType extends Type with scala.Product
case object InvalidType extends Type with scala.Product
case object StatementType extends Type with scala.Product