Packages

package parser

Content Hierarchy
Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package xml

Type Members

  1. case class BracePair(loff: Int, lindent: Int, roff: Int, rindent: Int, nested: List[BracePair]) extends Product with Serializable

    A descriptor for a matching pair of braces.

    A descriptor for a matching pair of braces.

    loff

    The offset of the opening brace (-1 means missing)

    lindent

    The indentation depth of the line of the opening brace (-1 means missing)

    roff

    The offset of the closing brace (-1 means missing)

    rindent

    The indentation depth of the line of the closing brace (-1 means missing)

    nested

    The brace pairs nested in this one

  2. case class BracePatch(off: Int, inserted: Boolean) extends Patch with Product with Serializable

    A patch that postulates that a brace needs to be inserted or deleted at a given position.

    A patch that postulates that a brace needs to be inserted or deleted at a given position.

    off

    The offset where the brace needs to be inserted or deleted

    inserted

    If true, brace needs to be inserted, otherwise brace needs to be deleted.

  3. abstract class Change extends AnyRef
  4. abstract class CommonTokens extends AnyRef

    Common code between Scala's Tokens and JavaTokens.

  5. case class Deletion(nchars: Int) extends Change with Product with Serializable
  6. case class Insertion(text: String) extends Change with Product with Serializable
  7. trait MarkupParsers extends AnyRef
  8. trait Parsers extends Scanners with MarkupParsers with ParsersCommon

    Performs the following context-free rewritings:

    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
    

  9. trait ParsersCommon extends ScannersCommon

    Historical note: JavaParsers started life as a direct copy of Parsers but at a time when that Parsers had been replaced by a different one.

    Historical note: JavaParsers started life as a direct copy of Parsers but at a time when that Parsers had been replaced by a different one. Later it was dropped and the original Parsers reinstated, leaving us with massive duplication between Parsers and JavaParsers.

    This trait and the similar one for Scanners/JavaScanners represents the beginnings of a campaign against this latest incursion by Cutty McPastington and his army of very similar soldiers.

  10. class Patch extends AnyRef
  11. trait Scanners extends ScannersCommon
  12. trait ScannersCommon extends AnyRef

    See Parsers.scala / ParsersCommon for some explanation of ScannersCommon.

  13. abstract class SymbolicXMLBuilder extends AnyRef

    This class builds instance of Tree that represent XML.

    This class builds instance of Tree that represent XML.

    Note from martin: This needs to have its position info reworked. I don't understand exactly what's done here. To make validation pass, I set many positions to be transparent. Not sure this is a good idea for navigating XML trees in the IDE but it's the best I can do right now. If someone who understands this part better wants to give it a shot, please do!

  14. abstract class SyntaxAnalyzer extends SubComponent with Parsers with MarkupParsers with Scanners with JavaParsers with JavaScanners

    The compiler sub-component that defines the parser phase, which converts source code into Trees.

  15. abstract class TreeBuilder extends AnyRef

    Methods for building trees, used in the parser.

    Methods for building trees, used in the parser. All the trees returned by this class must be untyped.

Value Members

  1. object Cbuf
  2. object Tokens extends CommonTokens

Ungrouped