org.kiama.example.obr

ObrTree

object ObrTree

Module containing structures for representing Obr programs.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ObrTree
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class AndExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression whose value is the logical AND of the values of two expressions.

  2. case class ArrayVar(idn: Identifier, size: Int) extends Declaration with Product with Serializable

    A declaration of an array variable of the given size.

  3. trait AssignNode extends Expression with EntityNode

    Marker trait for all expression node types that can be assigned.

  4. case class AssignStmt(left: AssignNode, right: Expression) extends Statement with Product with Serializable

    A statement that evaluates its second expression and assigns it to the variable or array element denoted by its first expression.

  5. case class BoolExp(value: Boolean) extends Expression with Product with Serializable

    An expression whose value is an Boolean constant.

  6. case class BoolVar(idn: Identifier) extends Declaration with Product with Serializable

    A declaration of a Boolean variable.

  7. case class Catch(idn: Identifier, stmts: List[Statement]) extends ObrNode with EntityNode with Product with Serializable

  8. sealed abstract class Declaration extends ObrNode with EntityNode

    Superclass of all declaration classes.

  9. trait EntityNode extends ObrNode

    Marker trait for all node types that have an entity.

  10. case class EnumConst(idn: Identifier) extends ObrNode with EntityNode with Product with Serializable

    A declaration of an enumeration constant

  11. case class EnumVar(idn: Identifier, consts: List[EnumConst]) extends Declaration with Product with Serializable

    A declaration of an enumeration variable with given enumeration constants.

  12. case class EqualExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression that compares the values of two expressions for equality.

  13. case class ExitStmt() extends Statement with Product with Serializable

    A statement that exits the nearest enclosing loop.

  14. case class ExnConst(idn: Identifier) extends Declaration with Product with Serializable

    A declaration of a new exception value

  15. abstract class Expression extends ObrNode

    Superclass of all expression classes.

  16. case class FieldExp(idn: Identifier, field: Identifier) extends Expression with AssignNode with Product with Serializable

    An expression that accesses a field of a record.

  17. case class ForStmt(idn: Identifier, min: Expression, max: Expression, body: List[Statement]) extends Statement with EntityNode with Product with Serializable

    A statement that executes its body statements for each value of a variable in a range given by its two expressions.

  18. case class GreaterExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression that compares the values of two expressions for greater-than order.

  19. type Identifier = String

    A representation of identifiers as strings.

  20. case class IdnExp(idn: Identifier) extends Expression with AssignNode with Product with Serializable

    An expression whose value is the current value of a named variable or constant.

  21. case class IfStmt(cond: Expression, thens: List[Statement], elses: List[Statement]) extends Statement with Product with Serializable

    A conditional statement that evaluates a Boolean expression and, if it is true, executes its first sequence of statements, and if its is false, executes its second sequence of statements.

  22. case class IndexExp(idn: Identifier, indx: Expression) extends Expression with AssignNode with Product with Serializable

    An expression that indexes an array.

  23. case class IntConst(idn: Identifier, value: Int) extends Declaration with Product with Serializable

    A declaration of an integer constant with the given value.

  24. case class IntExp(num: Int) extends Expression with Product with Serializable

    An expression whose value is an integer constant.

  25. case class IntParam(idn: Identifier) extends Declaration with Product with Serializable

    A declaration of an integer parameter.

  26. case class IntVar(idn: Identifier) extends Declaration with Product with Serializable

    A declaration of an integer variable.

  27. case class LessExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression that compares the values of two expressions for less-than order.

  28. case class LoopStmt(body: List[Statement]) extends Statement with Product with Serializable

    A loop that executes forever.

  29. case class MinusExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression whose value is the difference between the values of two expressions.

  30. case class ModExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression whose value is the modulus of its two expressions.

  31. case class NegExp(exp: Expression) extends Expression with Product with Serializable

    An expression whose value is the negation of the value of an expression.

  32. case class NotEqualExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression that compares the values of two expressions for inequality.

  33. case class NotExp(exp: Expression) extends Expression with Product with Serializable

    An expression whose value is the logical negation of the value of an expression.

  34. case class ObrInt(idn1: Identifier, decls: List[Declaration], stmts: List[Statement], idn2: Identifier) extends ObrNode with Product with Serializable

    An Obr program consisting of the given declarations and statements and returning an integer value.

  35. sealed abstract class ObrNode extends Attributable with Positioned

    Interface for all Obr tree nodes.

  36. case class OrExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression whose value is the logical OR of the values of two expressions.

  37. case class PlusExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression whose value is the sum of the values of two expressions.

  38. case class RaiseStmt(idn: Identifier) extends Statement with EntityNode with Product with Serializable

    A statement that raises a specified exception.

  39. case class RecordVar(idn: Identifier, fields: List[Identifier]) extends Declaration with Product with Serializable

    A declaration of a record variable with the given fields.

  40. case class ReturnStmt(value: Expression) extends Statement with Product with Serializable

    A statement that returns a value and terminates the program.

  41. case class SlashExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression whose value is the division of the values of two expressions.

  42. case class StarExp(left: Expression, right: Expression) extends Expression with Product with Serializable

    An expression whose value is the product of the values of two expressions.

  43. sealed abstract class Statement extends ObrNode

    Superclass of all statement classes.

  44. case class TryBody(stmts: List[Statement]) extends ObrNode with Product with Serializable

  45. case class TryStmt(body: TryBody, catches: List[Catch]) extends Statement with Product with Serializable

    A statement that is used to catch exception

  46. case class WhileStmt(cond: Expression, body: List[Statement]) extends Statement with Product with Serializable

    A statement that executes its body while its expression is true.

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  18. def toString(): String

    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  20. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  21. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any

No Group