MarkupParser

class MarkupParser(parser: Parser, val preserveWS: Boolean)(implicit src: SourceFile) extends MarkupParserCommon
class Object
trait Matchable
class Any

Type members

Value members

Concrete methods

def appendText(span: Span, ts: Buffer[Tree], txt: String): Unit
def ch: Char

adds entity/character to ts as side-effect

adds entity/character to ts as side-effect

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

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

def eof: Boolean
def errorNoEnd(tag: String): Nothing
def escapeToScala[A](op: => A, kind: String): A
def mkProcInstr(position: Span, name: String, text: String): ElementType
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

def reportSyntaxError(offset: Int, str: String): Unit
def truncatedError(msg: String): Nothing

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

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

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

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

see [15]

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

Comment ::= ''

Comment ::= ''

see [15]

def xHandleError(that: Char, msg: String): Unit

xLiteral = element { element }

xLiteral = element { element }

Returns

Scala representation of this xml literal

Returns

this xml pattern

See also

xmlPattern. resynchronizes after successful parse

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

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

xScalaPatterns ::= patterns

xScalaPatterns ::= patterns

Inherited methods

protected def errorAndResult[T](msg: String, x: T): T
Inherited from
MarkupParserCommon
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

Inherited from
MarkupParserCommon
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

Inherited from
MarkupParserCommon
protected def unreachable: Nothing
Inherited from
MarkupParserCommon

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

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

Value Params
endCh

either ' or "

Inherited from
MarkupParserCommon
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]

Inherited from
MarkupParserCommon
def xEQ(): Unit

scan [S] '=' [S]

scan [S] '=' [S]

Inherited from
MarkupParserCommon
def xEndTag(startName: String): Unit

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

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

Inherited from
MarkupParserCommon

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

Inherited from
MarkupParserCommon

'?' {Char})]'?>'

'?' {Char})]'?>'

see [15]

Inherited from
MarkupParserCommon
def xSpace(): Unit

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

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

Inherited from
MarkupParserCommon
def xSpaceOpt(): Unit

skip optional space S?

skip optional space S?

Inherited from
MarkupParserCommon
protected def xTag(pscope: NamespaceType): (String, AttributesType)

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

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

Inherited from
MarkupParserCommon
protected def xTakeUntil[T](handler: (PositionType, String) => T, positioner: () => PositionType, until: String): T

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.

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.

Inherited from
MarkupParserCommon
def xToken(that: Seq[Char]): Unit
Inherited from
MarkupParserCommon
def xToken(that: Char): Unit
Inherited from
MarkupParserCommon

Concrete fields

final val preserveWS: Boolean
var tmppos: Span