trait Driver extends SyntaxAnalyser with Compiler[Program]
Compile the MiniJava program in the file given as the first command-line argument.
- Source
- Main.scala
- Alphabetic
- By Inheritance
- Driver
- Compiler
- CompilerWithConfig
- CompilerBase
- Profiler
- Profiler
- Values
- SyntaxAnalyser
- PositionedParserUtilities
- ParserUtilities
- PackratParsers
- RegexParsers
- Parsers
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
Child extends Step with Product with Serializable
- Definition Classes
- Profiler
-
case class
Dep extends Product with Serializable
- Definition Classes
- Profiler
-
type
Elem = Char
- Definition Classes
- RegexParsers → Parsers
-
case class
Error extends NoSuccess with Product with Serializable
- Definition Classes
- Parsers
-
case class
Failure extends NoSuccess with Product with Serializable
- Definition Classes
- Parsers
-
type
Input = Reader[Elem]
- Definition Classes
- Parsers
-
class
Marker extends AnyRef
- Definition Classes
- PositionedParserUtilities
-
sealed abstract
class
NoSuccess extends ParseResult[Nothing]
- Definition Classes
- Parsers
-
trait
OnceParser[+T] extends Parser[T]
- Definition Classes
- Parsers
-
abstract
class
PackratParser[+T] extends scala.util.parsing.combinator.PackratParsers.Parser[T]
- Definition Classes
- PackratParsers
-
class
PackratReader[+T] extends Reader[T]
- Definition Classes
- PackratParsers
-
sealed abstract
class
ParseResult[+T] extends AnyRef
- Definition Classes
- Parsers
-
abstract
class
Parser[+T] extends (Input) ⇒ ParseResult[T]
- Definition Classes
- Parsers
-
case class
Record extends Product with Serializable
- Definition Classes
- Values
-
abstract
class
Step extends AnyRef
- Definition Classes
- Profiler
-
case class
Success[+T] extends ParseResult[T] with Product with Serializable
- Definition Classes
- Parsers
-
case class
~[+a, +b] extends Product with Serializable
- Definition Classes
- Parsers
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
OnceParser[T](f: (Input) ⇒ ParseResult[T]): Parser[T] with OnceParser[T]
- Definition Classes
- PositionedParserUtilities → Parsers
-
def
Parser[T](f: (Input) ⇒ ParseResult[T]): Parser[T]
- Definition Classes
- PositionedParserUtilities → Parsers
-
def
accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
- Definition Classes
- Parsers
-
def
accept[ES](es: ES)(implicit arg0: (ES) ⇒ List[Elem]): Parser[List[Elem]]
- Definition Classes
- Parsers
-
implicit
def
accept(e: Elem): Parser[Elem]
- Definition Classes
- Parsers
-
def
acceptIf(p: (Elem) ⇒ Boolean)(err: (Elem) ⇒ String): Parser[Elem]
- Definition Classes
- Parsers
-
def
acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
- Definition Classes
- Parsers
-
def
acceptSeq[ES](es: ES)(implicit arg0: (ES) ⇒ Iterable[Elem]): Parser[List[Elem]]
- Definition Classes
- Parsers
-
def
any: PackratParser[Char]
- Definition Classes
- ParserUtilities
-
lazy val
argument: PackratParser[Argument]
- Definition Classes
- SyntaxAnalyser
-
lazy val
arguments: PackratParser[Seq[Argument]]
- Definition Classes
- SyntaxAnalyser
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]
- Definition Classes
- Parsers
-
def
chainl1[T](p: ⇒ Parser[T], q: ⇒ Parser[(T, T) ⇒ T]): Parser[T]
- Definition Classes
- Parsers
-
def
chainr1[T, U](p: ⇒ Parser[T], q: ⇒ Parser[(T, U) ⇒ U], combine: (T, U) ⇒ U, first: U): Parser[U]
- Definition Classes
- Parsers
-
def
checkFor(record: Record, dim: Dimension, eventtype: String, needed: Dimension)(f: (Value) ⇒ Value): Value
- Definition Classes
- Values
-
lazy val
classDeclaration: PackratParser[Class]
- Definition Classes
- SyntaxAnalyser
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
commit[T](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- Parsers
-
implicit
def
constToTupleFunction2[A, B, R](r: (A, B) ⇒ R): (~[A, B]) ⇒ R
- Definition Classes
- ParserUtilities
-
implicit
def
constToTupleFunction3[A, B, C, R](r: (A, B, C) ⇒ R): (~[~[A, B], C]) ⇒ R
- Definition Classes
- ParserUtilities
-
implicit
def
constToTupleFunction4[A, B, C, D, R](r: (A, B, C, D) ⇒ R): (~[~[~[A, B], C], D]) ⇒ R
- Definition Classes
- ParserUtilities
-
implicit
def
constToTupleFunction5[A, B, C, D, E, R](r: (A, B, C, D, E) ⇒ R): (~[~[~[~[A, B], C], D], E]) ⇒ R
- Definition Classes
- ParserUtilities
-
implicit
def
constToTupleFunction6[A, B, C, D, E, F, R](r: (A, B, C, D, E, F) ⇒ R): (~[~[~[~[~[A, B], C], D], E], F]) ⇒ R
- Definition Classes
- ParserUtilities
-
lazy val
constrainedInt: PackratParser[Int]
- Definition Classes
- ParserUtilities
-
def
createConfig(args: Seq[String], output: Emitter, error: Emitter): Config
- Definition Classes
- Compiler → CompilerBase
-
def
dimValue(record: Record, dim: Dimension): Value
- Definition Classes
- Profiler → Profiler → Values
-
def
driver(args: Seq[String]): Unit
- Definition Classes
- CompilerBase
-
def
elem(e: Elem): Parser[Elem]
- Definition Classes
- Parsers
-
def
elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]
- Definition Classes
- Parsers
-
def
encoding: String
- Definition Classes
- CompilerBase
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
err(msg: String): Parser[Nothing]
- Definition Classes
- ParserUtilities → Parsers
-
lazy val
expression: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
lazy val
expression0: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
lazy val
expression1: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
lazy val
expression2: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
lazy val
expressionList: PackratParser[Seq[Expression]]
- Definition Classes
- SyntaxAnalyser
-
lazy val
factor: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
def
failure(msg: String): Parser[Nothing]
- Definition Classes
- ParserUtilities → Parsers
-
lazy val
fieldDeclaration: PackratParser[Field]
- Definition Classes
- SyntaxAnalyser
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
finishReport(): Unit
- Definition Classes
- Values
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
guard[T](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- Parsers
-
def
handleWhiteSpace(in: Input): Int
- Definition Classes
- ParserUtilities
-
def
handleWhiteSpace(source: CharSequence, offset: Int): Int
- Attributes
- protected
- Definition Classes
- RegexParsers
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
lazy val
identifier: PackratParser[String]
- Definition Classes
- SyntaxAnalyser
-
lazy val
idndef: PackratParser[IdnDef]
- Definition Classes
- SyntaxAnalyser
-
lazy val
idnuse: PackratParser[IdnUse]
- Definition Classes
- SyntaxAnalyser
-
def
includeTimings: Boolean
- Definition Classes
- Profiler
-
lazy val
integer: PackratParser[String]
- Definition Classes
- SyntaxAnalyser
-
def
isEventType(record: Record, eventtype: String): Boolean
- Definition Classes
- Values
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTest: Boolean
Whether this is a test run or not.
Whether this is a test run or not. Test runs generate all of their code using a single emitter so it can be easily compared to what we expect. A normal run sends the code for each class to a separate file so that they can be compiled by Jasmin.
-
def
keywords(ext: Regex, kws: Seq[String]): Parser[String]
- Definition Classes
- ParserUtilities
-
implicit
def
literal(s: String): Parser[String]
- Definition Classes
- RegexParsers
-
def
log[T](p: ⇒ Parser[T])(name: String): Parser[T]
- Definition Classes
- Parsers
-
def
main(args: Array[String]): Unit
- Definition Classes
- CompilerBase
-
lazy val
mainClass: PackratParser[MainClass]
- Definition Classes
- SyntaxAnalyser
-
def
makeast(reader: Reader, filename: String, config: Config): Either[Program, String]
- Definition Classes
- CompilerWithConfig → CompilerBase
-
def
mark[T](p: Parser[String]): Parser[Marker]
- Definition Classes
- PositionedParserUtilities
-
def
memo[T](p: Parser[T]): PackratParser[T]
- Definition Classes
- PackratParsers
-
lazy val
methodDeclaration: PackratParser[Method]
- Definition Classes
- SyntaxAnalyser
-
def
mkList[T]: (~[T, List[T]]) ⇒ List[T]
- Definition Classes
- Parsers
-
def
nanoToMs(nano: Long): Long
- Definition Classes
- Profiler
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
not[T](p: ⇒ Parser[T]): Parser[Unit]
- Definition Classes
- Parsers
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
opt[T](p: ⇒ Parser[T]): Parser[Option[T]]
- Definition Classes
- Parsers
-
def
output(str: String): Unit
- Definition Classes
- Values
-
def
outputln(str: String): Unit
- Definition Classes
- Values
-
def
parse[T](p: Parser[T], in: Reader): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parse[T](p: Parser[T], in: CharSequence): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parse[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parseAll[T](p: Parser[T], in: CharSequence): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parseAll[T](p: Parser[T], in: Reader): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parseAll[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
- Definition Classes
- RegexParsers
-
def
parseAndPosition[T](f: (Input) ⇒ ParseResult[T], in: Input): ParseResult[T]
- Definition Classes
- PositionedParserUtilities
-
def
parseProfileOption(value: String): Seq[Dimension]
- Definition Classes
- Profiler
-
implicit
def
parseResultToTuple2[A, B](p: Parser[~[A, B]]): PackratParser[(A, B)]
- Definition Classes
- ParserUtilities
-
implicit
def
parseResultToTuple3[A, B, C](p: Parser[~[~[A, B], C]]): PackratParser[(A, B, C)]
- Definition Classes
- ParserUtilities
-
implicit
def
parseResultToTuple4[A, B, C, D](p: Parser[~[~[~[A, B], C], D]]): PackratParser[(A, B, C, D)]
- Definition Classes
- ParserUtilities
-
implicit
def
parseResultToTuple5[A, B, C, D, E](p: Parser[~[~[~[~[A, B], C], D], E]]): PackratParser[(A, B, C, D, E)]
- Definition Classes
- ParserUtilities
-
implicit
def
parseResultToTuple6[A, B, C, D, E, F](p: Parser[~[~[~[~[~[A, B], C], D], E], F]]): PackratParser[(A, B, C, D, E, F)]
- Definition Classes
- ParserUtilities
-
def
parseString[T](parser: Parser[T], str: String): Either[T, String]
- Definition Classes
- ParserUtilities
-
lazy val
parser: PackratParser[Program]
- Definition Classes
- SyntaxAnalyser
-
implicit
def
parser2packrat[T](p: ⇒ Parser[T]): PackratParser[T]
- Definition Classes
- PackratParsers
-
def
percent(v: Long, total: Long): String
- Definition Classes
- Profiler
-
def
phrase[T](p: Parser[T]): PackratParser[T]
- Definition Classes
- PackratParsers → Parsers
-
def
positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- RegexParsers → Parsers
-
def
prettyprint(ast: Program): String
Pretty printer to use to print minijava ASTs.
Pretty printer to use to print minijava ASTs.
- Definition Classes
- Driver → CompilerBase
-
def
printDependencyGraph(record: Record, dim: Dimension): Unit
- Definition Classes
- Profiler
-
def
printReports(totalTime: Long, dimensionNames: Seq[Dimension], records: List[Record]): Unit
- Definition Classes
- Profiler
-
val
printTables: Boolean
- Definition Classes
- Values
-
def
process(filename: String, ast: Program, config: Config): Unit
Process the source tree by analysing it to check for semantic errors.
Process the source tree by analysing it to check for semantic errors. If any messages are produced, print them. If all is ok, translate the program and generate code for the translation.
- Definition Classes
- Driver → CompilerWithConfig → CompilerBase
-
def
processfile(filename: String, config: Config): Unit
- Definition Classes
- CompilerBase
-
def
processfiles(filenames: Seq[String], config: Config): Unit
- Definition Classes
- CompilerBase
-
def
profile[T](computation: ⇒ T, dimensionNames: Seq[Dimension], logging: Boolean): T
- Definition Classes
- Profiler
-
def
profileStart(logging: Boolean): Unit
- Definition Classes
- Profiler
-
def
profileStop(): (Seq[Dimension]) ⇒ Unit
- Definition Classes
- Profiler
-
def
profileStop(dimensionNames: Seq[Dimension]): Unit
- Definition Classes
- Profiler
-
def
profileStopInteractive(): Unit
- Definition Classes
- Profiler
-
lazy val
program: PackratParser[Program]
- Definition Classes
- SyntaxAnalyser
-
implicit
def
regex(r: Regex): Parser[String]
- Definition Classes
- RegexParsers
-
def
rep[T](p: ⇒ Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
rep1[T](first: ⇒ Parser[T], p0: ⇒ Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
- Annotations
- @migration
- Migration
(Changed in version 2.9.0) The
p0call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.
-
def
rep1[T](p: ⇒ Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
rep1sep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
repN[T](num: Int, p: ⇒ Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
repsep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]
- Definition Classes
- Parsers
-
def
result[T](v: ⇒ T): Parser[T]
- Definition Classes
- ParserUtilities
-
lazy val
result: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
def
skipWhitespace: Boolean
- Definition Classes
- RegexParsers
-
def
startReport(dimensionNames: Seq[Dimension]): Unit
- Definition Classes
- Profiler → Values
-
val
startTime: Long
- Definition Classes
- Profiler
-
lazy val
statement: PackratParser[Statement]
- Definition Classes
- SyntaxAnalyser
-
def
stringToInt(s: String): Either[Int, String]
- Definition Classes
- ParserUtilities
-
def
subjectsToStep(src: Any, dst: Any): Step
- Definition Classes
- Profiler
-
def
success[T](v: T): Parser[T]
- Definition Classes
- Parsers
-
def
summariseAlongDims(dimensionNames: Seq[Dimension], records: List[Record], nrecords: Int, profiledTime: Long): Unit
- Definition Classes
- Profiler
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
textOf[T](t: T, includeWhiteSpace: Boolean): Option[String]
- Definition Classes
- PositionedParserUtilities
-
def
time[T](computation: ⇒ T, warmup: Int, n: Int, discard: Int): Unit
- Definition Classes
- Profiler
-
lazy val
tipe: PackratParser[Type]
- Definition Classes
- SyntaxAnalyser
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
trace(predicate: (Event) ⇒ Boolean): Unit
- Definition Classes
- Profiler
-
def
valueToString(a: Value): String
- Definition Classes
- Values
-
lazy val
varDeclaration: PackratParser[Var]
- Definition Classes
- SyntaxAnalyser
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
val
whiteSpace: Regex
- Definition Classes
- SyntaxAnalyser → RegexParsers
-
def
wrap[T, U](p: ⇒ Parser[T], f: (T) ⇒ Either[U, String]): Parser[U]
- Definition Classes
- ParserUtilities