org.kiama.example.oberon0.base

TranslatingDriver

trait TranslatingDriver extends TransformingDriver

A driver for an artefact that parses, pretty prints, performs semantic analysis, transforms and translates.

Self Type
TranslatingDriver with RegexParsers with SourcePrettyPrinter with SymbolTable with Analyser with Transformer with Translator with CPrettyPrinter
Linear Supertypes
TransformingDriver, Driver, PrettyPrinter, PrettyPrinterBase, Compiler[ModuleDecl], RegexCompiler[ModuleDecl], CompilerBase[ModuleDecl], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TranslatingDriver
  2. TransformingDriver
  3. Driver
  4. PrettyPrinter
  5. PrettyPrinterBase
  6. Compiler
  7. RegexCompiler
  8. CompilerBase
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class Doc extends ((output.PrettyPrinter.Indent, output.PrettyPrinter.Width)) ⇒ ((Int, Queue[(Int, (Boolean) ⇒ ((Int) ⇒ output.PrettyPrinter.Layout) ⇒ (Int) ⇒ output.PrettyPrinter.Layout)]) ⇒ (Int) ⇒ output.PrettyPrinter.Layout) ⇒ (Int, Queue[(Int, (Boolean) ⇒ ((Int) ⇒ output.PrettyPrinter.Layout) ⇒ (Int) ⇒ output.PrettyPrinter.Layout)]) ⇒ (Int) ⇒ output.PrettyPrinter.Layout with output.PrettyPrinter.DocOps

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  2. trait DocOps extends AnyRef

    Definition Classes
    PrettyPrinterBase
  3. type Indent = Int

    Definition Classes
    PrettyPrinterBase
  4. type Layout = String

    Definition Classes
    PrettyPrinterBase
  5. trait PrettyPrintable extends AnyRef

    Definition Classes
    PrettyPrinterBase
  6. type Width = Int

    Definition Classes
    PrettyPrinterBase

Abstract Value Members

  1. abstract def artefact: String

    The name of this artefact.

    The name of this artefact.

    Definition Classes
    Driver
  2. abstract def parser: (TranslatingDriver.this)#Parser[ModuleDecl]

    Definition Classes
    RegexCompiler

Concrete 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. def angles(d: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  7. def any(a: Any): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  8. implicit def anyToPrettyPrintable(a: Any): (TranslatingDriver.this)#PrettyPrintable

    Definition Classes
    PrettyPrinterBase
  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. def backslash: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  11. def braces(d: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  12. def brackets(d: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  13. def cat(ds: Seq[(TranslatingDriver.this)#Doc]): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  14. var challengeFlag: Boolean

    Definition Classes
    Driver
  15. val challengeFlagDefault: Boolean

    Definition Classes
    Driver
  16. implicit def char(c: Char): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  17. def checkargs(args: Array[String], emitter: Emitter): Array[String]

    Process the command-line arguments and return an array of the input file names if processing should continue, None otherwise.

    Process the command-line arguments and return an array of the input file names if processing should continue, None otherwise.

    Definition Classes
    Driver → CompilerBase
  18. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  19. def colon: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  20. def comma: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  21. def compile(args: Array[String], console: Console): String

    Definition Classes
    CompilerBase
  22. def consumeast(ast: ModuleDecl, console: Console, emitter: Emitter): Unit

    Consume the AST by translating it to C.

    Consume the AST by translating it to C.

    Definition Classes
    TranslatingDriverDriver
  23. val defaultIndent: Int

    Definition Classes
    PrettyPrinterBase
  24. val defaultWidth: Int

    Definition Classes
    PrettyPrinterBase
  25. def dot: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  26. def dquote: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  27. def dquotes(d: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  28. def driver(args: Array[String], console: Console, emitter: Emitter): Unit

    Custom driver for section tagging and challenge mode for errors.

    Custom driver for section tagging and challenge mode for errors. If a parse error occurs: in challenge mode, just send "parse failed" to standard output, otherwise send the message to the errors file.

    Definition Classes
    Driver → CompilerBase
  29. def empty: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  30. def enclose(l: (TranslatingDriver.this)#Doc, d: (TranslatingDriver.this)#Doc, r: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  31. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  32. def equal: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  33. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  34. def fillcat(ds: Seq[(TranslatingDriver.this)#Doc]): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  35. def fillsep(ds: Seq[(TranslatingDriver.this)#Doc], sep: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  36. def fillsep(ds: Seq[(TranslatingDriver.this)#Doc]): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  37. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  38. def forwslash: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  39. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  40. def group(d: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  41. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  42. def hcat(ds: Seq[(TranslatingDriver.this)#Doc]): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  43. var helpFlag: Boolean

    Definition Classes
    Driver
  44. val helpFlagDefault: Boolean

    Definition Classes
    Driver
  45. def hsep(ds: Seq[(TranslatingDriver.this)#Doc], sep: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  46. def hsep(ds: Seq[(TranslatingDriver.this)#Doc]): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  47. def initialiseSemanticAnalysis: Unit

    Perform initialisation of semantic analysis that is necessary before processing an AST.

    Perform initialisation of semantic analysis that is necessary before processing an AST.

    Definition Classes
    Driver
  48. var input: String

    Definition Classes
    Driver
  49. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  50. def langle: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  51. def lbrace: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  52. def lbracket: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  53. def line: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  54. def linebreak: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  55. def list[T](l: List[T], prefix: String, elemToDoc: (T) ⇒ (TranslatingDriver.this)#Doc, sep: (TranslatingDriver.this)#Doc, sepfn: (Seq[(TranslatingDriver.this)#Doc], (TranslatingDriver.this)#Doc) ⇒ (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  56. def lparen: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  57. def lsep(ds: Seq[(TranslatingDriver.this)#Doc], sep: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  58. def lsep2(ds: Seq[(TranslatingDriver.this)#Doc], sep: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  59. def lterm(ds: Seq[(TranslatingDriver.this)#Doc], term: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  60. def main(args: Array[String]): Unit

    Definition Classes
    CompilerBase
  61. def makeast(reader: Reader, filename: String, emitter: Emitter): Either[ModuleDecl, String]

    Definition Classes
    RegexCompiler → CompilerBase
  62. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  63. def nest(d: (TranslatingDriver.this)#Doc, j: (TranslatingDriver.this)#Indent): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  64. final def notify(): Unit

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

    Definition Classes
    AnyRef
  66. def parens(d: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  67. def plist(l: List[(TranslatingDriver.this)#PrettyPrintable], prefix: String, elemToDoc: ((TranslatingDriver.this)#PrettyPrintable) ⇒ (TranslatingDriver.this)#Doc, sep: (TranslatingDriver.this)#Doc, sepfn: (Seq[(TranslatingDriver.this)#Doc], (TranslatingDriver.this)#Doc) ⇒ (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  68. var pprintastFlag: Boolean

    Definition Classes
    Driver
  69. val pprintastFlagDefault: Boolean

    Definition Classes
    Driver
  70. var pprintcastFlag: Boolean

  71. val pprintcastFlagDefault: Boolean

  72. var pprintiastFlag: Boolean

    Definition Classes
    TransformingDriver
  73. val pprintiastFlagDefault: Boolean

    Definition Classes
    TransformingDriver
  74. def pretty(d: (TranslatingDriver.this)#Doc, w: (TranslatingDriver.this)#Width): (TranslatingDriver.this)#Layout

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  75. def pretty(p: (TranslatingDriver.this)#PrettyPrintable): (TranslatingDriver.this)#Layout

    Definition Classes
    PrettyPrinterBase
  76. def pretty_any(a: Any): (TranslatingDriver.this)#Layout

    Definition Classes
    PrettyPrinterBase
  77. var printastFlag: Boolean

    Definition Classes
    Driver
  78. val printastFlagDefault: Boolean

    Definition Classes
    Driver
  79. var printcastFlag: Boolean

  80. val printcastFlagDefault: Boolean

  81. var printiastFlag: Boolean

    Definition Classes
    TransformingDriver
  82. val printiastFlagDefault: Boolean

    Definition Classes
    TransformingDriver
  83. def process(ast: ModuleDecl, console: Console, emitter: Emitter): Boolean

    Process the given abstract syntax tree.

    Process the given abstract syntax tree. Send output to emitter, marking sections so that we can split things later.

    Definition Classes
    Driver → Compiler → CompilerBase
  84. def processargs(args: List[String]): Boolean

    Definition Classes
    TranslatingDriverTransformingDriverDriver
  85. def processast(ast: ModuleDecl, console: Console, emitter: Emitter): ModuleDecl

    Process the AST by transforming it.

    Process the AST by transforming it. Then apply higher-level transformations.

    Definition Classes
    TransformingDriverDriver
  86. def rangle: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  87. def rbrace: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  88. def rbracket: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  89. def resetflags(): Unit

    Definition Classes
    TranslatingDriverTransformingDriverDriver
  90. def rparen: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  91. def section(emitter: Emitter, name: String): Unit

    Output a section heading so that the output can be split later.

    Output a section heading so that the output can be split later.

    Definition Classes
    Driver
  92. def semi: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  93. def sep(ds: Seq[(TranslatingDriver.this)#Doc]): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  94. def softbreak: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  95. def softline: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  96. def space: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  97. def spaces(n: Int): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  98. def squote: (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  99. def squotes(d: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  100. def ssep(ds: Seq[(TranslatingDriver.this)#Doc], sep: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  101. def sterm(ds: Seq[(TranslatingDriver.this)#Doc], term: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  102. def string(s: String): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  103. def surround(d: (TranslatingDriver.this)#Doc, b: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  104. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  105. implicit def text(t: String): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  106. def toString(): String

    Definition Classes
    AnyRef → Any
  107. def usageMessage: String

    Definition Classes
    TranslatingDriverTransformingDriverDriver
  108. def value(v: Any): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  109. def vcat(ds: Seq[(TranslatingDriver.this)#Doc]): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  110. def vsep(ds: Seq[(TranslatingDriver.this)#Doc], sep: (TranslatingDriver.this)#Doc): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  111. def vsep(ds: Seq[(TranslatingDriver.this)#Doc]): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
  112. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. def product(p: Any): (TranslatingDriver.this)#Doc

    Definition Classes
    PrettyPrinterBase
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2.1) Use PrettyPrinter.any instead.

Inherited from TransformingDriver

Inherited from Driver

Inherited from PrettyPrinter

Inherited from PrettyPrinterBase

Inherited from Compiler[ModuleDecl]

Inherited from RegexCompiler[ModuleDecl]

Inherited from CompilerBase[ModuleDecl]

Inherited from AnyRef

Inherited from Any

No Group