class MarkupParser extends MarkupParserCommon
- Alphabetic
- By Inheritance
- MarkupParser
- MarkupParserCommon
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new MarkupParser(parser: SourceFileParser, preserveWS: Boolean)
Type Members
-
type
AttributesType = Map[String, Global.Tree]
- Definition Classes
- MarkupParser → MarkupParserCommon
-
type
ElementType = Global.Tree
- Definition Classes
- MarkupParser → MarkupParserCommon
- type InputType = CharArrayReader
-
type
NamespaceType = Any
- Definition Classes
- MarkupParser → MarkupParserCommon
-
type
PositionType = Position
- Definition Classes
- MarkupParser → MarkupParserCommon
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from Parsers.MarkupParser to any2stringadd[Parsers.MarkupParser] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (Parsers.MarkupParser, B)
- Implicit
- This member is added by an implicit conversion from Parsers.MarkupParser to ArrowAssoc[Parsers.MarkupParser] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def appendText(pos: Global.Position, ts: Buffer[Global.Tree], txt: String): Unit
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
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
-
def
ch_returning_nextch: Char
- Attributes
- protected
- Definition Classes
- MarkupParser → MarkupParserCommon
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def content: Buffer[Global.Tree]
-
def
content_AMP(ts: ArrayBuffer[Global.Tree]): Unit
adds entity/character to ts as side-effect
- def content_BRACE(p: Global.Position, ts: ArrayBuffer[Global.Tree]): Unit
- def curOffset: Int
-
def
element: Global.Tree
'<' element ::= xmlTag1 '>' { xmlExpr | '{' simpleExpr '}' } ETag | xmlTag1 '/' '>'
-
def
ensuring(cond: (Parsers.MarkupParser) ⇒ Boolean, msg: ⇒ Any): Parsers.MarkupParser
- Implicit
- This member is added by an implicit conversion from Parsers.MarkupParser to Ensuring[Parsers.MarkupParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (Parsers.MarkupParser) ⇒ Boolean): Parsers.MarkupParser
- Implicit
- This member is added by an implicit conversion from Parsers.MarkupParser to Ensuring[Parsers.MarkupParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): Parsers.MarkupParser
- Implicit
- This member is added by an implicit conversion from Parsers.MarkupParser to Ensuring[Parsers.MarkupParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): Parsers.MarkupParser
- Implicit
- This member is added by an implicit conversion from Parsers.MarkupParser to Ensuring[Parsers.MarkupParser] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
val
eof: Boolean
- Definition Classes
- MarkupParser → MarkupParserCommon
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
errorAndResult[T](msg: String, x: T): T
- Attributes
- protected
- Definition Classes
- MarkupParserCommon
-
def
errorNoEnd(tag: String): Nothing
- Definition Classes
- MarkupParser → MarkupParserCommon
- def escapeToScala[A](op: ⇒ A, kind: String): A
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from Parsers.MarkupParser to StringFormat[Parsers.MarkupParser] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- var input: CharArrayReader
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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
-
def
mkAttributes(name: String, other: NamespaceType): AttributesType
- Definition Classes
- MarkupParser → MarkupParserCommon
-
def
mkProcInstr(position: Global.Position, name: String, text: String): ElementType
- Definition Classes
- MarkupParser → MarkupParserCommon
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
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
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- final val preserveWS: Boolean
-
def
reportSyntaxError(str: String): Unit
- Definition Classes
- MarkupParser → MarkupParserCommon
-
def
reportSyntaxError(pos: Int, str: String): Unit
- Definition Classes
- MarkupParser → 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
- Definition Classes
- 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
- Definition Classes
- MarkupParserCommon
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
var
tmppos: Global.Position
- Definition Classes
- MarkupParser → MarkupParserCommon
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
truncatedError(msg: String): Nothing
- Definition Classes
- MarkupParser → MarkupParserCommon
-
def
unreachable: Nothing
- Attributes
- protected
- Definition Classes
- MarkupParserCommon
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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
-
def
xAttributes: LinkedHashMap[String, Global.Tree]
parse attribute and add it to listmap [41] Attributes ::= { S Name Eq AttValue } AttValue ::=
'
{ _ }'
|"
{ _ }"
|{
scalablock}
-
def
xCharData: Global.Tree
'<! CharData ::= [CDATA[ ( {char} - {char}"]]>"{char} ) ']]>'
'<! CharData ::= [CDATA[ ( {char} - {char}"]]>"{char} ) ']]>'
see [15]
-
def
xCharRef: String
- Definition Classes
- MarkupParserCommon
-
def
xCharRef(it: Iterator[Char]): String
- Definition Classes
- 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]
- Definition Classes
- MarkupParserCommon
-
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
-
def
xComment: Global.Tree
Comment ::=
Comment ::=
see [15]
-
def
xEQ(): Unit
scan [S] '=' [S]
scan [S] '=' [S]
- Definition Classes
- MarkupParserCommon
- var xEmbeddedBlock: Boolean
- def xEmbeddedExpr: Global.Tree
-
def
xEndTag(startName: String): Unit
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
- Definition Classes
- MarkupParserCommon
-
def
xHandleError(that: Char, msg: String): Unit
- Definition Classes
- MarkupParser → MarkupParserCommon
-
def
xLiteral: Global.Tree
xLiteral = element { element }
xLiteral = element { element }
- returns
Scala representation of this xml literal
-
def
xLiteralPattern: Global.Tree
- returns
this xml pattern
- See also
xmlPattern. resynchronizes after successful parse
-
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
-
def
xPattern: Global.Tree
'<' xPattern ::= Name [S] { xmlPattern | '{' pattern3 '}' } ETag | Name [S] '/' '>'
-
def
xProcInstr: ElementType
'<?' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'
'<?' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'
see [15]
- Definition Classes
- MarkupParserCommon
-
def
xScalaPatterns: List[Global.Tree]
xScalaPatterns ::= patterns
-
def
xSpace(): Unit
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
- Definition Classes
- MarkupParserCommon
-
def
xSpaceOpt(): Unit
skip optional space S?
skip optional space S?
- Definition Classes
- MarkupParserCommon
-
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
- Definition Classes
- MarkupParserCommon
-
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
- Definition Classes
- MarkupParserCommon
-
def
xToken(that: Seq[Char]): Unit
- Definition Classes
- MarkupParserCommon
-
def
xToken(that: Char): Unit
- Definition Classes
- MarkupParserCommon
- def xUnparsed: Global.Tree
-
def
→[B](y: B): (Parsers.MarkupParser, B)
- Implicit
- This member is added by an implicit conversion from Parsers.MarkupParser to ArrowAssoc[Parsers.MarkupParser] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
The Scala compiler API.
The following resources are useful for Scala plugin/compiler development: