object Lambda extends ParsingREPLWithConfig[Exp, LambdaConfig] with SyntaxAnalyser
A simple typed lambda calculus read-eval-print-loop that offers choice from among multiple evaluation mechanisms. The lambda calculus supported and the strategies used are heavily based on "Building Interpreters with Rewriting Strategies", Eelco Dolstra and Eelco Visser, LDTA 2002 (published in Volume 65/3 of Electronic Notes in Theoretical Computer Science, Elsevier).
- Source
- Lambda.scala
- Alphabetic
- By Inheritance
- Lambda
- SyntaxAnalyser
- PositionedParserUtilities
- ParserUtilities
- PackratParsers
- ParsingREPLWithConfig
- ParsingREPLBase
- RegexParsers
- Parsers
- REPLBase
- Profiler
- Profiler
- Values
- 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
-
val
analyser: Analyser
The analysis object to use for processing.
-
def
any: PackratParser[Char]
- Definition Classes
- ParserUtilities
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
banner: String
- Definition Classes
- Lambda → REPLBase
-
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
-
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 = new OutputEmitter, error: Emitter = new ErrorEmitter): LambdaConfig
- Definition Classes
- Lambda → REPLBase
-
def
dimValue(record: Record, dim: Dimension): Value
- Definition Classes
- Profiler → Profiler → Values
-
def
driver(args: Seq[String]): Unit
- Definition Classes
- REPLBase
-
def
elem(e: Elem): Parser[Elem]
- Definition Classes
- Parsers
-
def
elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]
- Definition Classes
- Parsers
-
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
exp: PackratParser[Exp]
- Definition Classes
- SyntaxAnalyser
-
lazy val
exp0: PackratParser[Exp]
- Definition Classes
- SyntaxAnalyser
-
lazy val
exp1: PackratParser[Exp]
- Definition Classes
- SyntaxAnalyser
-
lazy val
exp2: PackratParser[Exp]
- Definition Classes
- SyntaxAnalyser
-
def
failure(msg: String): Parser[Nothing]
- Definition Classes
- ParserUtilities → Parsers
-
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
idn: Regex
- Definition Classes
- SyntaxAnalyser
-
def
includeTimings: Boolean
- Definition Classes
- Profiler
-
def
isEventType(record: Record, eventtype: String): Boolean
- Definition Classes
- Values
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
lazy val
itype: PackratParser[Type]
- Definition Classes
- SyntaxAnalyser
-
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
- REPLBase
-
def
mark[T](p: Parser[String]): Parser[Marker]
- Definition Classes
- PositionedParserUtilities
-
def
memo[T](p: Parser[T]): PackratParser[T]
- Definition Classes
- PackratParsers
-
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
-
lazy val
number: Parser[Num]
- Definition Classes
- SyntaxAnalyser
-
lazy val
op: Parser[Product with Serializable with Op]
- Definition Classes
- SyntaxAnalyser
-
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[Exp]
- 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
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(e: Exp, config: LambdaConfig): Unit
Process an expression.
Process an expression.
- Definition Classes
- Lambda → ParsingREPLBase
-
def
processline(line: String, config: LambdaConfig): LambdaConfig
Process a user input line by intercepting meta-level commands to update the evaluation mechanisms.
Process a user input line by intercepting meta-level commands to update the evaluation mechanisms. By default we just parse what they type into an expression.
- Definition Classes
- Lambda → ParsingREPLBase → REPLBase
-
final
def
processlines(config: LambdaConfig): Unit
- Definition Classes
- REPLBase
- Annotations
- @tailrec()
-
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
-
def
prompt: String
- Definition Classes
- REPLBase
-
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
-
def
skipWhitespace: Boolean
- Definition Classes
- RegexParsers
-
def
startReport(dimensionNames: Seq[Dimension]): Unit
- Definition Classes
- Profiler → Values
-
val
startTime: Long
- Definition Classes
- Profiler
-
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
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
trace(predicate: (Event) ⇒ Boolean): Unit
- Definition Classes
- Profiler
-
lazy val
ttype: PackratParser[Type]
- Definition Classes
- SyntaxAnalyser
-
lazy val
ttype0: PackratParser[Type]
- Definition Classes
- SyntaxAnalyser
-
def
valueToString(a: Value): String
- Definition Classes
- Values
-
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
- Attributes
- protected
- Definition Classes
- RegexParsers
-
def
wrap[T, U](p: ⇒ Parser[T], f: (T) ⇒ Either[U, String]): Parser[U]
- Definition Classes
- ParserUtilities
-
object
Command
Extractor for commands, splits the line into separate words.