trait Parsers extends Scanners with MarkupParsers with ParsersCommon
Performs the following context-free rewritings:
-
Places all pattern variables in Bind nodes. In a pattern, for
identifiers x
:
x => x @ _ x:T => x @ (_ : T)
- Removes pattern definitions (PatDef's) as follows:
If pattern is a simple (typed) identifier:
val x = e ==> val x = e val x: T = e ==> val x: T = e
if there are no variables in pattern
val p = e ==> e match (case p => ())
if there is exactly one variable in pattern
val x_1 = e match (case p => (x_1))
if there is more than one variable in pattern
val p = e ==> private synthetic val t$ = e match (case p => (x_1, ..., x_N)) val x_1 = t$._1 ... val x_N = t$._N
- Removes function types as follows:
(argtpes) => restpe ==> scala.Function_n[argtpes, restpe]
- Wraps naked case definitions in a match as follows:
{ cases } ==> (x => x.match {cases}), except when already argument to match
- Self Type
- Parsers
- Source
- Parsers.scala
- Alphabetic
- By Inheritance
- Parsers
- ParsersCommon
- MarkupParsers
- Scanners
- ScannersCommon
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
-
class
MarkupParser
extends MarkupParserCommon
- Definition Classes
- MarkupParsers
- type Location = Int
-
type
Offset = Int
Offset into source character array
Offset into source character array
- Definition Classes
- ScannersCommon
- case class OpInfo (lhs: Global.Tree, operator: Global.TermName, targs: List[Global.Tree], offset: Parsers.Offset) extends Product with Serializable
- class OutlineParser extends SourceFileParser
- abstract class Parser extends ParserCommon
- class SourceFileParser extends Parser
-
type
Token = Int
- Definition Classes
- ScannersCommon
- class UnitParser extends SourceFileParser
-
abstract
class
ParserCommon
extends AnyRef
This is now an abstract class, only to work around the optimizer: methods in traits are never inlined.
This is now an abstract class, only to work around the optimizer: methods in traits are never inlined.
- Definition Classes
- ParsersCommon
-
class
MalformedInput
extends Exception
- Definition Classes
- Scanners
-
class
ParensAnalyzer
extends UnitScanner
- Definition Classes
- Scanners
-
abstract
class
Scanner
extends CharArrayReader with TokenData with ScannerData with ScannerCommon
- Definition Classes
- Scanners
-
trait
ScannerData
extends TokenData with CharArrayReaderData
An interface to most of mutable data in Scanner defined in TokenData and CharArrayReader (+ next, prev fields) with copyFrom functionality to backup/restore data (used by quasiquotes' lookingAhead).
An interface to most of mutable data in Scanner defined in TokenData and CharArrayReader (+ next, prev fields) with copyFrom functionality to backup/restore data (used by quasiquotes' lookingAhead).
- Definition Classes
- Scanners
-
class
SourceFileScanner
extends Scanner
A scanner for a given source file not necessarily attached to a compilation unit.
A scanner for a given source file not necessarily attached to a compilation unit. Useful for looking inside source files that aren not currently compiled to see what's there
- Definition Classes
- Scanners
-
trait
TokenData
extends CommonTokenData
- Definition Classes
- Scanners
-
class
UnitScanner
extends SourceFileScanner
A scanner over a given compilation unit
A scanner over a given compilation unit
- Definition Classes
- Scanners
-
trait
CommonTokenData
extends AnyRef
- Definition Classes
- ScannersCommon
-
trait
ScannerCommon
extends CommonTokenData
- Definition Classes
- ScannersCommon
Abstract Value Members
-
abstract
val
global: Global
- Definition Classes
- Parsers → ParsersCommon → Scanners → ScannersCommon
Concrete Value Members
-
object
ConfusedAboutBracesControl
extends Throwable with ControlThrowable with Product with Serializable
- Definition Classes
- MarkupParsers
-
object
MissingEndTagControl
extends Throwable with ControlThrowable with Product with Serializable
- Definition Classes
- MarkupParsers
-
object
TruncatedXMLControl
extends Throwable with ControlThrowable with Product with Serializable
- Definition Classes
- MarkupParsers
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Parsers, B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final val InBlock: Location
- final val InTemplate: Location
- final val Local: Location
- lazy val ScalaValueClassNames: collection.Seq[Global.TypeName]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
createKeywordArray(keywords: Seq[(Global.Name, Token)], defaultToken: Token): (Token, Array[Token])
- Definition Classes
- ScannersCommon
- def ensuring(cond: (Parsers) ⇒ Boolean, msg: ⇒ Any): Parsers
- def ensuring(cond: (Parsers) ⇒ Boolean): Parsers
- def ensuring(cond: Boolean, msg: ⇒ Any): Parsers
- def ensuring(cond: Boolean): Parsers
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
literalUnit: Global.Literal
- Definition Classes
- ParsersCommon
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newLiteral(const: Any): Global.Literal
- Definition Classes
- ParsersCommon
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
val
token2name: Map[Int, Global.Name]
- Definition Classes
- Scanners
-
def
token2string(token: Token): String
Returns the string representation of given token.
Returns the string representation of given token.
- Definition Classes
- Scanners
-
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( ... )
- def →[B](y: B): (Parsers, B)
The Scala compiler API.
The following resources are useful for Scala plugin/compiler development: