MarkupParser

class MarkupParser(parser: Parser, val preserveWS: Boolean)(implicit src: SourceFile)
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

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.

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.

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 errorNoEnd(tag: String): Nothing
def escapeToScala[A](op: => A, kind: String): A

Create a lookahead reader which does not influence the input

Create a lookahead reader which does not influence the input

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 (hidden)
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 (hidden)
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 (hidden)
protected def unreachable: Nothing
Inherited from:
MarkupParserCommon (hidden)
Inherited from:
MarkupParserCommon (hidden)

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

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

Value parameters:
endCh

either ' or "

Inherited from:
MarkupParserCommon (hidden)
Inherited from:
MarkupParserCommon (hidden)
Inherited from:
MarkupParserCommon (hidden)
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 (hidden)
def xEQ(): Unit

scan [S] '=' [S]

scan [S] '=' [S]

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

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

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

Inherited from:
MarkupParserCommon (hidden)

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 (hidden)

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

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

see [15]

Inherited from:
MarkupParserCommon (hidden)
def xSpace(): Unit

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

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

Inherited from:
MarkupParserCommon (hidden)

skip optional space S?

skip optional space S?

Inherited from:
MarkupParserCommon (hidden)
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 (hidden)
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 (hidden)
def xToken(that: Seq[Char]): Unit
Inherited from:
MarkupParserCommon (hidden)
def xToken(that: Char): Unit
Inherited from:
MarkupParserCommon (hidden)