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