Types for Markup Language Parsing.
Author: Max Deppert
Version: March 2014
row
:: ((Int,Int),Int) -> Int |
col
:: ((Int,Int),Int) -> Int |
tbs
:: ((Int,Int),Int) -> Int |
wcol
:: ((Int,Int),Int) -> Int |
tok
:: (Token,((Int,Int),Int)) -> Token |
pos
:: (Token,((Int,Int),Int)) -> ((Int,Int),Int) |
tgn
:: (Token,((Int,Int),Int)) -> String |
ind
:: (Token,((Int,Int),Int)) -> Int |
isTag
:: (Token,((Int,Int),Int)) -> Bool |
isStartTag
:: (Token,((Int,Int),Int)) -> Bool |
isVoidTag
:: (Token,((Int,Int),Int)) -> Bool |
isEndTag
:: (Token,((Int,Int),Int)) -> Bool |
isAlign
:: (Token,((Int,Int),Int)) -> Bool |
isPlain
:: (Token,((Int,Int),Int)) -> Bool |
push
:: a -> [a] -> [a] |
top
:: [a] -> a |
pop
:: [a] -> [a] |
update
:: (a -> a) -> [a] -> [a] |
sym2node
:: (Token,((Int,Int),Int)) -> Node |
Constructors:
X
:: L
H
:: L
Constructors:
TagNameFirstDigit
:: WarnID
TagNameNotAlphaNum
:: WarnID
TagEndsUnexpected
:: WarnID
UnquotedAttributeEmpty
:: WarnID
Unquoted
:: Char -> WarnID
AttributesUnseperated
:: WarnID
UnexpectedEndTag
:: WarnID
SingleEndTag
:: WarnID
A text element can be a raw text, a Curry expression that evaluates to some text, or a Curry expression that evaluates to some content.
Constructors:
Raw
:: String -> Text
ExpT
:: String -> Text
ExpC
:: String -> Text
Type synonym: TPos = (SimplePos,Int)
Type synonym: Symbol = (Token,TPos)
Type synonym: Attribute = (String,[Text])
Type synonym: Stack a = [a]
Type synonym: ParseStack = Stack (Symbol,[Tree])
Constructors:
Break
:: Token
Tabs
:: Int -> Token
Blanks
:: Int -> Token
Data
:: [Text] -> Token
StartTag
:: String -> [Attribute] -> Int -> Token
VoidTag
:: String -> [Attribute] -> Token
EndTag
:: String -> Token
Constructors:
Constructors:
|
|
|
|
|
|
|
|
|
|
|
|