Packages

class MarkupParser extends MarkupParserCommon

Source
MarkupParsers.scala
Linear Supertypes
MarkupParserCommon, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MarkupParser
  2. MarkupParserCommon
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MarkupParser(parser: SourceFileParser, preserveWS: Boolean)

Type Members

  1. type AttributesType = Map[String, Global.Tree]
    Definition Classes
    MarkupParser → MarkupParserCommon
  2. type ElementType = Global.Tree
    Definition Classes
    MarkupParser → MarkupParserCommon
  3. type InputType = CharArrayReader
  4. type NamespaceType = Any
    Definition Classes
    MarkupParser → MarkupParserCommon
  5. type PositionType = Position
    Definition Classes
    MarkupParser → MarkupParserCommon

Value Members

  1. def appendText(pos: Global.Position, ts: Buffer[Global.Tree], txt: String): Unit
  2. def ch: Char

    The library and compiler parsers had the interesting distinction of different behavior for nextch (a function for which there are a total of two plausible behaviors, so we know the design space was fully explored.) One of them returned the value of nextch before the increment and one of them the new value.

    The library and compiler parsers had the interesting distinction of different behavior for nextch (a function for which there are a total of two plausible behaviors, so we know the design space was fully explored.) One of them returned the value of nextch before the increment and one of them the new value. So to unify code we have to at least temporarily abstract over the nextchs.

    Definition Classes
    MarkupParser → MarkupParserCommon
  3. def content: Buffer[Global.Tree]
  4. def content_AMP(ts: ArrayBuffer[Global.Tree]): Unit

    adds entity/character to ts as side-effect

    adds entity/character to ts as side-effect

    Note

    Pre-condition: ch == '&'

  5. def content_BRACE(p: Global.Position, ts: ArrayBuffer[Global.Tree]): Unit

    Note

    Pre-condition: ch == '{'

    ,

    Post-condition: xEmbeddedBlock == false!

  6. def curOffset: Int
  7. def element: Global.Tree

    '<' element ::= xmlTag1 '>' { xmlExpr | '{' simpleExpr '}' } ETag | xmlTag1 '/' '>'

  8. val eof: Boolean
    Definition Classes
    MarkupParser → MarkupParserCommon
  9. def errorNoEnd(tag: String): Nothing
    Definition Classes
    MarkupParser → MarkupParserCommon
  10. def escapeToScala[A](op: => A, kind: String): A
  11. var input: CharArrayReader
  12. def lookahead(): collection.BufferedIterator[Char]

    Create a lookahead reader which does not influence the input

    Create a lookahead reader which does not influence the input

    Definition Classes
    MarkupParser → MarkupParserCommon
  13. def mkAttributes(name: String, other: NamespaceType): AttributesType
    Definition Classes
    MarkupParser → MarkupParserCommon
  14. def mkProcInstr(position: Global.Position, name: String, text: String): ElementType
    Definition Classes
    MarkupParser → MarkupParserCommon
  15. def nextch(): Unit

    this method assign the next character to ch and advances in input

    this method assign the next character to ch and advances in input

    Definition Classes
    MarkupParser → MarkupParserCommon
  16. final val preserveWS: Boolean
  17. def reportSyntaxError(str: String): Unit
    Definition Classes
    MarkupParser → MarkupParserCommon
  18. def reportSyntaxError(pos: Int, str: String): Unit
    Definition Classes
    MarkupParser → MarkupParserCommon
  19. def saving[A, B](getter: A, setter: (A) => Unit)(body: => B): B

    Execute body with a variable saved and restored after execution

    Execute body with a variable saved and restored after execution

    Definition Classes
    MarkupParserCommon
  20. var tmppos: Global.Position
    Definition Classes
    MarkupParser → MarkupParserCommon
  21. def truncatedError(msg: String): Nothing
    Definition Classes
    MarkupParser → MarkupParserCommon
  22. def xAttributeValue(endCh: Char): String

    attribute value, terminated by either ' or ".

    attribute value, terminated by either ' or ". value may not contain <.

    endCh

    either ' or "

    Definition Classes
    MarkupParserCommon
  23. def xAttributes: LinkedHashMap[String, Global.Tree]

    parse attribute and add it to listmap [41] Attributes ::= { S Name Eq AttValue } AttValue ::= ' { _ } ' | " { _ } " | { scalablock }

  24. def xCharData: Global.Tree

    '<! CharData ::= [CDATA[ ( {char} - {char}"]]>"{char} ) ']]>'

    '<! CharData ::= [CDATA[ ( {char} - {char}"]]>"{char} ) ']]>'

    see [15]

  25. def xCharRef: String
    Definition Classes
    MarkupParserCommon
  26. def xCharRef(it: Iterator[Char]): String
    Definition Classes
    MarkupParserCommon
  27. def xCharRef(ch: () => Char, nextch: () => Unit): String

    CharRef ::= "&#" '0'..'9' {'0'..'9'} ";" | "&#x" '0'..'9'|'A'..'F'|'a'..'f' { hexdigit } ";"

    CharRef ::= "&#" '0'..'9' {'0'..'9'} ";" | "&#x" '0'..'9'|'A'..'F'|'a'..'f' { hexdigit } ";"

    see [66]

    Definition Classes
    MarkupParserCommon
  28. def xCheckEmbeddedBlock: Boolean

    checks whether next character starts a Scala block, if yes, skip it.

    checks whether next character starts a Scala block, if yes, skip it.

    returns

    true if next character starts a scala block

  29. def xComment: Global.Tree

    Comment ::=

    Comment ::=

    see [15]

  30. def xEQ(): Unit

    scan [S] '=' [S]

    scan [S] '=' [S]

    Definition Classes
    MarkupParserCommon
  31. var xEmbeddedBlock: Boolean
  32. def xEmbeddedExpr: Global.Tree
  33. def xEndTag(startName: String): Unit

    [42] '<' xmlEndTag ::= '<' '/' Name S? '>'

    [42] '<' xmlEndTag ::= '<' '/' Name S? '>'

    Definition Classes
    MarkupParserCommon
  34. def xHandleError(that: Char, msg: String): Unit
    Definition Classes
    MarkupParser → MarkupParserCommon
  35. def xLiteral: Global.Tree

    xLiteral = element { element }

    xLiteral = element { element }

    returns

    Scala representation of this xml literal

  36. def xLiteralPattern: Global.Tree

    returns

    this xml pattern

    See also

    xmlPattern. resynchronizes after successful parse

  37. def xName: String

    actually, Name ::= (Letter | '_' | ':') (NameChar)* but starting with ':' cannot happen Name ::= (Letter | '_') (NameChar)*

    actually, Name ::= (Letter | '_' | ':') (NameChar)* but starting with ':' cannot happen Name ::= (Letter | '_') (NameChar)*

    see [5] of XML 1.0 specification

    pre-condition: ch != ':' // assured by definition of XMLSTART token post-condition: name does neither start, nor end in ':'

    Definition Classes
    MarkupParserCommon
  38. def xPattern: Global.Tree

    '<' xPattern ::= Name [S] { xmlPattern | '{' pattern3 '}' } ETag | Name [S] '/' '>'

  39. def xProcInstr: ElementType

    '<?' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'

    '<?' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'

    see [15]

    Definition Classes
    MarkupParserCommon
  40. def xScalaPatterns: List[Global.Tree]

    xScalaPatterns ::= patterns

  41. def xSpace(): Unit

    scan [3] S ::= (#x20 | #x9 | #xD | #xA)+

    scan [3] S ::= (#x20 | #x9 | #xD | #xA)+

    Definition Classes
    MarkupParserCommon
  42. def xSpaceOpt(): Unit

    skip optional space S?

    skip optional space S?

    Definition Classes
    MarkupParserCommon
  43. def xToken(that: Iterable[Char]): Unit
    Definition Classes
    MarkupParserCommon
  44. def xToken(that: Char): Unit
    Definition Classes
    MarkupParserCommon
  45. def xUnparsed: Global.Tree