org.kiama.example.oberon0.base

Driver

trait Driver extends Compiler[ModuleDecl] with PrettyPrinter

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

Self Type
Driver with RegexParsers with SourcePrettyPrinter with SymbolTable with Analyser
Linear Supertypes
PrettyPrinter, PrettyPrinterBase, Compiler[ModuleDecl], RegexCompiler[ModuleDecl], CompilerBase[ModuleDecl], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Driver
  2. PrettyPrinter
  3. PrettyPrinterBase
  4. Compiler
  5. RegexCompiler
  6. CompilerBase
  7. AnyRef
  8. Any
Visibility
  1. Public
  2. All

Type Members

  1. type Indent = Int

    Definition Classes
    PrettyPrinterBase
  2. type Layout = String

    Definition Classes
    PrettyPrinterBase
  3. type Width = Int

    Definition Classes
    PrettyPrinterBase

Abstract Value Members

  1. abstract def artefact: String

    The name of this artefact.

  2. abstract def parser: 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: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  7. implicit def anyToPrettyPrintable(a: Any): PrettyPrintable

    Definition Classes
    PrettyPrinterBase
  8. val argparser: ArgotParser

  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. def backslash: Doc

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

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

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

    Definition Classes
    PrettyPrinterBase
  14. val challenge: FlagOption[Boolean]

  15. implicit def char(c: Char): Doc

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

    Process the command-line arguments and return Some(filename) of the input file if processing should continue, None otherwise.

    Process the command-line arguments and return Some(filename) of the input file if processing should continue, None otherwise.

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

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  18. def colon: Doc

    Definition Classes
    PrettyPrinterBase
  19. def comma: Doc

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

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

    Process the AST, returning the new one.

    Process the AST, returning the new one. By default, do nothing.

  22. val defaultIndent: Int

    Definition Classes
    PrettyPrinterBase
  23. val defaultWidth: Int

    Definition Classes
    PrettyPrinterBase
  24. def dot: Doc

    Definition Classes
    PrettyPrinterBase
  25. def dquote: Doc

    Definition Classes
    PrettyPrinterBase
  26. def dquotes(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  27. 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
  28. def empty: Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  29. def enclose(l: Doc, d: Doc, r: Doc): Doc

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

    Definition Classes
    AnyRef
  31. def equal: Doc

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

    Definition Classes
    AnyRef → Any
  33. def fillcat(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  34. def fillsep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  35. def fillsep(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  36. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  37. def forwslash: Doc

    Definition Classes
    PrettyPrinterBase
  38. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  39. def group(d: Doc): Doc

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

    Definition Classes
    AnyRef → Any
  41. def hcat(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  42. val help: FlagOption[Boolean]

  43. def hsep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  44. def hsep(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  45. def initialiseSemanticAnalysis: Unit

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

  46. val input: SingleValueParameter[String]

  47. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  48. def langle: Doc

    Definition Classes
    PrettyPrinterBase
  49. def lbrace: Doc

    Definition Classes
    PrettyPrinterBase
  50. def lbracket: Doc

    Definition Classes
    PrettyPrinterBase
  51. def line: Doc

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  52. def linebreak: Doc

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

    Definition Classes
    PrettyPrinterBase
  54. def lparen: Doc

    Definition Classes
    PrettyPrinterBase
  55. def lsep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  56. def lsep2(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  57. def lterm(ds: Seq[Doc], term: Doc): Doc

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

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

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

    Definition Classes
    AnyRef
  61. def nest(d: Doc, j: Indent): Doc

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

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

    Definition Classes
    AnyRef
  64. def parens(d: Doc): Doc

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

    Definition Classes
    PrettyPrinterBase
  66. val pprintast: FlagOption[Boolean]

  67. def pretty(d: Doc, w: Width): Layout

    Definition Classes
    PrettyPrinter → PrettyPrinterBase
  68. def pretty(p: PrettyPrintable): Layout

    Definition Classes
    PrettyPrinterBase
  69. val printast: FlagOption[Boolean]

  70. 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
  71. def processast(ast: ModuleDecl, console: Console, emitter: Emitter): ModuleDecl

    Process the AST, returning the new one.

    Process the AST, returning the new one. By default, return the AST unchanged.

  72. def product(p: Any): Doc

    Definition Classes
    PrettyPrinterBase
  73. def rangle: Doc

    Definition Classes
    PrettyPrinterBase
  74. def rbrace: Doc

    Definition Classes
    PrettyPrinterBase
  75. def rbracket: Doc

    Definition Classes
    PrettyPrinterBase
  76. def rparen: Doc

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

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

  78. def semi: Doc

    Definition Classes
    PrettyPrinterBase
  79. def sep(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  80. def softbreak: Doc

    Definition Classes
    PrettyPrinterBase
  81. def softline: Doc

    Definition Classes
    PrettyPrinterBase
  82. def space: Doc

    Definition Classes
    PrettyPrinterBase
  83. def spaces(n: Int): Doc

    Definition Classes
    PrettyPrinterBase
  84. def squote: Doc

    Definition Classes
    PrettyPrinterBase
  85. def squotes(d: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  86. def ssep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  87. def sterm(ds: Seq[Doc], term: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  88. def string(s: String): Doc

    Definition Classes
    PrettyPrinterBase
  89. def surround(d: Doc, b: Doc): Doc

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

    Definition Classes
    AnyRef
  91. implicit def text(t: String): Doc

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

    Definition Classes
    AnyRef → Any
  93. def value(v: Any): Doc

    Definition Classes
    PrettyPrinterBase
  94. def vcat(ds: Seq[Doc]): Doc

    Definition Classes
    PrettyPrinterBase
  95. def vsep(ds: Seq[Doc], sep: Doc): Doc

    Definition Classes
    PrettyPrinterBase
  96. def vsep(ds: Seq[Doc]): Doc

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from PrettyPrinter

Inherited from PrettyPrinterBase

Inherited from Compiler[ModuleDecl]

Inherited from RegexCompiler[ModuleDecl]

Inherited from CompilerBase[ModuleDecl]

Inherited from AnyRef

Inherited from Any