Milky2018/html/src does not have a README file
pub struct Attribute {
name : String
value : String
}pub struct Document {
nodes : Array[Node]
document_element : Int
head_element : Int
body_element : Int
quirks_mode : QuirksMode
}pub(all) enum InsertionMode {
Initial
BeforeHtml
BeforeHead
InHead
InHeadNoscript
AfterHead
InBody
Text
InTable
InTableText
InCaption
InColumnGroup
InTableBody
InRow
InCell
InSelect
InSelectInTable
InTemplate
AfterBody
InFrameset
AfterFrameset
AfterAfterBody
AfterAfterFrameset
InForeignContent
}pub(all) enum Namespace {
HTML
SVG
MathML
}impl Eq for ParseErrorimpl Show for ParseErrorpub(all) enum ParseErrorCode {
AbruptClosingOfEmptyComment
EofInComment
IncorrectlyClosedComment
IncorrectlyOpenedComment
NestedComment
AbruptDoctypePublicIdentifier
AbruptDoctypeSystemIdentifier
EofInDoctype
InvalidCharacterSequenceAfterDoctypeName
MissingDoctypeName
MissingDoctypePublicIdentifier
MissingDoctypeSystemIdentifier
MissingQuoteBeforeDoctypePublicIdentifier
MissingQuoteBeforeDoctypeSystemIdentifier
MissingWhitespaceAfterDoctypePublicKeyword
MissingWhitespaceAfterDoctypeSystemKeyword
MissingWhitespaceBeforeDoctypeName
MissingWhitespaceBetweenDoctypePublicAndSystemIdentifiers
UnexpectedCharacterAfterDoctypeSystemIdentifier
DuplicateAttribute
EndTagWithAttributes
EndTagWithTrailingSolidus
EofBeforeTagName
EofInTag
InvalidFirstCharacterOfTagName
MissingAttributeValue
MissingEndTagName
MissingWhitespaceBetweenAttributes
NonVoidHtmlElementStartTagWithTrailingSolidus
UnexpectedCharacterInAttributeName
UnexpectedCharacterInUnquotedAttributeValue
UnexpectedEqualsSignBeforeAttributeName
UnexpectedNullCharacter
UnexpectedQuestionMarkInsteadOfTagName
UnexpectedSolidusInTag
AbsenceOfDigitsInNumericCharacterReference
CharacterReferenceOutsideUnicodeRange
ControlCharacterReference
MissingSemicolonAfterCharacterReference
NoncharacterCharacterReference
NullCharacterReference
SurrogateCharacterReference
UnknownNamedCharacterReference
CdataInHtmlContent
ControlCharacterInInputStream
EofInCdata
EofInScriptHtmlCommentLikeText
NoncharacterInInputStream
SurrogateInInputStream
}impl Eq for ParseErrorCodeimpl Show for ParseErrorCodepub(all) enum QuirksMode {
NoQuirks
Quirks
LimitedQuirks
}impl Eq for QuirksModeimpl Show for QuirksModepub struct SourcePosition {
line : Int
column : Int
offset : Int
}impl Eq for SourcePositionimpl Show for SourcePositionpub(all) enum State {
Data
RCDATA
RAWTEXT
ScriptData
PLAINTEXT
TagOpen
EndTagOpen
TagName
SelfClosingStartTag
RCDATALessThanSign
RCDATAEndTagOpen
RCDATAEndTagName
RAWTEXTLessThanSign
RAWTEXTEndTagOpen
RAWTEXTEndTagName
ScriptDataLessThanSign
ScriptDataEndTagOpen
ScriptDataEndTagName
ScriptDataEscapeStart
ScriptDataEscapeStartDash
ScriptDataEscaped
ScriptDataEscapedDash
ScriptDataEscapedDashDash
ScriptDataEscapedLessThanSign
ScriptDataEscapedEndTagOpen
ScriptDataEscapedEndTagName
ScriptDataDoubleEscapeStart
ScriptDataDoubleEscaped
ScriptDataDoubleEscapedDash
ScriptDataDoubleEscapedDashDash
ScriptDataDoubleEscapedLessThanSign
ScriptDataDoubleEscapeEnd
BeforeAttributeName
AttributeName
AfterAttributeName
BeforeAttributeValue
AttributeValueDoubleQuoted
AttributeValueSingleQuoted
AttributeValueUnquoted
AfterAttributeValueQuoted
BogusComment
MarkupDeclarationOpen
CommentStart
CommentStartDash
Comment
CommentLessThanSign
CommentLessThanSignBang
CommentLessThanSignBangDash
CommentLessThanSignBangDashDash
CommentEndDash
CommentEnd
CommentEndBang
DOCTYPE
BeforeDOCTYPEName
DOCTYPEName
AfterDOCTYPEName
AfterDOCTYPEPublicKeyword
BeforeDOCTYPEPublicIdentifier
DOCTYPEPublicIdentifierDoubleQuoted
DOCTYPEPublicIdentifierSingleQuoted
AfterDOCTYPEPublicIdentifier
BetweenDOCTYPEPublicAndSystemIdentifiers
AfterDOCTYPESystemKeyword
BeforeDOCTYPESystemIdentifier
DOCTYPESystemIdentifierDoubleQuoted
DOCTYPESystemIdentifierSingleQuoted
AfterDOCTYPESystemIdentifier
BogusDOCTYPE
CDATASection
CDATASectionBracket
CDATASectionEnd
CharacterReference
NamedCharacterReference
AmbiguousAmpersand
NumericCharacterReference
HexadecimalCharacterReferenceStart
DecimalCharacterReferenceStart
HexadecimalCharacterReference
DecimalCharacterReference
NumericCharacterReferenceEnd
}pub struct Tokenizer {
input : Array[Char]
pos : Int
line : Int
column : Int
saw_eof : Bool
state : State
return_state : State
errors : Array[ParseError]
current_tag_name : StringBuilder
current_tag_is_end : Bool
current_tag_self_closing : Bool
current_attrs : Array[Attribute]
current_attr_name : StringBuilder
current_attr_value : StringBuilder
current_comment : StringBuilder
current_doctype_name : StringBuilder
current_doctype_public_id : StringBuilder
current_doctype_system_id : StringBuilder
current_doctype_force_quirks : Bool
current_doctype_public_id_set : Bool
current_doctype_system_id_set : Bool
char_ref_code : Int
temp_buffer : StringBuilder
last_start_tag_name : String
pending_tokens : Array[Token]
in_foreign_content : Bool
}pub struct TreeBuilder {
tokenizer : Tokenizer
document : Document
open_elements : Array[StackEntry]
active_formatting : Array[FormattingEntry]
mode : InsertionMode
original_mode : InsertionMode
template_modes : Array[InsertionMode]
head_element : Int
form_element : Int
scripting : Bool
frameset_ok : Bool
foster_parenting : Bool
pending_table_chars : Array[Char]
skip_next_newline : Bool
errors : Array[ParseError]
}fn TreeBuilder::create_element_for_token(self : TreeBuilder, name : String, attrs : Array[(String, String)], ns : Namespace) -> Intfn TreeBuilder::in_scope(self : TreeBuilder, tag_name : String, scope_elements : Array[String]) -> Boolfn TreeBuilder::insert_doctype(self : TreeBuilder, name : String?, public_id : String?, system_id : String?) -> Unitfn TreeBuilder::insert_element_for_token(self : TreeBuilder, name : String, attrs : Array[Attribute], ns : Namespace) -> Intfn TreeBuilder::insert_foreign_element(self : TreeBuilder, name : String, attrs : Array[Attribute], ns : Namespace) -> Intfn TreeBuilder::insert_html_element(self : TreeBuilder, name : String, attrs : Array[Attribute]) -> Intfn TreeBuilder::push_active_formatting(self : TreeBuilder, node_id : Int, tag_name : String, attrs : Array[Attribute]) -> Unitfn TreeBuilder::push_element(self : TreeBuilder, node_id : Int, tag_name : String, ns : Namespace) -> Unitlet NO_NODE : Intfn is_formatting_element(name : String) -> BoolInstall
Download zipWHATWG HTML5 spec-compliant parser for MoonBit
Dependencies