class A4Tests extends A4Phases with TestDriver
- Source
- A4Tests.scala
- Alphabetic
- By Inheritance
- A4Tests
- TestDriver
- TestCompilerWithConfig
- Tests
- Checkers
- Configuration
- BeforeAndAfterAll
- BeforeAndAfter
- SuiteMixin
- FunSuiteLike
- Documenting
- Alerting
- Notifying
- Informing
- TestRegistration
- TestSuite
- Suite
- Serializable
- Serializable
- Assertions
- TripleEquals
- TripleEqualsSupport
- A4Phases
- CPrettyPrinter
- CPrettyPrinter
- CPrettyPrinter
- CPrettyPrinter
- CPrettyPrinter
- CCodeGenerator
- CCodeGenerator
- CCodeGenerator
- CCodeGenerator
- CCodeGenerator
- Translator
- Desugarer
- Desugarer
- Lifter
- Transformer
- TypeAnalyser
- SymbolTable
- TypeAnalyser
- TypeAnalyser
- TypeAnalyser
- TypeAnalyser
- NameAnalyser
- NameAnalyser
- SymbolTable
- NameAnalyser
- NameAnalyser
- SymbolTable
- SymbolTable
- Environments
- Analyser
- SourcePrettyPrinter
- SourcePrettyPrinter
- SourcePrettyPrinter
- SourcePrettyPrinter
- SourcePrettyPrinter
- SourcePrettyPrinter
- ParenPrettyPrinter
- PrettyPrinter
- PrettyPrinterBase
- SyntaxAnalyser
- SyntaxAnalyser
- SyntaxAnalyser
- SyntaxAnalyser
- SyntaxAnalyser
- SyntaxAnalyser
- WhitespacePositionedParserUtilities
- PositionedParserUtilities
- WhitespaceParser
- ParserUtilities
- PackratParsers
- TranslatingDriver
- TransformingDriver
- FrontEndDriver
- CompilerWithConfig
- RegexParsers
- Parsers
- CompilerBase
- Profiler
- Profiler
- Values
- Driver
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new A4Tests()
Type Members
-
trait
Builtin
extends Named
Marker trait for all built-in entities.
Marker trait for all built-in entities.
- Definition Classes
- SymbolTable
-
case class
BuiltinType
(ident: String) extends Type with Named with Builtin with Product with Serializable
A built-in type with an implicit definition that the compiler must have special knowledge about.
A built-in type with an implicit definition that the compiler must have special knowledge about. This mechanism is necessary since the built-in types cannot be defined using source concepts.
- Definition Classes
- SymbolTable
-
case class
Constant
(ident: String, decl: ConstDecl) extends Entity with NamedEntity with Product with Serializable
A user-defined constant entity represented by a constant declaration.
A user-defined constant entity represented by a constant declaration.
- Definition Classes
- SymbolTable
-
case class
IntegerValue
(ident: String, tipe: Type, value: Int) extends Entity with NamedEntity with Builtin with Product with Serializable
A built-in value of some type that is represented by a particular integer value.
A built-in value of some type that is represented by a particular integer value. The type does not have to be INTEGER. In other words, this value cannot be defined using a constant declaration so the compiler has to have special knowledge of them.
- Definition Classes
- SymbolTable
-
case class
Module
(ident: String, decl: ModuleDecl) extends Entity with NamedEntity with Product with Serializable
A user-defined module represented by a module declaration.
A user-defined module represented by a module declaration.
- Definition Classes
- SymbolTable
-
abstract
class
Type
extends Entity
An entity representing by a user-provided type declaration.
An entity representing by a user-provided type declaration.
- Definition Classes
- SymbolTable
-
case class
UserType
(ident: String, tipe: TypeDecl) extends Type with Named with Product with Serializable
A user-defined type.
A user-defined type.
- Definition Classes
- SymbolTable
-
case class
Variable
(ident: String, tipe: TypeDef) extends Entity with NamedEntity with Product with Serializable
A variable entity including a reference to its types' definition.
A variable entity including a reference to its types' definition.
- Definition Classes
- SymbolTable
-
case class
BuiltinProc
(ident: String, params: Seq[ParamInfo]) extends Entity with NamedEntity with Builtin with Product with Serializable
A built-in procedure with its parameter information.
A built-in procedure with its parameter information.
- Definition Classes
- SymbolTable
-
case class
ParamInfo
(mode: Mode, ident: String, tipe: SymbolTable.Type) extends Product with Serializable
Information about a particular parameter.
Information about a particular parameter. Similar to Parameter but the type has been replaced with its definition.
- Definition Classes
- SymbolTable
-
case class
Parameter
(mode: Mode, varr: SymbolTable.Variable) extends Entity with NamedEntity with Product with Serializable
A parameter is a variable augmented with a passing mode.
A parameter is a variable augmented with a passing mode.
- Definition Classes
- SymbolTable
-
case class
Procedure
(ident: String, decl: ProcDecl) extends Entity with NamedEntity with Product with Serializable
A procedure entity represented by a procedure declaration.
A procedure entity represented by a procedure declaration.
- Definition Classes
- SymbolTable
-
case class
ArrayType
(size: Int, elemtype: SymbolTable.Type) extends Type with Product with Serializable
An array type with the given size and element type.
An array type with the given size and element type. Setting size to zero and elemtype to the unknown type means an arbitrary array type.
- Definition Classes
- SymbolTable
-
case class
Field
(ident: String, tipe: SymbolTable.Type) extends Entity with Product with Serializable
A record field.
A record field.
- Definition Classes
- SymbolTable
-
case class
RecordType
(fields: Seq[Field]) extends Type with Product with Serializable
A record with the given fields.
A record with the given fields.
- Definition Classes
- SymbolTable
-
class
AssertionsHelper extends AnyRef
- Definition Classes
- Assertions
-
class
CheckingEqualizer[L] extends AnyRef
- Definition Classes
- TripleEqualsSupport
-
case class
Child extends Step with Product with Serializable
- Definition Classes
- Profiler
-
case class
Dep extends Product with Serializable
- Definition Classes
- Profiler
-
class
Doc extends ((output.PrettyPrinter.Indent, output.PrettyPrinter.Width)) ⇒ ((Int, Queue[(Int, (Boolean) ⇒ ((Int) ⇒ Trampoline[Seq[String]]) ⇒ Trampoline[(Int) ⇒ Trampoline[Seq[String]]])]) ⇒ Trampoline[(Int) ⇒ Trampoline[Seq[String]]]) ⇒ Trampoline[(Int, Queue[(Int, (Boolean) ⇒ ((Int) ⇒ Trampoline[Seq[String]]) ⇒ Trampoline[(Int) ⇒ Trampoline[Seq[String]]])]) ⇒ Trampoline[(Int) ⇒ Trampoline[Seq[String]]]] with output.PrettyPrinter.DocOps
- Definition Classes
- PrettyPrinter
-
trait
DocOps extends AnyRef
- Definition Classes
- PrettyPrinterBase
-
type
Elem = Char
- Definition Classes
- RegexParsers → Parsers
-
type
Environment = List[Scope]
- Definition Classes
- Environments
-
class
Equalizer[L] extends AnyRef
- Definition Classes
- TripleEqualsSupport
-
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
Indent = Int
- Definition Classes
- PrettyPrinterBase
-
type
Input = Reader[Elem]
- Definition Classes
- Parsers
-
type
Layout = String
- Definition Classes
- PrettyPrinterBase
-
class
Marker extends AnyRef
- Definition Classes
- PositionedParserUtilities
-
case class
MaxDiscardedFactor extends PropertyCheckConfigParam with Product with Serializable
- Definition Classes
- Configuration
-
case class
MinSize extends PropertyCheckConfigParam with Product with Serializable
- Definition Classes
- Configuration
-
case class
MinSuccessful extends PropertyCheckConfigParam with Product with Serializable
- Definition Classes
- Configuration
-
trait
Named extends AnyRef
- Definition Classes
- Environments
-
trait
NamedEntity extends Entity with Named
- Definition Classes
- Environments
-
trait
NoArgTest extends () ⇒ Outcome with TestData
- Attributes
- protected
- Definition Classes
- TestSuite
-
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
-
trait
PrettyPrintable extends AnyRef
- Definition Classes
- PrettyPrinterBase
-
sealed abstract
class
PropertyCheckConfigParam extends Product with Serializable
- Definition Classes
- Configuration
-
case class
PropertyCheckConfiguration extends PropertyCheckConfigurable with Product with Serializable
- Definition Classes
- Configuration
-
case class
Record extends Product with Serializable
- Definition Classes
- Values
-
type
Scope = Map[String, Entity]
- Definition Classes
- Environments
-
case class
SizeRange extends PropertyCheckConfigParam with Product with Serializable
- Definition Classes
- Configuration
-
abstract
class
Step extends AnyRef
- Definition Classes
- Profiler
-
case class
Success[+T] extends ParseResult[T] with Product with Serializable
- Definition Classes
- Parsers
-
type
Width = Int
- Definition Classes
- PrettyPrinterBase
-
case class
Workers extends PropertyCheckConfigParam with Product with Serializable
- Definition Classes
- Configuration
-
case class
~[+a, +b] extends Product with Serializable
- Definition Classes
- Parsers
-
case class
MaxDiscarded extends PropertyCheckConfigParam with Product with Serializable
- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
-
case class
MaxSize extends PropertyCheckConfigParam with Product with Serializable
- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
use SizeRange instead
-
case class
PropertyCheckConfig extends PropertyCheckConfigurable with Product with Serializable
- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
Use PropertyCheckConfiguration instead
-
trait
PropertyCheckConfigurable extends AnyRef
- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
Use PropertyCheckConfiguration directly instead.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
!==[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]
- Definition Classes
- TripleEqualsSupport
-
def
!==(right: Null): TripleEqualsInvocation[Null]
- Definition Classes
- TripleEqualsSupport
-
def
!==[T](right: T): TripleEqualsInvocation[T]
- Definition Classes
- TripleEqualsSupport
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
===[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]
- Definition Classes
- TripleEqualsSupport
-
def
===(right: Null): TripleEqualsInvocation[Null]
- Definition Classes
- TripleEqualsSupport
-
def
===[T](right: T): TripleEqualsInvocation[T]
- Definition Classes
- TripleEqualsSupport
-
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
-
implicit
def
PropertyCheckConfig2PropertyCheckConfiguration(p: PropertyCheckConfig): PropertyCheckConfiguration
- Definition Classes
- Configuration
-
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
after(fun: ⇒ Any)(implicit pos: Position): Unit
- Attributes
- protected
- Definition Classes
- BeforeAndAfter
-
def
afterAll(): Unit
- Attributes
- protected
- Definition Classes
- BeforeAndAfterAll
-
def
alert: Alerter
- Attributes
- protected
- Definition Classes
- FunSuiteLike → Alerting
-
def
align(d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
ampersand: Doc
- Definition Classes
- PrettyPrinterBase
-
def
angles(d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
any(a: Any): Doc
- Definition Classes
- PrettyPrinterBase
-
def
any: PackratParser[Char]
- Definition Classes
- ParserUtilities
-
implicit
def
anyToPrettyPrintable(a: Any): PrettyPrintable
- Definition Classes
- PrettyPrinterBase
-
def
arraydimensToDoc(t1: CArrayType): Doc
- Definition Classes
- CPrettyPrinter
-
def
artefact: String
The name of this artefact.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
macro
def
assert(condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: Position): Assertion
- Definition Classes
- Assertions
-
macro
def
assert(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion
- Definition Classes
- Assertions
-
macro
def
assertCompiles(code: String)(implicit pos: Position): Assertion
- Definition Classes
- Assertions
-
macro
def
assertDoesNotCompile(code: String)(implicit pos: Position): Assertion
- Definition Classes
- Assertions
-
def
assertMessage(received: Message, index: Int, expected: Message): Unit
Assert that a
receivedmessage at the given zero-basedindexconforms to an expected one in that it reports the same message label at the same position.Assert that a
receivedmessage at the given zero-basedindexconforms to an expected one in that it reports the same message label at the same position.- Definition Classes
- Tests
-
def
assertMessages(received: Messages, expected: Message*): Unit
Assert that the
receivedlist of messsages has recorded theexpectedmessages in the same order.Assert that the
receivedlist of messsages has recorded theexpectedmessages in the same order.- Definition Classes
- Tests
-
def
assertNotOptSame(expected: Any)(actual: Any): Unit
Analogous to ScalaTest's
assertResultbut it usesoptsameto compare the two values instead of equality.Analogous to ScalaTest's
assertResultbut it usesoptsameto compare the two values instead of equality.- Definition Classes
- Tests
-
def
assertNotSame(expected: Any)(actual: Any): Unit
Analogous to ScalaTest's
assertResultbut it usessameto compare the two values instead of equality.Analogous to ScalaTest's
assertResultbut it usessameto compare the two values instead of equality.- Definition Classes
- Tests
-
def
assertOptSame(expected: Any)(actual: Any): Unit
Analogous to ScalaTest's
assertResultbut it usesoptsameto compare the two values instead of equality.Analogous to ScalaTest's
assertResultbut it usesoptsameto compare the two values instead of equality.- Definition Classes
- Tests
-
def
assertResult(expected: Any)(actual: Any)(implicit prettifier: Prettifier, pos: Position): Assertion
- Definition Classes
- Assertions
-
def
assertResult(expected: Any, clue: Any)(actual: Any)(implicit prettifier: Prettifier, pos: Position): Assertion
- Definition Classes
- Assertions
-
def
assertSame(expected: Any)(actual: Any): Unit
Analogous to ScalaTest's
assertResultbut it usessameto compare the two values instead of equality.Analogous to ScalaTest's
assertResultbut it usessameto compare the two values instead of equality.- Definition Classes
- Tests
-
def
assertThrows[T <: AnyRef](f: ⇒ Any)(implicit classTag: ClassTag[T], pos: Position): Assertion
- Definition Classes
- Assertions
-
macro
def
assertTypeError(code: String)(implicit pos: Position): Assertion
- Definition Classes
- Assertions
-
val
assertionsHelper: AssertionsHelper
- Definition Classes
- Assertions
-
lazy val
assignment: Parser[Assignment]
- Definition Classes
- SyntaxAnalyser
-
macro
def
assume(condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: Position): Assertion
- Definition Classes
- Assertions
-
macro
def
assume(condition: Boolean)(implicit prettifier: Prettifier, pos: Position): Assertion
- Definition Classes
- Assertions
-
def
asterisk: Doc
- Definition Classes
- PrettyPrinterBase
-
def
atsign: Doc
- Definition Classes
- PrettyPrinterBase
-
def
backquote: Doc
- Definition Classes
- PrettyPrinterBase
-
def
backslash: Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
basetype: (Expression) ⇒ Type
The actual type of an expression following type aliases.
The actual type of an expression following type aliases.
- Definition Classes
- TypeAnalyser
-
def
basetypeToDoc(t: CType): Doc
- Definition Classes
- CPrettyPrinter → CPrettyPrinter → CPrettyPrinter → CPrettyPrinter
-
def
before(fun: ⇒ Any)(implicit pos: Position): Unit
- Attributes
- protected
- Definition Classes
- BeforeAndAfter
-
def
beforeAll(): Unit
- Attributes
- protected
- Definition Classes
- BeforeAndAfterAll
-
lazy val
block: Parser[Block]
- Definition Classes
- SyntaxAnalyser
-
def
blockToDoc(b: Block, beginend: Boolean = false): Doc
Pretty-print a block, omitting the BEGIN if there are no statements.
Pretty-print a block, omitting the BEGIN if there are no statements. Add the possibility of declarations to the previous level.
- Definition Classes
- SourcePrettyPrinter → SourcePrettyPrinter
-
lazy val
booleanType: BuiltinType
Built-in Boolean type.
Built-in Boolean type.
- Definition Classes
- SymbolTable
-
def
braces(d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
bracket(inner: PrettyOperatorExpression, outer: PrettyOperatorExpression, side: Side): Doc
- Definition Classes
- ParenPrettyPrinter
-
def
brackets(d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
cancel(cause: Throwable)(implicit pos: Position): Nothing
- Definition Classes
- Assertions
-
def
cancel(message: String, cause: Throwable)(implicit pos: Position): Nothing
- Definition Classes
- Assertions
-
def
cancel(message: String)(implicit pos: Position): Nothing
- Definition Classes
- Assertions
-
def
cancel()(implicit pos: Position): Nothing
- Definition Classes
- Assertions
-
def
caret: Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
caseStatement: Parser[CaseStatement]
- Definition Classes
- SyntaxAnalyser
-
def
caseToDoc(s: CaseStatement): Doc
- Definition Classes
- SourcePrettyPrinter
-
lazy val
cases: Parser[List[Case]]
- Definition Classes
- SyntaxAnalyser
-
def
casesToDoc(l: Seq[Case]): Doc
- Definition Classes
- SourcePrettyPrinter
-
def
casesToIf(ce: IdnExp, cases: Seq[Case], optelse: Option[Block]): IfStatement
Return an IF cascade equivaleant to the given cases and optional else block.
Return an IF cascade equivaleant to the given cases and optional else block. The variable ce holds the selection value. Specifically, these cases on ce CASE e1 : s1 CASE e2 .. e3 : s2 ELSE s3 are transformed into IF ce = e1 THEN s1 ELSEIF (ce >= e2) & (ce <= e3) THEN s2 ELSE 32 END If a case has more than one condition then they are combined with Or operators.
- Definition Classes
- Desugarer
-
def
cat(ds: Seq[Doc]): Doc
- Definition Classes
- PrettyPrinterBase
-
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
-
implicit
def
char(c: Char): Doc
- Definition Classes
- PrettyPrinterBase
-
def
check[ASSERTION](p: Prop, configParams: PropertyCheckConfigParam*)(implicit config: PropertyCheckConfigurable, asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
- Definition Classes
- Checkers
-
def
check[ASSERTION](p: Prop, prms: Parameters)(implicit asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
- Definition Classes
- Checkers
-
def
check[A1, A2, A3, A4, A5, A6, P, ASSERTION](f: (A1, A2, A3, A4, A5, A6) ⇒ P, configParams: PropertyCheckConfigParam*)(implicit config: PropertyCheckConfigurable, p: (P) ⇒ Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: (A1) ⇒ Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: (A2) ⇒ Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: (A3) ⇒ Pretty, a4: Arbitrary[A4], s4: Shrink[A4], pp4: (A4) ⇒ Pretty, a5: Arbitrary[A5], s5: Shrink[A5], pp5: (A5) ⇒ Pretty, a6: Arbitrary[A6], s6: Shrink[A6], pp6: (A6) ⇒ Pretty, asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
- Definition Classes
- Checkers
-
def
check[A1, A2, A3, A4, A5, P, ASSERTION](f: (A1, A2, A3, A4, A5) ⇒ P, configParams: PropertyCheckConfigParam*)(implicit config: PropertyCheckConfigurable, p: (P) ⇒ Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: (A1) ⇒ Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: (A2) ⇒ Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: (A3) ⇒ Pretty, a4: Arbitrary[A4], s4: Shrink[A4], pp4: (A4) ⇒ Pretty, a5: Arbitrary[A5], s5: Shrink[A5], pp5: (A5) ⇒ Pretty, asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
- Definition Classes
- Checkers
-
def
check[A1, A2, A3, A4, P, ASSERTION](f: (A1, A2, A3, A4) ⇒ P, configParams: PropertyCheckConfigParam*)(implicit config: PropertyCheckConfigurable, p: (P) ⇒ Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: (A1) ⇒ Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: (A2) ⇒ Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: (A3) ⇒ Pretty, a4: Arbitrary[A4], s4: Shrink[A4], pp4: (A4) ⇒ Pretty, asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
- Definition Classes
- Checkers
-
def
check[A1, A2, A3, P, ASSERTION](f: (A1, A2, A3) ⇒ P, configParams: PropertyCheckConfigParam*)(implicit config: PropertyCheckConfigurable, p: (P) ⇒ Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: (A1) ⇒ Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: (A2) ⇒ Pretty, a3: Arbitrary[A3], s3: Shrink[A3], pp3: (A3) ⇒ Pretty, asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
- Definition Classes
- Checkers
-
def
check[A1, A2, P, ASSERTION](f: (A1, A2) ⇒ P, configParams: PropertyCheckConfigParam*)(implicit config: PropertyCheckConfigurable, p: (P) ⇒ Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: (A1) ⇒ Pretty, a2: Arbitrary[A2], s2: Shrink[A2], pp2: (A2) ⇒ Pretty, asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
- Definition Classes
- Checkers
-
def
check[A1, P, ASSERTION](f: (A1) ⇒ P, configParams: PropertyCheckConfigParam*)(implicit config: PropertyCheckConfigurable, p: (P) ⇒ Prop, a1: Arbitrary[A1], s1: Shrink[A1], pp1: (A1) ⇒ Pretty, asserting: CheckerAsserting[ASSERTION], prettifier: Prettifier, pos: Position): Result
- Definition Classes
- Checkers
-
def
checkFor(record: Record, dim: Dimension, eventtype: String, needed: Dimension)(f: (Value) ⇒ Value): Value
- Definition Classes
- Values
-
def
checkNonLocalVarAccess(u: IdnUse): Messages
Check for non-local variable and procedure accesses.
Check for non-local variable and procedure accesses. In the L3 language non-local variable accesses are disallowed, unless they are to a variable at the top level. Non-local procedure accesses are just disallowed.
- Definition Classes
- NameAnalyser
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
colon: Doc
- Definition Classes
- PrettyPrinterBase
-
def
column(f: (Int) ⇒ Doc): Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
comma: Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
comment: PackratParser[Any]
- Definition Classes
- SyntaxAnalyser
-
def
commit[T](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- Parsers
-
lazy val
condition: Parser[Condition with Serializable]
- Definition Classes
- SyntaxAnalyser
-
lazy val
conditions: Parser[List[Condition with Serializable]]
- Definition Classes
- SyntaxAnalyser
-
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
constdecl: Parser[ConstDecl]
- Definition Classes
- SyntaxAnalyser
-
lazy val
constdeclsection: Parser[List[ConstDecl]]
- Definition Classes
- SyntaxAnalyser
-
lazy val
constrainedInt: PackratParser[Int]
- Definition Classes
- ParserUtilities
-
def
consumeast(ast: ModuleDecl, config: Oberon0Config): Unit
Consume the AST by translating it to C.
Consume the AST by translating it to C.
- Definition Classes
- TranslatingDriver → FrontEndDriver
-
def
conversionCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], cnv: (B) ⇒ A): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
convertEquivalenceToAToBConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: <:<[A, B]): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
convertEquivalenceToAToBConversionConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: (A) ⇒ B): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
convertEquivalenceToBToAConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: <:<[B, A]): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
convertEquivalenceToBToAConversionConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: (B) ⇒ A): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
convertToCheckingEqualizer[T](left: T): CheckingEqualizer[T]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
implicit
def
convertToEqualizer[T](left: T): Equalizer[T]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
createConfig(args: Seq[String], output: Emitter = new OutputEmitter, error: Emitter = new ErrorEmitter): Oberon0Config
In the test configuration we pretty print the source and C ASTs by default.
In the test configuration we pretty print the source and C ASTs by default.
- Definition Classes
- TestDriver
-
lazy val
declarations: PackratParser[Seq[Declaration]]
- Definition Classes
- SyntaxAnalyser
-
def
declarationsDef: PackratParser[Seq[Declaration]]
- Definition Classes
- SyntaxAnalyser → SyntaxAnalyser → SyntaxAnalyser
-
def
declsToDoc(ds: Seq[Declaration]): Doc
- Definition Classes
- SourcePrettyPrinter
-
def
declsection(d: Declaration): String
- Definition Classes
- SourcePrettyPrinter → SourcePrettyPrinter
-
lazy val
decltype: (TypeDecl) ⇒ Type
The built-in type associated with a type declaration.
The built-in type associated with a type declaration.
- Definition Classes
- TypeAnalyser
-
def
defaultEquality[A]: Equality[A]
- Definition Classes
- TripleEqualsSupport
-
val
defaultIndent: Int
- Definition Classes
- PrettyPrinterBase
-
val
defaultWidth: Int
- Definition Classes
- PrettyPrinterBase
-
def
defenv: Environment
The default environment.
The default environment.
- Definition Classes
- SymbolTable
-
def
defenvPairs: Seq[(String, Entity)]
The default environment with pre-defined procedures added.
The default environment with pre-defined procedures added.
- Definition Classes
- SymbolTable → SymbolTable
-
def
define(env: Environment, i: String, e: Entity): Environment
- Definition Classes
- Environments
-
lazy val
deftype: (TypeDef) ⇒ Type
The type given by a type definition.
The type given by a type definition.
- Definition Classes
- TypeAnalyser
-
def
deftypeDef: (TypeDef) ⇒ Type
- Definition Classes
- TypeAnalyser → TypeAnalyser
-
lazy val
desugarCase: Strategy
Desugar CASE statements into equivalent blocks containing cascading IF statements.
Desugar CASE statements into equivalent blocks containing cascading IF statements. A new variable called "casevar" is introduced in the block to hold the selection value so that it does not need to be re-evaluated. Specifically, CASE e OF cases END is transformed into VAR caseval : INTEGER; BEGIN caseval := e; IF caseval ... THEN ... END END
- Definition Classes
- Desugarer
-
lazy val
desugarFor: Strategy
Desugar FOR statements into equivalent blocks containing a WHILE loop.
Desugar FOR statements into equivalent blocks containing a WHILE loop. A new variable called "limit" is introduced in the block to hold the upper limit of the FOR to protect against changes in the body. Specifically, FOR id := e1 TO e2 BY e3 DO body END is transformed into VAR limit : INTEGER; BEGIN id := e1; limit := e2; WHILE (id op limit) DO body id := id + e3 END END If e3 is negative, op is <=, otherwise it is >=.
- Definition Classes
- Desugarer
-
def
dimValue(record: Record, dim: Dimension): Value
- Definition Classes
- Profiler → Profiler → Values
-
def
dollar: Doc
- Definition Classes
- PrettyPrinterBase
-
def
dosanitisation: Boolean
Flag to decide whether to sanitise the output before comparison of test results with expected results (see
sanitisemethod).Flag to decide whether to sanitise the output before comparison of test results with expected results (see
sanitisemethod). Default is true; override with false if you want actual results compared.- Definition Classes
- TestCompilerWithConfig
-
def
dot: Doc
- Definition Classes
- PrettyPrinterBase
-
def
dquote: Doc
- Definition Classes
- PrettyPrinterBase
-
def
dquotes(d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
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
-
lazy val
elsif: PackratParser[(Expression, Block)]
- Definition Classes
- SyntaxAnalyser
-
lazy val
elsifs: Parser[List[(Expression, Block)]]
- Definition Classes
- SyntaxAnalyser
-
def
empty: Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
enclose(l: Doc, d: Doc, r: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
encoding: String
- Definition Classes
- CompilerBase
-
def
enter(env: Environment): Environment
- Definition Classes
- Environments
-
lazy val
entity: (Identifier) ⇒ Entity
The program entity referred to by an identifier definition or use.
The program entity referred to by an identifier definition or use. In the case of a definition it's the thing being defined, so define it to be a reference to the declaration. If it's already defined, return a entity that indicates a multiple definition. In the case of a use, it's the thing defined elsewhere that is being referred to here, so look it up in the environment.
- Definition Classes
- NameAnalyser
-
def
entityFromDecl(n: IdnDef, i: String): Entity
The entity for an identifier definition as given by its declaration context.
The entity for an identifier definition as given by its declaration context.
- Definition Classes
- TypeAnalyser → NameAnalyser → NameAnalyser
-
lazy val
env: Chain[SourceTree, Environment]
The environment containing bindings for all identifiers visible at the given node.
The environment containing bindings for all identifiers visible at the given node. It starts at the module declaration with the default environment. At blocks we enter a nested scope which is removed on exit from the block. At constant and type declarations the left-hand side binding is not in scope on the right-hand side. Each identifier definition just adds its binding to the chain. The envout cases for assignment and expression mean that we don't need to traverse into those constructs, since declarations can't occur there.
- Definition Classes
- NameAnalyser
-
def
envin(in: (SourceTree) ⇒ Environment): ==>[SourceTree, Environment]
- Definition Classes
- NameAnalyser → NameAnalyser
-
def
envinl(in: (SourceTree) ⇒ Environment): ==>[SourceTree, Environment]
Blocks that are immediately inside procedure decls do not introduce new scopes since the procedure itself does.
Blocks that are immediately inside procedure decls do not introduce new scopes since the procedure itself does. This computation overrides the one earlier that pushes a scope for all blocks. Don't include the procedure name in the scope of its own body.
- Definition Classes
- NameAnalyser
-
def
envout(out: (SourceTree) ⇒ Environment): ==>[SourceTree, Environment]
- Definition Classes
- NameAnalyser → NameAnalyser
-
def
envoutl(out: (SourceTree) ⇒ Environment): ==>[SourceTree, Environment]
Similarly for envin we don't need to leave a scope for a procedure block, since we didn't enter one.
Similarly for envin we don't need to leave a scope for a procedure block, since we didn't enter one. The IdnDef that is for a ProcDecl needs to be in the outer scope, but not in the scope of its own body. All arguments and local declarations go in the nested scope.
- Definition Classes
- NameAnalyser
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equal: Doc
- Definition Classes
- PrettyPrinterBase
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
err(msg: String): Parser[Nothing]
- Definition Classes
- ParserUtilities → Parsers
-
val
errors: (SourceTree) ⇒ Messages
The semantic errors for a tree.
The semantic errors for a tree.
- Definition Classes
- Analyser
-
def
errorsDef(n: SourceTree): Messages
The error checking for this level.
The error checking for this level.
- Definition Classes
- TypeAnalyser → TypeAnalyser → NameAnalyser → TypeAnalyser → TypeAnalyser → NameAnalyser → Analyser
-
def
exclamation: Doc
- Definition Classes
- PrettyPrinterBase
-
final
def
execute(testName: String, configMap: ConfigMap, color: Boolean, durations: Boolean, shortstacks: Boolean, fullstacks: Boolean, stats: Boolean): Unit
- Definition Classes
- Suite
-
lazy val
expconst: (Expression) ⇒ Boolean
Is an expression expected to be constant or not? Either the expression is the root of an expected constant expression or its parent expression is expected to be constant.
Is an expression expected to be constant or not? Either the expression is the root of an expected constant expression or its parent expression is expected to be constant.
- Definition Classes
- NameAnalyser
-
def
expectedTestCount(filter: Filter): Int
- Definition Classes
- Suite
-
lazy val
expression: Parser[Expression]
- Definition Classes
- SyntaxAnalyser
-
lazy val
exptype: (Expression) ⇒ Type
The type expected of an expression as defined by its context.
The type expected of an expression as defined by its context.
- Definition Classes
- TypeAnalyser
-
def
exptypeDef: (Expression) ⇒ Type
Use of arrays and records is dealt with separately, not via the expected type.
Use of arrays and records is dealt with separately, not via the expected type.
- Definition Classes
- TypeAnalyser → TypeAnalyser → TypeAnalyser → TypeAnalyser → TypeAnalyser
-
lazy val
factor: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
def
fail(cause: Throwable)(implicit pos: Position): Nothing
- Definition Classes
- Assertions
-
def
fail(message: String, cause: Throwable)(implicit pos: Position): Nothing
- Definition Classes
- Assertions
-
def
fail(message: String)(implicit pos: Position): Nothing
- Definition Classes
- Assertions
-
def
fail()(implicit pos: Position): Nothing
- Definition Classes
- Assertions
-
def
failExpectedTest[T](expected: T, found: T, description: String = ""): Unit
Fail a test with a message about finding something and expecting something else.
Fail a test with a message about finding something and expecting something else.
- Definition Classes
- Tests
-
def
failure(msg: String): Parser[Nothing]
- Definition Classes
- ParserUtilities → Parsers
-
lazy val
falseConstant: IntegerValue
Built-in false constant.
Built-in false constant.
- Definition Classes
- SymbolTable
-
def
fieldListsToFields(fls: Seq[FieldList]): Seq[Field]
- Definition Classes
- TypeAnalyser
-
lazy val
fieldlist: Parser[Option[FieldList]]
- Definition Classes
- SyntaxAnalyser
-
lazy val
fieldlists: Parser[List[FieldList]]
- Definition Classes
- SyntaxAnalyser
-
def
filetests(name: String, path: String, srcext: String, resext: String, optinext: Option[String] = None, indefault: String = "", argslist: Seq[Seq[String]] = Seq (Seq ())): Unit
Make tests that process the files in path.
Make tests that process the files in path.
nameis an identifying name for this set of tests. All files whose names end insrcextare processed. Processing is done by the functioncompilewhich must return eitherSome (s)wheresis the output orNoneif processing failed. Ifsrcextis.xandresextis.y, then the expected result forfoo.xis found in filefoo.y. IfoptinextisSome (z), thenfoo.zis used for standard input, if it exists, otherwise the stringindefaultis used. A test fails if either the processing fails or it succeeds with the wrong result.argslistis used to specify the sets of command-line arguments that you want to use. Each test is run with each set of arguments. The default is an empty argument list.- Definition Classes
- TestCompilerWithConfig
-
def
fillcat(ds: Seq[Doc]): Doc
- Definition Classes
- PrettyPrinterBase
-
def
fillsep(ds: Seq[Doc], sep: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
fillsep(ds: Seq[Doc]): Doc
- Definition Classes
- PrettyPrinterBase
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
finishReport(): Unit
- Definition Classes
- Values
-
lazy val
fldidn: Parser[FieldIdn]
- Definition Classes
- SyntaxAnalyser
-
def
folddoc(ds: Seq[Doc], f: (Doc, Doc) ⇒ Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
forStatement: Parser[ForStatement]
- Definition Classes
- SyntaxAnalyser
-
def
forToDoc(s: ForStatement): Doc
- Definition Classes
- SourcePrettyPrinter
-
lazy val
forVar: Parser[IdnExp]
- Definition Classes
- SyntaxAnalyser
-
def
forwslash: Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
fpsection: Parser[FPSection]
- Definition Classes
- SyntaxAnalyser
-
implicit
val
generatorDrivenConfig: PropertyCheckConfiguration
- Definition Classes
- Configuration
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
group(d: Doc): Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
guard[T](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- Parsers
-
def
handleWhiteSpace(in: Input): Int
- Definition Classes
- WhitespacePositionedParserUtilities → ParserUtilities
-
def
handleWhiteSpace(source: CharSequence, offset: Int): Int
- Attributes
- protected
- Definition Classes
- RegexParsers
-
def
hang(d: Doc, i: Indent): Doc
- Definition Classes
- PrettyPrinterBase
-
def
hasField(t: Type, f: String): Boolean
Is a given type a record type containing a field called f?
Is a given type a record type containing a field called f?
- Definition Classes
- SymbolTable
-
def
hash: Doc
- Definition Classes
- PrettyPrinterBase
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
hcat(ds: Seq[Doc]): Doc
- Definition Classes
- PrettyPrinterBase
-
def
hsep(ds: Seq[Doc], sep: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
hsep(ds: Seq[Doc]): Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
ident: Parser[String]
- Definition Classes
- SyntaxAnalyser
-
def
idlistToDoc(ids: Seq[IdnDef]): Doc
- Definition Classes
- SourcePrettyPrinter
-
lazy val
idndef: Parser[IdnDef]
- Definition Classes
- SyntaxAnalyser
-
lazy val
idndeflist: Parser[List[IdnDef]]
- Definition Classes
- SyntaxAnalyser
-
lazy val
idnlist: Parser[List[String]]
- Definition Classes
- SyntaxAnalyser
-
lazy val
idntype: (IdnUse) ⇒ Type
The type of the entity denoted by an identifier use.
The type of the entity denoted by an identifier use.
- Definition Classes
- TypeAnalyser
-
def
idntypeDef: (IdnUse) ⇒ Type
The type of a parameter is the type of its underlying variable.
The type of a parameter is the type of its underlying variable.
- Definition Classes
- TypeAnalyser → TypeAnalyser
-
lazy val
idnuse: Parser[IdnUse]
- Definition Classes
- SyntaxAnalyser
-
lazy val
ifStatement: Parser[IfStatement]
- Definition Classes
- SyntaxAnalyser
-
def
ifToDoc(s: IfStatement): Doc
- Definition Classes
- SourcePrettyPrinter
-
def
ignore(testName: String, testTags: Tag*)(testFun: ⇒ Any)(implicit pos: Position): Unit
- Attributes
- protected
- Definition Classes
- FunSuiteLike
-
def
includeTimings: Boolean
- Definition Classes
- Profiler
-
def
indent(d: Doc, i: Indent): Doc
- Definition Classes
- PrettyPrinterBase
-
def
info: Informer
- Attributes
- protected
- Definition Classes
- FunSuiteLike → Informing
-
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
-
lazy val
integerType: BuiltinType
Built-in integer type.
Built-in integer type.
- Definition Classes
- SymbolTable
-
def
intercept[T <: AnyRef](f: ⇒ Any)(implicit classTag: ClassTag[T], pos: Position): T
- Definition Classes
- Assertions
-
lazy val
intexp: Parser[IntExp]
- Definition Classes
- SyntaxAnalyser
-
val
invokeBeforeAllAndAfterAllEvenIfNoTestsAreExpected: Boolean
- Definition Classes
- BeforeAndAfterAll
-
def
isArray(e: Entity): Boolean
Return true if the entity is erroneous or is an array.
Return true if the entity is erroneous or is an array.
- Definition Classes
- SymbolTable
-
def
isBoolean(e: Type): Boolean
Return true if the given type is Boolean or an unknown type.
Return true if the given type is Boolean or an unknown type.
- Definition Classes
- SymbolTable
-
def
isCompatible(tipe: Type, exptype: Type): Boolean
Array and record types are only compatible if they have the same name.
Array and record types are only compatible if they have the same name.
- Definition Classes
- TypeAnalyser → TypeAnalyser
-
def
isConstant(e: Entity): Boolean
Return true if the entity is erroneous or is a constant.
Return true if the entity is erroneous or is a constant.
- Definition Classes
- SymbolTable
-
def
isDefinedInEnv(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInInner(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInOuter(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInScope(scope: Scope, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInScope(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isError(e: Entity): Boolean
Return true if the entity is an error, false otherwise.
Return true if the entity is an error, false otherwise.
- Definition Classes
- SymbolTable
-
def
isEventType(record: Record, eventtype: String): Boolean
- Definition Classes
- Values
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isInteger(e: Type): Boolean
Return true if the given type is integer or an unknown type.
Return true if the given type is integer or an unknown type.
- Definition Classes
- SymbolTable
-
def
isLvalue(l: Expression): Boolean
Return true if the expression can legally appear on the left-hand side of an assignment statement.
Return true if the expression can legally appear on the left-hand side of an assignment statement. At this level only allow identifiers of variables or things we don't know anything about. The true default is used so that this computation can be used in redefinitions.
- Definition Classes
- NameAnalyser → NameAnalyser
-
def
isModule(e: Entity): Boolean
Return true if the entity is erroneous or is a module.
Return true if the entity is erroneous or is a module.
- Definition Classes
- SymbolTable
-
def
isNotArray(e: Entity): Boolean
Return true if the entity is erroneous or is not an array.
Return true if the entity is erroneous or is not an array.
- Definition Classes
- SymbolTable
-
def
isNotRecord(e: Entity): Boolean
Return true if the entity is erroneous or is not a record.
Return true if the entity is erroneous or is not a record.
- Definition Classes
- SymbolTable
-
def
isRecord(e: Entity): Boolean
Return true if the entity is erroneous or is a record.
Return true if the entity is erroneous or is a record.
- Definition Classes
- SymbolTable
-
def
isRvalue(r: IdnExp): Boolean
Return true if the identifier is an r-value and hence its value can be used (ie.
Return true if the identifier is an r-value and hence its value can be used (ie. it's erroneous or is a constant, value or variable).
- Definition Classes
- NameAnalyser
-
def
isType(e: Entity): Boolean
Return true if the entity is erroneous or is a type.
Return true if the entity is erroneous or is a type.
- Definition Classes
- SymbolTable
-
def
isVariable(e: Entity): Boolean
Parameters are variables too.
Parameters are variables too.
- Definition Classes
- SymbolTable → SymbolTable
-
lazy val
isconst: (Expression) ⇒ Boolean
Is an expression constant or not? Unknown entities are constant.
Is an expression constant or not? Unknown entities are constant. Strictly speaking we only need to support integer expressions here, but we treat Boolean ones as constant in the same way so that we avoid spurious errors. Type analysis will reject Boolean constant expressions anyway.
- Definition Classes
- NameAnalyser
-
lazy val
kase: Parser[Case]
- Definition Classes
- SyntaxAnalyser
-
lazy val
keyword: Parser[String]
- Definition Classes
- SyntaxAnalyser
-
def
keywordStrings: Seq[String]
- Definition Classes
- SyntaxAnalyser → SyntaxAnalyser → SyntaxAnalyser → SyntaxAnalyser → SyntaxAnalyser → SyntaxAnalyser
-
def
keywords(ext: Regex, kws: Seq[String]): Parser[String]
- Definition Classes
- ParserUtilities
-
def
langle: Doc
- Definition Classes
- PrettyPrinterBase
-
def
langlevel: Int
- Definition Classes
- A4Phases
-
def
lbrace: Doc
- Definition Classes
- PrettyPrinterBase
-
def
lbracket: Doc
- Definition Classes
- PrettyPrinterBase
-
def
leave(env: Environment): Environment
- Definition Classes
- Environments
-
lazy val
level: (SourceTree) ⇒ Int
Level of a node considering the module level to be zero and incrementing each time we enter a nested procedure declaration.
Level of a node considering the module level to be zero and incrementing each time we enter a nested procedure declaration.
- Definition Classes
- NameAnalyser
-
lazy val
lhs: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
def
lhsDef: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser → SyntaxAnalyser
-
def
line: Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
line(repl: Layout): Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
linebreak: Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
list[T](l: Seq[T], prefix: String, elemToDoc: (T) ⇒ Doc, sep: Doc, sepfn: (Seq[Doc], Doc) ⇒ Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
implicit
def
literal(s: String): Parser[String]
- Definition Classes
- WhitespaceParser → RegexParsers
-
def
log[T](p: ⇒ Parser[T])(name: String): Parser[T]
- Definition Classes
- Parsers
-
def
lookup(env: Environment, i: String, e: Entity, scope: Boolean): Entity
- Definition Classes
- Environments
-
def
lowPriorityConversionCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], cnv: (A) ⇒ B): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
lowPriorityTypeCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], ev: <:<[A, B]): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
lparen: Doc
- Definition Classes
- PrettyPrinterBase
-
def
lsep(ds: Seq[Doc], sep: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
lsep2(ds: Seq[Doc], sep: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
lterm(ds: Seq[Doc], term: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
main(args: Array[String]): Unit
- Definition Classes
- CompilerBase
-
def
makeast(reader: Reader, filename: String, config: Oberon0Config): Either[ModuleDecl, String]
- Definition Classes
- CompilerWithConfig → CompilerBase
-
def
mangle(s: String): String
Mangle an Oberon name so it is safe to be used at the C level.
Mangle an Oberon name so it is safe to be used at the C level. We assume that there are no C names with "ob_" prefix.
- Definition Classes
- CCodeGenerator
-
def
mark[T](p: Parser[String]): Parser[Marker]
- Definition Classes
- PositionedParserUtilities
-
def
markup: Documenter
- Attributes
- protected
- Definition Classes
- FunSuiteLike → Documenting
-
def
maxDiscardedFactor(value: PosZDouble): MaxDiscardedFactor
- Definition Classes
- Configuration
-
val
maxlanglevel: Int
The maximum language level we support.
The maximum language level we support.
- Definition Classes
- TestDriver
-
def
memo[T](p: Parser[T]): PackratParser[T]
- Definition Classes
- PackratParsers
-
def
minSize(value: PosZInt): MinSize
- Definition Classes
- Configuration
-
def
minSuccessful(value: PosInt): MinSuccessful
- Definition Classes
- Configuration
-
def
minus: Doc
- Definition Classes
- PrettyPrinterBase
-
def
mkList[T]: (~[T, List[T]]) ⇒ List[T]
- Definition Classes
- Parsers
-
def
mktests(proglang: String): Unit
Make the tests for a given language subset.
Make the tests for a given language subset. proglang denotes the language subset whose tests are used.
- Definition Classes
- TestDriver
-
lazy val
moduledecl: Parser[ModuleDecl]
- Definition Classes
- SyntaxAnalyser
-
val
nameCounter: Counter
- Definition Classes
- Environments
-
lazy val
namedtypedef: Parser[NamedType]
- Definition Classes
- SyntaxAnalyser
-
def
nanoToMs(nano: Long): Long
- Definition Classes
- Profiler
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
nest(d: Doc, j: Indent): Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
nestedSuites: IndexedSeq[Suite]
- Definition Classes
- Suite
-
def
nesting(f: (Int) ⇒ Doc): Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
noparens(inner: PrettyOperatorExpression, outer: PrettyOperatorExpression, side: Side): Boolean
- Definition Classes
- ParenPrettyPrinter
-
def
not[T](p: ⇒ Parser[T]): Parser[Unit]
- Definition Classes
- Parsers
-
def
note: Notifier
- Attributes
- protected
- Definition Classes
- FunSuiteLike → Notifying
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
lazy val
numparams: (IdnUse) ⇒ Option[Int]
Calculate the number of parameters to a procedure.
Calculate the number of parameters to a procedure. Return None if the identifier use does not denote a procedure.
- Definition Classes
- TypeAnalyser
-
def
opt[T](p: ⇒ Parser[T]): Parser[Option[T]]
- Definition Classes
- Parsers
-
lazy val
optActualParameters: Parser[List[Expression]]
- Definition Classes
- SyntaxAnalyser
-
def
optSectionToDoc(section: String, optds: Option[Seq[Declaration]]): Doc
- Definition Classes
- SourcePrettyPrinter
-
lazy val
optelse: Parser[Option[Block]]
- Definition Classes
- SyntaxAnalyser
-
lazy val
optformalParameters: PackratParser[Seq[FPSection]]
- Definition Classes
- SyntaxAnalyser
-
lazy val
optvar: Parser[Product with Serializable with Mode]
- Definition Classes
- SyntaxAnalyser
-
def
output(str: String): Unit
- Definition Classes
- Values
-
def
outputln(str: String): Unit
- Definition Classes
- Values
-
def
padto(p: Int, d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
padtobreak(p: Int, d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
parameters: (Identifier) ⇒ Option[Seq[ParamInfo]]
Calculate the parameter information list for a procedure.
Calculate the parameter information list for a procedure. If it's a built-in we have the information already, otherwise we need to work it out from the declaration. Returns None if the entity is not a procedure.
- Definition Classes
- TypeAnalyser
-
def
parammode(u: IdnUse, i: Int): Mode
Return the ith parameter mode of the procedure denoted by u (counting from one).
Return the ith parameter mode of the procedure denoted by u (counting from one). If u is not a procedure or has less than i parameters, return a value mode, since that mode places no constraints on its actual parameter.
- Definition Classes
- TypeAnalyser
-
def
paramsToDoc(ds: Seq[Doc], sep: Doc): Doc
- Definition Classes
- SourcePrettyPrinter
-
def
paramtype(u: IdnUse, i: Int): Type
Return the ith parameter type of the procedure denoted by u (counting from one).
Return the ith parameter type of the procedure denoted by u (counting from one). If u is not a procedure or has less than i parameters, return an unknown type.
- Definition Classes
- TypeAnalyser
-
def
parens(d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
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
-
def
parseWhitespace(in: Input): ParseResult[Any]
- Attributes
- protected
- Definition Classes
- WhitespaceParser
-
lazy val
parser: PackratParser[ModuleDecl]
- Definition Classes
- SyntaxAnalyser
-
implicit
def
parser2packrat[T](p: ⇒ Parser[T]): PackratParser[T]
- Definition Classes
- PackratParsers
-
val
parsingWhitespace: Boolean
- Attributes
- protected
- Definition Classes
- WhitespaceParser
-
def
pending: Assertion with PendingStatement
- Definition Classes
- Assertions
-
def
pendingUntilFixed(f: ⇒ Unit)(implicit pos: Position): Assertion with PendingStatement
- Definition Classes
- Assertions
-
def
percent: Doc
- Definition Classes
- PrettyPrinterBase
-
def
percent(v: Long, total: Long): String
- Definition Classes
- Profiler
-
def
phrase[T](p: Parser[T]): PackratParser[T]
- Definition Classes
- PackratParsers → Parsers
-
def
plist(l: List[PrettyPrintable], prefix: String, elemToDoc: (PrettyPrintable) ⇒ Doc, sep: Doc, sepfn: (Seq[Doc], Doc) ⇒ Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
plus: Doc
- Definition Classes
- PrettyPrinterBase
-
def
positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]
- Definition Classes
- WhitespaceParser → RegexParsers → Parsers
-
def
pretty(d: Doc, w: Width): Layout
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
pretty(p: PrettyPrintable): Layout
- Definition Classes
- PrettyPrinterBase
-
def
pretty_any(a: Any): Layout
- Definition Classes
- PrettyPrinterBase
-
def
prettyprint(ast: ModuleDecl): String
- Definition Classes
- 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
-
lazy val
procedureCall: Parser[Call]
- Definition Classes
- SyntaxAnalyser
-
lazy val
procedureDeclaration: Parser[ProcDecl]
- Definition Classes
- SyntaxAnalyser
-
def
process(filename: String, ast: ModuleDecl, config: Oberon0Config): Unit
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
- FrontEndDriver → CompilerWithConfig → CompilerBase
-
def
processast(ast: ModuleDecl, config: Oberon0Config): ModuleDecl
Process the AST by transforming it.
Process the AST by transforming it. Then apply higher-level transformations.
- Definition Classes
- TransformingDriver → FrontEndDriver
-
def
processfile(filename: String, config: Oberon0Config): 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
- FrontEndDriver → CompilerBase
-
def
processfiles(filenames: Seq[String], config: Oberon0Config): 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
-
def
pseq(l: Seq[PrettyPrintable], prefix: String, elemToDoc: (PrettyPrintable) ⇒ Doc, sep: Doc, sepfn: (Seq[Doc], Doc) ⇒ Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
question: Doc
- Definition Classes
- PrettyPrinterBase
-
def
rangle: Doc
- Definition Classes
- PrettyPrinterBase
-
def
rbrace: Doc
- Definition Classes
- PrettyPrinterBase
-
def
rbracket: Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
readProc: BuiltinProc
The built-in Read procedure.
The built-in Read procedure.
- Definition Classes
- SymbolTable
-
implicit
def
regex(r: Regex): Parser[String]
- Definition Classes
- WhitespaceParser → RegexParsers
-
final
def
registerIgnoredTest(testText: String, testTags: Tag*)(testFun: ⇒ Any)(implicit pos: Position): Unit
- Definition Classes
- FunSuiteLike → TestRegistration
-
final
def
registerTest(testText: String, testTags: Tag*)(testFun: ⇒ Any)(implicit pos: Position): Unit
- Definition Classes
- FunSuiteLike → TestRegistration
-
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
rerunner: Option[String]
- Definition Classes
- Suite
-
def
resetEnvironments(): Unit
- Definition Classes
- Environments
-
def
result[T](v: ⇒ T): Parser[T]
- Definition Classes
- ParserUtilities
-
lazy val
rootconstexp: (Expression) ⇒ Boolean
Is this expression the root of what is expected to be a constant expression? At this level only expressions on the RHS of a constant declaration have this property.
Is this expression the root of what is expected to be a constant expression? At this level only expressions on the RHS of a constant declaration have this property.
- Definition Classes
- NameAnalyser
-
def
rootconstexpDef: (Expression) ⇒ Boolean
- Definition Classes
- TypeAnalyser → NameAnalyser → NameAnalyser
-
def
rootenv(bindings: (String, Entity)*): Environment
- Definition Classes
- Environments
-
def
rparen: Doc
- Definition Classes
- PrettyPrinterBase
-
def
run(testName: Option[String], args: Args): Status
- Definition Classes
- BeforeAndAfterAll → SuiteMixin
-
def
runNestedSuites(args: Args): Status
- Attributes
- protected
- Definition Classes
- Suite
-
def
runTest(testName: String, args: Args): Status
- Attributes
- protected
- Definition Classes
- BeforeAndAfter → SuiteMixin
-
def
runTests(testName: Option[String], args: Args): Status
- Attributes
- protected
- Definition Classes
- FunSuiteLike → Suite
-
def
sanitise(s: String): String
Sanitise the output from a test.
Sanitise the output from a test. Remove any output that doesn't make sense to this program. I.e., if we are running a program that performs tasks 1-m, then any lines marked with [p], where p > m should be removed before comparison. Also, there can be three numbers, a'la [p,q,r] where p is as before and q (r) are lower (upper) inclusive bounds on the language level to which this output should apply. If p is omitted, the output applies to all task levels. If p is given, but q and r are omitted, the output also applies to all language levels.
- Definition Classes
- TestDriver → TestCompilerWithConfig
-
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
-
def
semi: Doc
- Definition Classes
- PrettyPrinterBase
-
def
semisep(l: Seq[SourceTree], sep: Doc = semi): Doc
Pretty-print a nested list of nodes separated by sep (default: semi colon) and line breaks.
Pretty-print a nested list of nodes separated by sep (default: semi colon) and line breaks.
- Definition Classes
- SourcePrettyPrinter
-
def
sep(ds: Seq[Doc]): Doc
- Definition Classes
- PrettyPrinterBase
-
def
seq[T](l: Seq[T], prefix: String, elemToDoc: (T) ⇒ Doc, sep: Doc, sepfn: (Seq[Doc], Doc) ⇒ Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
simpexp: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
def
sizeRange(value: PosZInt): SizeRange
- Definition Classes
- Configuration
-
def
skipWhitespace: Boolean
- Definition Classes
- WhitespaceParser → RegexParsers
-
def
softbreak: Doc
- Definition Classes
- PrettyPrinterBase
-
def
softline: Doc
- Definition Classes
- PrettyPrinterBase
-
def
space: Doc
- Definition Classes
- PrettyPrinterBase
-
def
spaces(n: Int): Doc
- Definition Classes
- PrettyPrinterBase
-
def
squote: Doc
- Definition Classes
- PrettyPrinterBase
-
def
squotes(d: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
ssep(ds: Seq[Doc], sep: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
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
statementDef: PackratParser[Statement]
- Definition Classes
- SyntaxAnalyser → SyntaxAnalyser → SyntaxAnalyser → SyntaxAnalyser → SyntaxAnalyser
-
lazy val
statementSequence: Parser[Block]
- Definition Classes
- SyntaxAnalyser
-
lazy val
statements: Parser[Block]
- Definition Classes
- SyntaxAnalyser
-
lazy val
step: Parser[Option[Expression]]
- Definition Classes
- SyntaxAnalyser
-
def
sterm(ds: Seq[Doc], term: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
string(s: String): Doc
- Definition Classes
- PrettyPrinterBase
-
def
stringToInt(s: String): Either[Int, String]
- Definition Classes
- ParserUtilities
-
final
val
styleName: String
- Definition Classes
- FunSuiteLike → Suite
-
def
subjectsToStep(src: Any, dst: Any): Step
- Definition Classes
- Profiler
-
final
val
succeed: Assertion
- Definition Classes
- Assertions
-
def
success[T](v: T): Parser[T]
- Definition Classes
- Parsers
-
def
suiteId: String
- Definition Classes
- Suite
-
def
suiteName: String
ScalaTest by default only shows the unqualified class name when it displays the name of the suite.
ScalaTest by default only shows the unqualified class name when it displays the name of the suite. If a suite class name is used in more than one package we can't tell them apart. Here we override the name that is printed so that we get a project relative source file name as well.
This definition assumes that the test suite resides in the library project, that the name of the suite class is the same as the basename of the file and that the file is located in the folder given by the package name.
- Definition Classes
- Tests → SuiteMixin → Suite
-
def
summariseAlongDims(dimensionNames: Seq[Dimension], records: List[Record], nrecords: Int, profiledTime: Long): Unit
- Definition Classes
- Profiler
-
def
surround(d: Doc, b: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
tags: Map[String, Set[String]]
- Definition Classes
- FunSuiteLike → Suite
-
def
tasklevel: Int
- Definition Classes
- A4Phases
-
lazy val
term: PackratParser[Expression]
- Definition Classes
- SyntaxAnalyser
-
def
test(testName: String, testTags: Tag*)(testFun: ⇒ Any)(implicit pos: Position): Unit
- Attributes
- protected
- Definition Classes
- FunSuiteLike
-
def
testDataFor(testName: String, theConfigMap: ConfigMap): TestData
- Definition Classes
- FunSuiteLike → Suite
-
def
testNames: Set[String]
- Definition Classes
- FunSuiteLike → Suite
-
def
testdriver(config: Oberon0Config): Unit
Run the compiler in test mode using the given configuration.
Run the compiler in test mode using the given configuration.
- Definition Classes
- TestCompilerWithConfig
-
def
testsFor(unit: Unit): Unit
- Attributes
- protected
- Definition Classes
- FunSuiteLike
-
implicit
def
text(t: String): Doc
- Definition Classes
- PrettyPrinter → PrettyPrinterBase
-
def
textOf[T](t: T, includeWhiteSpace: Boolean): Option[String]
- Definition Classes
- PositionedParserUtilities
-
def
tilde: Doc
- Definition Classes
- PrettyPrinterBase
-
def
time[T](computation: ⇒ T, warmup: Int, n: Int, discard: Int): Unit
- Definition Classes
- Profiler
-
lazy val
tipe: (Expression) ⇒ Type
The type of an expression.
The type of an expression.
- Definition Classes
- TypeAnalyser
-
def
tipeDef: (Expression) ⇒ Type
- Definition Classes
- TypeAnalyser → TypeAnalyser
-
def
toDoc(n: CTree): Doc
- Definition Classes
- CPrettyPrinter → CPrettyPrinter → CPrettyPrinter → CPrettyPrinter
-
def
toDoc(n: SourceTree): Doc
- Definition Classes
- SourcePrettyPrinter → SourcePrettyPrinter → SourcePrettyPrinter → SourcePrettyPrinter → SourcePrettyPrinter → SourcePrettyPrinter
-
def
toParenDoc(e: PrettyExpression): Doc
CNegExp (CNegExp) special case is to avoid output of --e which is interpreted as a pre-decrement operator.
CNegExp (CNegExp) special case is to avoid output of --e which is interpreted as a pre-decrement operator.
- Definition Classes
- CPrettyPrinter → CPrettyPrinter → CPrettyPrinter → CPrettyPrinter → ParenPrettyPrinter
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
trace(predicate: (Event) ⇒ Boolean): Unit
- Definition Classes
- Profiler
-
def
transform(m: ModuleDecl): ModuleDecl
Desugar FOR and CASE statements into simpler constructs.
Desugar FOR and CASE statements into simpler constructs. Then call the next level of transformation.
- Definition Classes
- Desugarer → Desugarer → Transformer
-
def
translate(e: Expression): CExpression
Uses of array parameter names don't need to be dereferenced.
Uses of array parameter names don't need to be dereferenced.
- Definition Classes
- CCodeGenerator → CCodeGenerator → CCodeGenerator
-
def
translate(t: Type): CType
Add translation for array and record types.
Add translation for array and record types.
- Definition Classes
- CCodeGenerator → CCodeGenerator
-
def
translate(s: Statement): CStatement
Add translation of call statements.
Add translation of call statements.
- Definition Classes
- CCodeGenerator → CCodeGenerator → CCodeGenerator → CCodeGenerator → Translator
-
def
translate(d: Declaration): Seq[CDeclaration]
Add translation of procedure declarations.
Add translation of procedure declarations.
- Definition Classes
- CCodeGenerator → CCodeGenerator → CCodeGenerator → Translator
-
def
translate(m: ModuleDecl): CProgram
Add STDIO header since output is now possible.
Add STDIO header since output is now possible.
- Definition Classes
- CCodeGenerator → CCodeGenerator → Translator
-
def
translate(eis: Seq[(Expression, Block)], oe: Option[Block]): CStatement
Translation of expression, block pairs from an IF statement into cascading C IFs.
Translation of expression, block pairs from an IF statement into cascading C IFs.
- Definition Classes
- CCodeGenerator
-
def
translateActualParam(p: Expression, mode: Mode): CExpression
Array parameters get passed by reference, so we don't need to insert addressing operations for VAR.
Array parameters get passed by reference, so we don't need to insert addressing operations for VAR.
- Definition Classes
- CCodeGenerator → CCodeGenerator
-
def
translateActualParams(u: IdnUse, ps: Seq[Expression]): Seq[CExpression]
Translate the actual parameters of a procedure call.
Translate the actual parameters of a procedure call. Assumes that the right number of parameters are present.
- Definition Classes
- CCodeGenerator
-
def
translateFormalParam(m: Mode, i: String, t: Type): CDeclaration
Array formal parameters are not made into address types.
Array formal parameters are not made into address types.
- Definition Classes
- CCodeGenerator → CCodeGenerator
-
def
translateFormalParams(p: IdnDef): Seq[CDeclaration]
Translate the formal parameters of a particular defined procedure.
Translate the formal parameters of a particular defined procedure.
- Definition Classes
- CCodeGenerator
-
lazy val
trueConstant: IntegerValue
Built-in true constant.
Built-in true constant.
- Definition Classes
- SymbolTable
-
def
typeCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], ev: <:<[B, A]): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
lazy val
typebasetype: (Type) ⇒ Type
The actual type that a user type denotes.
The actual type that a user type denotes.
- Definition Classes
- TypeAnalyser
-
lazy val
typedecl: Parser[TypeDecl]
- Definition Classes
- SyntaxAnalyser
-
lazy val
typedeclsection: Parser[List[TypeDecl]]
- Definition Classes
- SyntaxAnalyser
-
lazy val
typedef: PackratParser[TypeDef]
- Definition Classes
- SyntaxAnalyser
-
def
typedefDef: PackratParser[TypeDef]
- Definition Classes
- SyntaxAnalyser → SyntaxAnalyser
-
implicit
def
unconstrainedEquality[A, B](implicit equalityOfA: Equality[A]): CanEqual[A, B]
- Definition Classes
- TripleEquals → TripleEqualsSupport
-
def
underscore: Doc
- Definition Classes
- PrettyPrinterBase
-
def
uniquifyNames(m: ModuleDecl): ModuleDecl
Rename user-defined names to avoid clashes with outer declarations of the same name.
Rename user-defined names to avoid clashes with outer declarations of the same name. This transformation is not idempotent.
- Definition Classes
- Desugarer
-
lazy val
unknownType: BuiltinType
A type that is unknown, eg because the typed thing is erroneously defined.
A type that is unknown, eg because the typed thing is erroneously defined.
- Definition Classes
- SymbolTable
-
def
value(v: Any): Doc
- Definition Classes
- PrettyPrinterBase
-
lazy val
value: (Expression) ⇒ Int
What is the value of an integer expression? Only needs to be valid if the expression is an integer constant (see isconst above) and is defined (eg, no divide by zero.) Returns zero in all other cases.
What is the value of an integer expression? Only needs to be valid if the expression is an integer constant (see isconst above) and is defined (eg, no divide by zero.) Returns zero in all other cases. FIXME: Ignores issues of overflow.
- Definition Classes
- NameAnalyser
-
def
valueToString(a: Value): String
- Definition Classes
- Values
-
lazy val
vardecl: Parser[VarDecl]
- Definition Classes
- SyntaxAnalyser
-
lazy val
vardeclsection: Parser[List[VarDecl]]
- Definition Classes
- SyntaxAnalyser
-
def
vcat(ds: Seq[Doc]): Doc
- Definition Classes
- PrettyPrinterBase
-
def
verticalbar: Doc
- Definition Classes
- PrettyPrinterBase
-
def
vsep(ds: Seq[Doc], sep: Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
vsep(ds: Seq[Doc]): Doc
- Definition Classes
- PrettyPrinterBase
-
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( ... )
-
lazy val
whileStatement: Parser[WhileStatement]
- Definition Classes
- SyntaxAnalyser
-
val
whiteSpace: Regex
- Attributes
- protected
- Definition Classes
- RegexParsers
-
lazy val
whitespaceParser: PackratParser[Any]
- Definition Classes
- SyntaxAnalyser → WhitespaceParser
-
def
width(d: Doc, f: (Int) ⇒ Doc): Doc
- Definition Classes
- PrettyPrinterBase
-
def
withClue[T](clue: Any)(fun: ⇒ T): T
- Definition Classes
- Assertions
-
def
withFixture(test: NoArgTest): Outcome
- Attributes
- protected
- Definition Classes
- TestSuite
-
def
workers(value: PosInt): Workers
- Definition Classes
- Configuration
-
def
wrap[T, U](p: ⇒ Parser[T], f: (T) ⇒ Either[U, String]): Parser[U]
- Definition Classes
- ParserUtilities
-
lazy val
writeProc: BuiltinProc
The built-in Write procedure.
The built-in Write procedure.
- Definition Classes
- SymbolTable
-
lazy val
writelnProc: BuiltinProc
The built-in WriteLn procedure.
The built-in WriteLn procedure.
- Definition Classes
- SymbolTable
-
object
FocusTest
extends Tag
A ScalaTest tag that enables us to focus attention on particular tests rather than running all of them each time.
A ScalaTest tag that enables us to focus attention on particular tests rather than running all of them each time. Add this as an argument to the particular test methods that you want to focus on. Then you can use an sbt command such as "test-only *RewriterTests -- -n FocusTest" to run just the tests in that suite with this tag.
- Definition Classes
- Tests
Deprecated Value Members
-
final
def
execute: Unit
- Definition Classes
- Suite
- Annotations
- @deprecated
- Deprecated
The parameterless execute method has been deprecated and will be removed in a future version of ScalaTest. Please invoke execute with empty parens instead: execute().
-
def
maxDiscarded(value: Int): MaxDiscarded
- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
use maxDiscardedFactor instead
-
def
maxSize(value: Int): MaxSize
- Definition Classes
- Configuration
- Annotations
- @deprecated
- Deprecated
use SizeRange instead
-
def
product(p: Any): Doc
- Definition Classes
- PrettyPrinterBase
- Annotations
- @deprecated
- Deprecated
(Since version 1.2.1) Use PrettyPrinter.any instead.
-
def
trap[T](f: ⇒ T): Throwable
- Definition Classes
- Assertions
- Annotations
- @deprecated
- Deprecated
The trap method is no longer needed for demos in the REPL, which now abreviates stack traces, and will be removed in a future version of ScalaTest