org.scalamacros.paradise.parser

MarkupParserCommon

trait MarkupParserCommon extends AnyRef

This is not a public trait - it contains common code shared between the library level XML parser and the compiler's. All members should be accessed through those.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MarkupParserCommon
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. abstract type AttributesType

  2. abstract type ElementType

  3. abstract type NamespaceType

  4. abstract type PositionType

Abstract Value Members

  1. abstract 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.

    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.

  2. abstract def ch_returning_nextch: Char

    Attributes
    protected
  3. abstract def eof: Boolean

  4. abstract def errorNoEnd(tag: String): Nothing

  5. abstract def lookahead(): BufferedIterator[Char]

    Create a lookahead reader which does not influence the input

  6. abstract def mkAttributes(name: String, pscope: NamespaceType): AttributesType

  7. abstract def mkProcInstr(position: PositionType, name: String, text: String): ElementType

  8. abstract def nextch(): Unit

  9. abstract def reportSyntaxError(pos: Int, str: String): Unit

  10. abstract def reportSyntaxError(str: String): Unit

  11. abstract val tmppos: PositionType

  12. abstract def truncatedError(msg: String): Nothing

  13. abstract def xHandleError(that: Char, msg: String): Unit

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def errorAndResult[T](msg: String, x: T): T

    Attributes
    protected
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  18. def returning[T](x: T)(f: (T) ⇒ Unit): T

    Apply a function and return the passed value

  19. def saving[A, B](getter: A, setter: (A) ⇒ Unit)(body: ⇒ B): B

    Execute body with a variable saved and restored after execution

  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  21. def toString(): String

    Definition Classes
    AnyRef → Any
  22. def unreachable: Nothing

    Attributes
    protected
  23. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. def xAttributeValue(endCh: Char): String

    attribute value, terminated by either ' or ".

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

    endCh

    either ' or "

  27. def xCharRef: String

  28. def xCharRef(it: Iterator[Char]): String

  29. def xCharRef(ch: () ⇒ Char, nextch: () ⇒ Unit): String

    CharRef ::= "&#" '0'.

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

    see [66]

  30. def xEQ(): Unit

    scan [S] '=' [S]

  31. def xEndTag(startName: String): Unit

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

  32. 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 ':'

  33. def xProcInstr: ElementType

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

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

    see [15]

  34. def xSpace(): Unit

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

  35. def xSpaceOpt(): Unit

    skip optional space S?

  36. def xTag(pscope: NamespaceType): (String, AttributesType)

    parse a start or empty tag.

    parse a start or empty tag. [40] STag ::= '<' Name { S Attribute } [S] [44] EmptyElemTag ::= '<' Name { S Attribute } [S]

    Attributes
    protected
  37. def xTakeUntil[T](handler: (PositionType, String) ⇒ T, positioner: () ⇒ PositionType, until: String): T

    Take characters from input stream until given String "until" is seen.

    Take characters from input stream until given String "until" is seen. Once seen, the accumulated characters are passed along with the current Position to the supplied handler function.

    Attributes
    protected
  38. def xToken(that: Seq[Char]): Unit

  39. def xToken(that: Char): Unit

Inherited from AnyRef

Inherited from Any

Ungrouped