org.bitbucket.inkytonik.kiama.util

CompilerWithConfig

trait CompilerWithConfig[T, C <: Config] extends CompilerBase[T, C]

A compiler that uses Parsers to produce positioned ASTs. C is the type of the compiler configuration.

Source
Compiler.scala
Linear Supertypes
CompilerBase[T, C], Profiler, dsprofile.Profiler, Values, Messaging, PositionStore, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CompilerWithConfig
  2. CompilerBase
  3. Profiler
  4. Profiler
  5. Values
  6. Messaging
  7. PositionStore
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class Child extends Step with Product with Serializable

    Definition Classes
    Profiler
  2. case class Dep extends Product with Serializable

    Definition Classes
    Profiler
  3. case class Record extends Product with Serializable

    Definition Classes
    Values
  4. abstract class Step extends AnyRef

    Definition Classes
    Profiler

Abstract Value Members

  1. abstract def createConfig(args: Seq[String]): C

    Create the configuration for a particular run of the compiler.

    Create the configuration for a particular run of the compiler. Override this if you have a custom configuration for your compiler.

    Definition Classes
    CompilerBase
  2. abstract def format(ast: T): Document

    Format an abstract syntax tree for printing.

    Format an abstract syntax tree for printing. Default: return an empty document.

    Definition Classes
    CompilerBase
  3. abstract val parser: Parser[T]

    The particular parser used to parse this compiler's input.

  4. abstract val parsers: ParsersBase

    The suite of parsers that is used by this compiler.

  5. abstract def process(source: Source, ast: T, config: C): Unit

    Function to process the input that was parsed.

    Function to process the input that was parsed. source is the input text processed by the compiler. ast is the abstract syntax tree produced by the parser from that text. config provides access to all aspects of the configuration.

    Definition Classes
    CompilerBase

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. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def checkFor(record: Record, dim: Dimension, eventtype: String, needed: Dimension)(f: (Value) ⇒ Value): Value

    Definition Classes
    Values
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def column(message: Message): Option[Int]

    Definition Classes
    Messaging
  10. def createAndInitConfig(args: Seq[String]): Either[String, C]

    Create and initialise the configuration for a particular run of the compiler.

    Create and initialise the configuration for a particular run of the compiler. Default: call createConfig and then initialise the resulting configuration. Returns either the created configuration or an error message describing why the configuration couldn't be created.

    Definition Classes
    CompilerBase
  11. def dimValue(record: Record, dim: Dimension): Value

    Definition Classes
    Profiler → Profiler → Values
  12. def driver(args: Seq[String]): Unit

    Driver for this compiler.

    Driver for this compiler. First, use the argument list to create a configuration for this execution. Then, use the configuration to run the file processing in the appropriate way.

    Definition Classes
    CompilerBase
  13. def encoding: String

    The character encoding of input files read by this compiler.

    The character encoding of input files read by this compiler. Defaults to UTF-8.

    Definition Classes
    CompilerBase
  14. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def finishReport(): Unit

    Definition Classes
    Values
  18. def formatMessage(message: Message): String

    Definition Classes
    Messaging
  19. def formatMessages(messages: Messages): String

    Definition Classes
    Messaging
  20. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  22. def includeTimings: Boolean

    Definition Classes
    Profiler
  23. def isEventType(record: Record, eventtype: String): Boolean

    Definition Classes
    Values
  24. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  25. def line(message: Message): Option[Int]

    Definition Classes
    Messaging
  26. def main(args: Array[String]): Unit

    The entry point for this compiler.

    The entry point for this compiler.

    Definition Classes
    CompilerBase
  27. def makeast(source: Source, config: C): Either[T, Messages]

    Make an AST by running the parser on the given source, returning messages instead if the parse fails.

    Make an AST by running the parser on the given source, returning messages instead if the parse fails.

    Definition Classes
    CompilerWithConfigCompilerBase
  28. implicit object messageOrdering extends Ordering[Message]

    Definition Classes
    Messaging
  29. def nanoToMs(nano: Long): Long

    Definition Classes
    Profiler
  30. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  33. def output(str: String): Unit

    Definition Classes
    Values
  34. def outputln(str: String): Unit

    Definition Classes
    Values
  35. def parseProfileOption(value: String): Seq[Dimension]

    Definition Classes
    Profiler
  36. def percent(v: Long, total: Long): String

    Definition Classes
    Profiler
  37. def positionOf(message: Message): Option[Position]

    Definition Classes
    Messaging
  38. val positions: Positions

    Definition Classes
    PositionStore
  39. def printDependencyGraph(record: Record, dim: Dimension): Unit

    Definition Classes
    Profiler
  40. def printReports(totalTime: Long, dimensionNames: Seq[Dimension], records: List[Record]): Unit

    Definition Classes
    Profiler
  41. var printTables: Boolean

    Definition Classes
    Values
  42. def processfile(filename: String, config: C): Unit

    Process a file argument by using makeast to turn their contents into abstract syntax trees (ASTs) and then by process which conducts arbitrary processing on the ASTs.

    Process a file argument by using makeast to turn their contents into abstract syntax trees (ASTs) and then by process which conducts arbitrary processing on the ASTs. The character encoding of the files is given by the encoding method.

    Definition Classes
    CompilerBase
  43. def processfiles(config: C): Unit

    Process the files one by one.

    Process the files one by one.

    Definition Classes
    CompilerBase
  44. def profile[T](computation: ⇒ T, dimensionNames: Seq[Dimension], logging: Boolean): T

    Definition Classes
    Profiler
  45. def profileStart(logging: Boolean): Unit

    Definition Classes
    Profiler
  46. def profileStop(): (Seq[Dimension]) ⇒ Unit

    Definition Classes
    Profiler
  47. def profileStop(dimensionNames: Seq[Dimension]): Unit

    Definition Classes
    Profiler
  48. def profileStopInteractive(): Unit

    Definition Classes
    Profiler
  49. def report(messages: Messages, emitter: Emitter): Unit

    Definition Classes
    Messaging
  50. def startReport(dimensionNames: Seq[Dimension]): Unit

    Definition Classes
    Profiler → Values
  51. var startTime: Long

    Definition Classes
    Profiler
  52. def summariseAlongDims(dimensionNames: Seq[Dimension], records: List[Record], nrecords: Int, profiledTime: Long): Unit

    Definition Classes
    Profiler
  53. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  54. def time[T](computation: ⇒ T, warmup: Int, n: Int, discard: Int): Unit

    Definition Classes
    Profiler
  55. def toString(): String

    Definition Classes
    AnyRef → Any
  56. def trace(predicate: (Event) ⇒ Boolean): Unit

    Definition Classes
    Profiler
  57. def valueToString(a: Value): String

    Definition Classes
    Values
  58. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from CompilerBase[T, C]

Inherited from Profiler

Inherited from dsprofile.Profiler

Inherited from Values

Inherited from Messaging

Inherited from PositionStore

Inherited from AnyRef

Inherited from Any

Ungrouped