Packages

class MarkupParser extends MarkupParserCommon

Source
MarkupParsers.scala
Linear Supertypes
MarkupParserCommon, AnyRef, Any
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. All

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

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

  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(): 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 returning[T](x: T)(f: (T) ⇒ Unit): T

    Apply a function and return the passed value

    Apply a function and return the passed value

    Definition Classes
    MarkupParserCommon
  20. 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
  21. var tmppos: Global.Position
    Definition Classes
    MarkupParser → MarkupParserCommon
  22. def truncatedError(msg: String): Nothing
    Definition Classes
    MarkupParser → MarkupParserCommon
  23. 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
  24. def xAttributes: LinkedHashMap[String, Global.Tree]

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

  25. def xCharData: Global.Tree

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

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

    see [15]

  26. def xCharRef: String
    Definition Classes
    MarkupParserCommon
  27. def xCharRef(it: Iterator[Char]): String
    Definition Classes
    MarkupParserCommon
  28. 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
  29. 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

  30. def xComment: Global.Tree

    Comment ::=

    Comment ::=

    see [15]

  31. def xEQ(): Unit

    scan [S] '=' [S]

    scan [S] '=' [S]

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

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

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

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

    xLiteral = element { element }

    xLiteral = element { element }

    returns

    Scala representation of this xml literal

  37. def xLiteralPattern: Global.Tree

    returns

    this xml pattern

    See also

    xmlPattern. resynchronizes after successful parse

  38. 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
  39. def xPattern: Global.Tree

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

  40. def xProcInstr: ElementType

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

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

    see [15]

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

    xScalaPatterns ::= patterns

  42. def xSpace(): Unit

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

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

    Definition Classes
    MarkupParserCommon
  43. def xSpaceOpt(): Unit

    skip optional space S?

    skip optional space S?

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