diff --git a/go.mod b/go.mod index 3c44c1653..7897f6351 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 github.com/schollz/progressbar/v3 v3.14.4 github.com/shirou/gopsutil/v3 v3.24.5 - github.com/smacker/go-tree-sitter v0.0.0-20230720070738-0d0a9f78d8f8 + github.com/smacker/go-tree-sitter v0.0.0-20240514083259-c5d1f3f5f99e github.com/stretchr/testify v1.9.0 github.com/tangzero/inflector v1.0.0 github.com/weppos/publicsuffix-go v0.30.2 diff --git a/go.sum b/go.sum index 684d3fe19..af984e51a 100644 --- a/go.sum +++ b/go.sum @@ -221,8 +221,8 @@ github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/smacker/go-tree-sitter v0.0.0-20230720070738-0d0a9f78d8f8 h1:DxgjlvWYsb80WEN2Zv3WqJFAg2DKjUQJO6URGdf1x6Y= -github.com/smacker/go-tree-sitter v0.0.0-20230720070738-0d0a9f78d8f8/go.mod h1:q99oHDsbP0xRwmn7Vmob8gbSMNyvJ83OauXPSuHQuKE= +github.com/smacker/go-tree-sitter v0.0.0-20240514083259-c5d1f3f5f99e h1:nOtrYzQNgRipVsrOkYpVU/ZMDS3/+78It68cPBPKy8A= +github.com/smacker/go-tree-sitter v0.0.0-20240514083259-c5d1f3f5f99e/go.mod h1:q99oHDsbP0xRwmn7Vmob8gbSMNyvJ83OauXPSuHQuKE= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= diff --git a/pkg/detectors/csharp/csharp.go b/pkg/detectors/csharp/csharp.go index eb2f9b9d7..3696ebe48 100644 --- a/pkg/detectors/csharp/csharp.go +++ b/pkg/detectors/csharp/csharp.go @@ -83,13 +83,18 @@ func annotate(tree *parser.Tree) error { return tree.Annotate(func(node *parser.Node, value *values.Value) { switch node.Type() { - case "interpolated_string_text", "interpolated_verbatim_string_text": + case "interpolated_string_text", + "interpolated_verbatim_string_text", + "string_content", + "string_literal_content": value.AppendString(node.Content()) return case "interpolation": value.Append(node.FirstChild().Value()) + return + case "interpolation_start": return case "binary_expression": if node.FirstUnnamedChild().Content() == "+" { diff --git a/pkg/detectors/csharp/datatype/datatype.go b/pkg/detectors/csharp/datatype/datatype.go index 95cfd4347..8c114def9 100644 --- a/pkg/detectors/csharp/datatype/datatype.go +++ b/pkg/detectors/csharp/datatype/datatype.go @@ -157,7 +157,8 @@ func discoverFunctions(tree *parser.Tree, datatypes map[parser.NodeID]*schemadat parent := functionNameNode.Parent() - functionTypeNode := parent.ChildByFieldName("type") + functionTypeNode := parent.ChildByFieldName("returns") + functionType := "" functionTextType := "" if functionTypeNode != nil { diff --git a/pkg/detectors/dependencies/ivy/ivy.go b/pkg/detectors/dependencies/ivy/ivy.go index d99ca2d27..efa7065eb 100644 --- a/pkg/detectors/dependencies/ivy/ivy.go +++ b/pkg/detectors/dependencies/ivy/ivy.go @@ -19,45 +19,51 @@ var language = xml.GetLanguage() var query = ` (element - (_ - (tag_name) @helper_module + (STag + (Name) @helper_module (#match? @helper_module "^module$") - (attribute - (attribute_name) @helper_organisation + (Attribute + (Name) @helper_organisation (#match? @helper_organisation "^organisation$") - (attribute_value) @param_organisation_name + (AttValue) @param_organisation_name ) - (attribute - (attribute_name) @helper_organisation_name + (Attribute + (Name) @helper_organisation_name (#match? @helper_organisation_name "^name$") - (attribute_value) @param_module_name + (AttValue) @param_module_name ) ) - (element - (_ - (tag_name) @helper_revision - (#match? @helper_revision "^revision$") - (attribute - (attribute_name) @helper_revision_name - (#match? @helper_revision_name "^name$") - (attribute_value) @param_version - ) - ) - ) + (content + (element + (STag + (Name) @helper_revision + (#match? @helper_revision "^revision$") + (Attribute + (Name) @helper_revision_name + (#match? @helper_revision_name "^name$") + (AttValue) @param_version + ) + ) + ) + ) ) ` var queryDependencies = parser.QueryMustCompile(language, fmt.Sprintf(` (document (element - (element - (start_tag - (tag_name) @helper_dependencies - (#match? @helper_dependencies "^dependencies$") - ) - - %s - ) + (content + (element + (STag + (Name) @helper_dependencies + (#match? @helper_dependencies "^dependencies$") + ) + + (content + %s + ) + ) + ) ) ) `, query)) diff --git a/pkg/detectors/dependencies/package-config/package-config.go b/pkg/detectors/dependencies/package-config/package-config.go index 000af4994..ba0e3ec0b 100644 --- a/pkg/detectors/dependencies/package-config/package-config.go +++ b/pkg/detectors/dependencies/package-config/package-config.go @@ -15,18 +15,18 @@ var language = xml.GetLanguage() var queryDependencies = parser.QueryMustCompile(language, ` (element (_ - (tag_name) @helper_package + (Name) @helper_package (#match? @helper_package "^package$") - (attribute - (attribute_name) @helper_id - (#match? @helper_id "^id$") - (attribute_value) @param_dependency - ) - (attribute - (attribute_name) @helper_version - (#match? @helper_version "^version$") - (attribute_value) @param_version - ) + (Attribute + (Name) @helper_id + (#match? @helper_id "^id$") + (AttValue) @param_dependency + ) + (Attribute + (Name) @helper_version + (#match? @helper_version "^version$") + (AttValue) @param_version + ) ) ) `) diff --git a/pkg/detectors/dependencies/pom-xml/pom-xml.go b/pkg/detectors/dependencies/pom-xml/pom-xml.go index 2c314bddc..7f1883d57 100644 --- a/pkg/detectors/dependencies/pom-xml/pom-xml.go +++ b/pkg/detectors/dependencies/pom-xml/pom-xml.go @@ -14,8 +14,8 @@ var language = xml.GetLanguage() var queryDependencies = parser.QueryMustCompile(language, ` (element - (start_tag - (tag_name) @helper_dependency + (STag + (Name) @helper_dependency (#match? @helper_dependency "^dependency$") ) ) @param_dependency @@ -41,32 +41,37 @@ func Discover(f *file.FileInfo) (report *depsbase.DiscoveredDependency) { for i := 0; i < dependencyNode.ChildCount(); i++ { child := dependencyNode.Child(i) - if child.Type() != "element" { + if child.Type() != "content" { continue } - tag := "" - tagContent := "" - for j := 0; j < child.ChildCount(); j++ { - elementChild := child.Child(j) - - if elementChild.Type() == "start_tag" { - tag = elementChild.Child(0).Content() + childElement := child.Child(j) + if childElement.Type() != "element" { + continue } - if elementChild.Type() == "text" { - tagContent = elementChild.Content() + tag := "" + tagContent := "" + + for k := 0; k < childElement.ChildCount(); k++ { + subElement := childElement.Child(k) + switch subElement.Type() { + case "STag": + tag = subElement.Child(0).Content() + case "content": + tagContent += subElement.Content() + } } - } - switch tag { - case "groupId": - groupId = tagContent - case "artifactId": - artifactId = tagContent - case "version": - version = tagContent + switch tag { + case "groupId": + groupId = tagContent + case "artifactId": + artifactId = tagContent + case "version": + version = tagContent + } } } diff --git a/pkg/detectors/html/.snapshots/TestDetectorReportInterfaces b/pkg/detectors/html/.snapshots/TestDetectorReportInterfaces index 5349a26ab..061c758d6 100644 --- a/pkg/detectors/html/.snapshots/TestDetectorReportInterfaces +++ b/pkg/detectors/html/.snapshots/TestDetectorReportInterfaces @@ -1,4 +1,4 @@ -([]*detections.Detection) (len=61) { +([]*detections.Detection) (len=64) { (*detections.Detection)({ Type: (detections.DetectionType) (len=6) "schema", DetectorType: (detectors.Type) (len=10) "javascript", @@ -347,6 +347,64 @@ NormalizedFieldName: (string) (len=7) "warning" } }), + (*detections.Detection)({ + Type: (detections.DetectionType) (len=6) "schema", + DetectorType: (detectors.Type) (len=10) "javascript", + DetectorLanguage: (detectors.Language) "", + CommitSHA: (string) "", + Source: (source.Source) { + Filename: (string) (len=14) "base.html.twig", + FullFilename: (string) "", + Language: (string) (len=10) "JavaScript", + LanguageType: (string) (len=11) "programming", + StartLineNumber: (*int)(32), + StartColumnNumber: (*int)(35), + EndLineNumber: (*int)(32), + EndColumnNumber: (*int)(42), + Text: (*string)() + }, + Value: (schema.Schema) { + ObjectName: (string) (len=5) "ALERT", + ObjectUUID: (string) (len=2) "20", + FieldName: (string) (len=7) "success", + FieldUUID: (string) (len=2) "23", + FieldType: (string) "", + SimpleFieldType: (string) (len=7) "unknown", + Classification: (interface {}) , + Source: (*schema.Source)(), + NormalizedObjectName: (string) (len=5) "alert", + NormalizedFieldName: (string) (len=7) "success" + } + }), + (*detections.Detection)({ + Type: (detections.DetectionType) (len=6) "schema", + DetectorType: (detectors.Type) (len=10) "javascript", + DetectorLanguage: (detectors.Language) "", + CommitSHA: (string) "", + Source: (source.Source) { + Filename: (string) (len=14) "base.html.twig", + FullFilename: (string) "", + Language: (string) (len=10) "JavaScript", + LanguageType: (string) (len=11) "programming", + StartLineNumber: (*int)(34), + StartColumnNumber: (*int)(35), + EndLineNumber: (*int)(34), + EndColumnNumber: (*int)(39), + Text: (*string)() + }, + Value: (schema.Schema) { + ObjectName: (string) (len=5) "ALERT", + ObjectUUID: (string) (len=2) "20", + FieldName: (string) (len=4) "info", + FieldUUID: (string) (len=2) "24", + FieldType: (string) "", + SimpleFieldType: (string) (len=7) "unknown", + Classification: (interface {}) , + Source: (*schema.Source)(), + NormalizedObjectName: (string) (len=5) "alert", + NormalizedFieldName: (string) (len=4) "info" + } + }), (*detections.Detection)({ Type: (detections.DetectionType) (len=6) "schema", DetectorType: (detectors.Type) (len=10) "javascript", @@ -365,9 +423,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "window", - ObjectUUID: (string) (len=2) "24", + ObjectUUID: (string) (len=2) "26", FieldName: (string) (len=16) "addEventListener", - FieldUUID: (string) (len=2) "25", + FieldUUID: (string) (len=2) "27", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -394,9 +452,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "app", - ObjectUUID: (string) (len=2) "26", + ObjectUUID: (string) (len=2) "29", FieldName: (string) (len=4) "user", - FieldUUID: (string) (len=2) "27", + FieldUUID: (string) (len=2) "30", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -423,9 +481,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "user", - ObjectUUID: (string) (len=2) "27", + ObjectUUID: (string) (len=2) "30", FieldName: (string) (len=14) "firstDayOfWeek", - FieldUUID: (string) (len=2) "28", + FieldUUID: (string) (len=2) "31", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -434,6 +492,35 @@ NormalizedFieldName: (string) (len=14) "firstdayofweek" } }), + (*detections.Detection)({ + Type: (detections.DetectionType) (len=6) "schema", + DetectorType: (detectors.Type) (len=10) "javascript", + DetectorLanguage: (detectors.Language) "", + CommitSHA: (string) "", + Source: (source.Source) { + Filename: (string) (len=14) "base.html.twig", + FullFilename: (string) "", + Language: (string) (len=10) "JavaScript", + LanguageType: (string) (len=11) "programming", + StartLineNumber: (*int)(299), + StartColumnNumber: (*int)(45), + EndLineNumber: (*int)(299), + EndColumnNumber: (*int)(49), + Text: (*string)() + }, + Value: (schema.Schema) { + ObjectName: (string) (len=15) "twentyFourHours", + ObjectUUID: (string) (len=2) "33", + FieldName: (string) (len=4) "user", + FieldUUID: (string) (len=2) "34", + FieldType: (string) "", + SimpleFieldType: (string) (len=7) "unknown", + Classification: (interface {}) , + Source: (*schema.Source)(), + NormalizedObjectName: (string) (len=14) "twentyfourhour", + NormalizedFieldName: (string) (len=4) "user" + } + }), (*detections.Detection)({ Type: (detections.DetectionType) (len=6) "schema", DetectorType: (detectors.Type) (len=10) "javascript", @@ -452,9 +539,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "user", - ObjectUUID: (string) (len=2) "30", + ObjectUUID: (string) (len=2) "34", FieldName: (string) (len=8) "is24Hour", - FieldUUID: (string) (len=2) "31", + FieldUUID: (string) (len=2) "35", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -481,9 +568,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "app", - ObjectUUID: (string) (len=2) "26", + ObjectUUID: (string) (len=2) "29", FieldName: (string) (len=4) "user", - FieldUUID: (string) (len=2) "27", + FieldUUID: (string) (len=2) "30", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -510,9 +597,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "user", - ObjectUUID: (string) (len=2) "27", + ObjectUUID: (string) (len=2) "30", FieldName: (string) (len=15) "preferenceValue", - FieldUUID: (string) (len=2) "29", + FieldUUID: (string) (len=2) "32", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -539,9 +626,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "window", - ObjectUUID: (string) (len=2) "32", + ObjectUUID: (string) (len=2) "26", FieldName: (string) (len=5) "kimai", - FieldUUID: (string) (len=2) "33", + FieldUUID: (string) (len=2) "28", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -568,9 +655,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "loader", - ObjectUUID: (string) (len=2) "34", + ObjectUUID: (string) (len=2) "36", FieldName: (string) (len=8) "getKimai", - FieldUUID: (string) (len=2) "35", + FieldUUID: (string) (len=2) "37", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -597,9 +684,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "window", - ObjectUUID: (string) (len=2) "37", + ObjectUUID: (string) (len=2) "39", FieldName: (string) (len=9) "dataLayer", - FieldUUID: (string) (len=2) "38", + FieldUUID: (string) (len=2) "40", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -626,9 +713,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "window", - ObjectUUID: (string) (len=2) "37", + ObjectUUID: (string) (len=2) "39", FieldName: (string) (len=9) "dataLayer", - FieldUUID: (string) (len=2) "38", + FieldUUID: (string) (len=2) "40", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -655,9 +742,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "dataLayer", - ObjectUUID: (string) (len=2) "39", + ObjectUUID: (string) (len=2) "41", FieldName: (string) (len=4) "push", - FieldUUID: (string) (len=2) "40", + FieldUUID: (string) (len=2) "42", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -684,9 +771,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "user", - ObjectUUID: (string) (len=2) "41", + ObjectUUID: (string) (len=2) "43", FieldName: (string) (len=16) "is_authenticated", - FieldUUID: (string) (len=2) "42", + FieldUUID: (string) (len=2) "44", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , @@ -713,9 +800,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "gtag", - ObjectUUID: (string) (len=2) "44", + ObjectUUID: (string) (len=2) "46", FieldName: (string) (len=9) "'user_id'", - FieldUUID: (string) (len=2) "45", + FieldUUID: (string) (len=2) "47", FieldType: (string) "", SimpleFieldType: (string) (len=7) "unknown", Classification: (interface {}) , diff --git a/pkg/detectors/javascript/javascript.go b/pkg/detectors/javascript/javascript.go index b86ed1324..fecb39066 100644 --- a/pkg/detectors/javascript/javascript.go +++ b/pkg/detectors/javascript/javascript.go @@ -115,6 +115,9 @@ func annotate(tree *parser.Tree, environmentVariablesQuery *sitter.Query) error return tree.Annotate(func(node *parser.Node, value *values.Value) { switch node.Type() { + case "string_fragment": + value.AppendString(node.Content()) + return case "template_substitution": value.Append(node.FirstChild().Value()) @@ -132,15 +135,9 @@ func annotate(tree *parser.Tree, environmentVariablesQuery *sitter.Query) error return case "string", "template_string": - node.EachPart(func(text string) error { //nolint:all,errcheck - value.AppendString(text) - - return nil - }, func(child *parser.Node) error { - value.Append(child.Value()) - - return nil - }) + for i := 0; i < node.ChildCount(); i++ { + value.Append(node.Child(i).Value()) + } return } diff --git a/pkg/detectors/openapi/.snapshots/TestDetectorV2json b/pkg/detectors/openapi/.snapshots/TestDetectorV2json index baf50b7fe..386882e95 100644 --- a/pkg/detectors/openapi/.snapshots/TestDetectorV2json +++ b/pkg/detectors/openapi/.snapshots/TestDetectorV2json @@ -17,9 +17,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "listPets", - ObjectUUID: (string) (len=4) "7475", + ObjectUUID: (string) (len=4) "8662", FieldName: (string) (len=3) "id1", - FieldUUID: (string) (len=4) "7483", + FieldUUID: (string) (len=4) "8675", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -46,9 +46,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "listPets", - ObjectUUID: (string) (len=4) "7475", + ObjectUUID: (string) (len=4) "8662", FieldName: (string) (len=3) "id2", - FieldUUID: (string) (len=4) "7502", + FieldUUID: (string) (len=4) "8705", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -75,9 +75,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "showPetById", - ObjectUUID: (string) (len=4) "7599", + ObjectUUID: (string) (len=4) "8849", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "7607", + FieldUUID: (string) (len=4) "8862", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -104,9 +104,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "Person", - ObjectUUID: (string) (len=4) "7676", + ObjectUUID: (string) (len=4) "8962", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=4) "7678", + FieldUUID: (string) (len=4) "8966", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -133,9 +133,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "Person", - ObjectUUID: (string) (len=4) "7676", + ObjectUUID: (string) (len=4) "8962", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "7684", + FieldUUID: (string) (len=4) "8975", FieldType: (string) "", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -162,9 +162,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=2) "id", - ObjectUUID: (string) (len=4) "7684", + ObjectUUID: (string) (len=4) "8975", FieldName: (string) (len=3) "id1", - FieldUUID: (string) (len=4) "7686", + FieldUUID: (string) (len=4) "8979", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -191,9 +191,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=2) "id", - ObjectUUID: (string) (len=4) "7684", + ObjectUUID: (string) (len=4) "8975", FieldName: (string) (len=3) "id2", - FieldUUID: (string) (len=4) "7692", + FieldUUID: (string) (len=4) "8988", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -220,9 +220,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Error", - ObjectUUID: (string) (len=4) "7706", + ObjectUUID: (string) (len=4) "9005", FieldName: (string) (len=4) "code", - FieldUUID: (string) (len=4) "7713", + FieldUUID: (string) (len=4) "9017", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -249,9 +249,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Error", - ObjectUUID: (string) (len=4) "7706", + ObjectUUID: (string) (len=4) "9005", FieldName: (string) (len=7) "message", - FieldUUID: (string) (len=4) "7722", + FieldUUID: (string) (len=4) "9031", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , diff --git a/pkg/detectors/openapi/.snapshots/TestDetectorV2yaml b/pkg/detectors/openapi/.snapshots/TestDetectorV2yaml index 372724cc8..1949ceb91 100644 --- a/pkg/detectors/openapi/.snapshots/TestDetectorV2yaml +++ b/pkg/detectors/openapi/.snapshots/TestDetectorV2yaml @@ -17,9 +17,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "addPet", - ObjectUUID: (string) (len=4) "7947", + ObjectUUID: (string) (len=4) "9258", FieldName: (string) (len=3) "id1", - FieldUUID: (string) (len=4) "7986", + FieldUUID: (string) (len=4) "9297", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -46,9 +46,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "addPet", - ObjectUUID: (string) (len=4) "7947", + ObjectUUID: (string) (len=4) "9258", FieldName: (string) (len=3) "id2", - FieldUUID: (string) (len=4) "8020", + FieldUUID: (string) (len=4) "9331", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -75,9 +75,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=16) "findPetsByStatus", - ObjectUUID: (string) (len=4) "8282", + ObjectUUID: (string) (len=4) "9593", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=4) "8303", + FieldUUID: (string) (len=4) "9614", FieldType: (string) (len=5) "array", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -104,9 +104,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=14) "findPetsByTags", - ObjectUUID: (string) (len=4) "8487", + ObjectUUID: (string) (len=4) "9798", FieldName: (string) (len=4) "tags", - FieldUUID: (string) (len=4) "8508", + FieldUUID: (string) (len=4) "9819", FieldType: (string) (len=5) "array", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -133,9 +133,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "getPetById", - ObjectUUID: (string) (len=4) "8671", + ObjectUUID: (string) (len=4) "9982", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "8692", + FieldUUID: (string) (len=5) "10003", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -162,9 +162,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=4) "8831", + ObjectUUID: (string) (len=5) "10142", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "8861", + FieldUUID: (string) (len=5) "10172", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -191,9 +191,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=4) "8831", + ObjectUUID: (string) (len=5) "10142", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=4) "8901", + FieldUUID: (string) (len=5) "10212", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -220,9 +220,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=4) "8831", + ObjectUUID: (string) (len=5) "10142", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=4) "8935", + FieldUUID: (string) (len=5) "10246", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -249,9 +249,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "deletePet", - ObjectUUID: (string) (len=4) "9038", + ObjectUUID: (string) (len=5) "10349", FieldName: (string) (len=7) "api_key", - FieldUUID: (string) (len=4) "9059", + FieldUUID: (string) (len=5) "10370", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -278,9 +278,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "deletePet", - ObjectUUID: (string) (len=4) "9038", + ObjectUUID: (string) (len=5) "10349", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "9087", + FieldUUID: (string) (len=5) "10398", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -307,9 +307,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "uploadFile", - ObjectUUID: (string) (len=4) "9202", + ObjectUUID: (string) (len=5) "10513", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "9229", + FieldUUID: (string) (len=5) "10540", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -336,9 +336,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "uploadFile", - ObjectUUID: (string) (len=4) "9202", + ObjectUUID: (string) (len=5) "10513", FieldName: (string) (len=18) "additionalMetadata", - FieldUUID: (string) (len=4) "9269", + FieldUUID: (string) (len=5) "10580", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -365,9 +365,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "uploadFile", - ObjectUUID: (string) (len=4) "9202", + ObjectUUID: (string) (len=5) "10513", FieldName: (string) (len=4) "file", - FieldUUID: (string) (len=4) "9303", + FieldUUID: (string) (len=5) "10614", FieldType: (string) (len=4) "file", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -394,9 +394,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=12) "getOrderById", - ObjectUUID: (string) (len=4) "9680", + ObjectUUID: (string) (len=5) "10991", FieldName: (string) (len=7) "orderId", - FieldUUID: (string) (len=4) "9701", + FieldUUID: (string) (len=5) "11012", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -423,9 +423,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "deleteOrder", - ObjectUUID: (string) (len=4) "9839", + ObjectUUID: (string) (len=5) "11150", FieldName: (string) (len=7) "orderId", - FieldUUID: (string) (len=4) "9860", + FieldUUID: (string) (len=5) "11171", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -452,9 +452,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "deleteOrder", - ObjectUUID: (string) (len=4) "9839", + ObjectUUID: (string) (len=5) "11150", FieldName: (string) (len=5) "email", - FieldUUID: (string) (len=4) "9901", + FieldUUID: (string) (len=5) "11212", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -481,9 +481,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "loginUser", - ObjectUUID: (string) (len=5) "10364", + ObjectUUID: (string) (len=5) "11675", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=5) "10385", + FieldUUID: (string) (len=5) "11696", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -510,9 +510,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "loginUser", - ObjectUUID: (string) (len=5) "10364", + ObjectUUID: (string) (len=5) "11675", FieldName: (string) (len=8) "password", - FieldUUID: (string) (len=5) "10419", + FieldUUID: (string) (len=5) "11730", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -539,9 +539,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=13) "getUserByName", - ObjectUUID: (string) (len=5) "10660", + ObjectUUID: (string) (len=5) "11971", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=5) "10681", + FieldUUID: (string) (len=5) "11992", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -568,9 +568,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "updateUser", - ObjectUUID: (string) (len=5) "10799", + ObjectUUID: (string) (len=5) "12110", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=5) "10820", + FieldUUID: (string) (len=5) "12131", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -597,9 +597,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "deleteUser", - ObjectUUID: (string) (len=5) "10954", + ObjectUUID: (string) (len=5) "12265", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=5) "10975", + FieldUUID: (string) (len=5) "12286", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -626,9 +626,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=5) "11124", + ObjectUUID: (string) (len=5) "12435", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=5) "11136", + FieldUUID: (string) (len=5) "12447", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -655,9 +655,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=5) "11124", + ObjectUUID: (string) (len=5) "12435", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=5) "11154", + FieldUUID: (string) (len=5) "12465", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -684,9 +684,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=5) "11124", + ObjectUUID: (string) (len=5) "12435", FieldName: (string) (len=8) "quantity", - FieldUUID: (string) (len=5) "11172", + FieldUUID: (string) (len=5) "12483", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -713,9 +713,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=5) "11124", + ObjectUUID: (string) (len=5) "12435", FieldName: (string) (len=8) "shipDate", - FieldUUID: (string) (len=5) "11190", + FieldUUID: (string) (len=5) "12501", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -742,9 +742,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=5) "11124", + ObjectUUID: (string) (len=5) "12435", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=5) "11208", + FieldUUID: (string) (len=5) "12519", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -771,9 +771,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=5) "11124", + ObjectUUID: (string) (len=5) "12435", FieldName: (string) (len=8) "complete", - FieldUUID: (string) (len=5) "11241", + FieldUUID: (string) (len=5) "12552", FieldType: (string) (len=7) "boolean", SimpleFieldType: (string) (len=7) "boolean", Classification: (interface {}) , @@ -800,9 +800,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=6) "Person", - ObjectUUID: (string) (len=5) "11278", + ObjectUUID: (string) (len=5) "12589", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=5) "11290", + FieldUUID: (string) (len=5) "12601", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -829,9 +829,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=5) "11308", + ObjectUUID: (string) (len=5) "12619", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=5) "11320", + FieldUUID: (string) (len=5) "12631", FieldType: (string) (len=6) "object", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -858,9 +858,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=2) "id", - ObjectUUID: (string) (len=5) "11320", + ObjectUUID: (string) (len=5) "12631", FieldName: (string) (len=3) "id1", - FieldUUID: (string) (len=5) "11332", + FieldUUID: (string) (len=5) "12643", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -887,9 +887,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=2) "id", - ObjectUUID: (string) (len=5) "11320", + ObjectUUID: (string) (len=5) "12631", FieldName: (string) (len=3) "id2", - FieldUUID: (string) (len=5) "11344", + FieldUUID: (string) (len=5) "12655", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -916,9 +916,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=5) "11308", + ObjectUUID: (string) (len=5) "12619", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=5) "11362", + FieldUUID: (string) (len=5) "12673", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -945,9 +945,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=5) "11308", + ObjectUUID: (string) (len=5) "12619", FieldName: (string) (len=9) "firstName", - FieldUUID: (string) (len=5) "11374", + FieldUUID: (string) (len=5) "12685", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -974,9 +974,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=5) "11308", + ObjectUUID: (string) (len=5) "12619", FieldName: (string) (len=8) "lastName", - FieldUUID: (string) (len=5) "11386", + FieldUUID: (string) (len=5) "12697", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1003,9 +1003,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=5) "11308", + ObjectUUID: (string) (len=5) "12619", FieldName: (string) (len=5) "email", - FieldUUID: (string) (len=5) "11398", + FieldUUID: (string) (len=5) "12709", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1032,9 +1032,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=5) "11308", + ObjectUUID: (string) (len=5) "12619", FieldName: (string) (len=8) "password", - FieldUUID: (string) (len=5) "11410", + FieldUUID: (string) (len=5) "12721", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1061,9 +1061,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=5) "11308", + ObjectUUID: (string) (len=5) "12619", FieldName: (string) (len=5) "phone", - FieldUUID: (string) (len=5) "11422", + FieldUUID: (string) (len=5) "12733", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1090,9 +1090,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=5) "11308", + ObjectUUID: (string) (len=5) "12619", FieldName: (string) (len=10) "userStatus", - FieldUUID: (string) (len=5) "11434", + FieldUUID: (string) (len=5) "12745", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1119,9 +1119,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Category", - ObjectUUID: (string) (len=5) "11476", + ObjectUUID: (string) (len=5) "12787", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=5) "11488", + FieldUUID: (string) (len=5) "12799", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1148,9 +1148,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Category", - ObjectUUID: (string) (len=5) "11476", + ObjectUUID: (string) (len=5) "12787", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=5) "11506", + FieldUUID: (string) (len=5) "12817", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1177,9 +1177,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Tag", - ObjectUUID: (string) (len=5) "11536", + ObjectUUID: (string) (len=5) "12847", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=5) "11548", + FieldUUID: (string) (len=5) "12859", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1206,9 +1206,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Tag", - ObjectUUID: (string) (len=5) "11536", + ObjectUUID: (string) (len=5) "12847", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=5) "11566", + FieldUUID: (string) (len=5) "12877", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1235,9 +1235,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=5) "11609", + ObjectUUID: (string) (len=5) "12920", FieldName: (string) (len=4) "code", - FieldUUID: (string) (len=5) "11621", + FieldUUID: (string) (len=5) "12932", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1264,9 +1264,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=5) "11609", + ObjectUUID: (string) (len=5) "12920", FieldName: (string) (len=4) "type", - FieldUUID: (string) (len=5) "11639", + FieldUUID: (string) (len=5) "12950", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1293,9 +1293,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=5) "11609", + ObjectUUID: (string) (len=5) "12920", FieldName: (string) (len=7) "message", - FieldUUID: (string) (len=5) "11651", + FieldUUID: (string) (len=5) "12962", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1322,9 +1322,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=5) "11609", + ObjectUUID: (string) (len=5) "12920", FieldName: (string) (len=4) "test", - FieldUUID: (string) (len=5) "11663", + FieldUUID: (string) (len=5) "12974", FieldType: (string) (len=6) "object", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -1351,9 +1351,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "test", - ObjectUUID: (string) (len=5) "11663", + ObjectUUID: (string) (len=5) "12974", FieldName: (string) (len=12) "testproperty", - FieldUUID: (string) (len=5) "11675", + FieldUUID: (string) (len=5) "12986", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , diff --git a/pkg/detectors/openapi/.snapshots/TestDetectorV3json b/pkg/detectors/openapi/.snapshots/TestDetectorV3json index b26a8ec44..5f4f4377c 100644 --- a/pkg/detectors/openapi/.snapshots/TestDetectorV3json +++ b/pkg/detectors/openapi/.snapshots/TestDetectorV3json @@ -17,9 +17,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=16) "findPetsByStatus", - ObjectUUID: (string) (len=3) "339", + ObjectUUID: (string) (len=3) "510", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=3) "343", + FieldUUID: (string) (len=3) "517", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -46,9 +46,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=14) "findPetsByTags", - ObjectUUID: (string) (len=3) "449", + ObjectUUID: (string) (len=3) "674", FieldName: (string) (len=4) "tags", - FieldUUID: (string) (len=3) "453", + FieldUUID: (string) (len=3) "681", FieldType: (string) (len=5) "array", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -75,9 +75,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "getPetById", - ObjectUUID: (string) (len=3) "556", + ObjectUUID: (string) (len=3) "832", FieldName: (string) (len=6) "petId1", - FieldUUID: (string) (len=3) "560", + FieldUUID: (string) (len=3) "839", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -104,9 +104,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "getPetById", - ObjectUUID: (string) (len=3) "556", + ObjectUUID: (string) (len=3) "832", FieldName: (string) (len=6) "petId2", - FieldUUID: (string) (len=3) "582", + FieldUUID: (string) (len=3) "873", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -133,9 +133,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=3) "674", + ObjectUUID: (string) (len=4) "1007", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=3) "678", + FieldUUID: (string) (len=4) "1014", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -162,9 +162,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=3) "674", + ObjectUUID: (string) (len=4) "1007", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=3) "700", + FieldUUID: (string) (len=4) "1048", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -191,9 +191,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=3) "674", + ObjectUUID: (string) (len=4) "1007", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=3) "716", + FieldUUID: (string) (len=4) "1073", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -220,9 +220,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "deletePet", - ObjectUUID: (string) (len=3) "765", + ObjectUUID: (string) (len=4) "1145", FieldName: (string) (len=7) "api_key", - FieldUUID: (string) (len=3) "769", + FieldUUID: (string) (len=4) "1152", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -249,9 +249,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "deletePet", - ObjectUUID: (string) (len=3) "765", + ObjectUUID: (string) (len=4) "1145", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=3) "788", + FieldUUID: (string) (len=4) "1180", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -278,9 +278,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "uploadFile", - ObjectUUID: (string) (len=3) "846", + ObjectUUID: (string) (len=4) "1265", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=3) "850", + FieldUUID: (string) (len=4) "1272", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -307,9 +307,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "uploadFile", - ObjectUUID: (string) (len=3) "846", + ObjectUUID: (string) (len=4) "1265", FieldName: (string) (len=18) "additionalMetadata", - FieldUUID: (string) (len=3) "872", + FieldUUID: (string) (len=4) "1306", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -336,9 +336,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=12) "getOrderById", - ObjectUUID: (string) (len=4) "1092", + ObjectUUID: (string) (len=4) "1627", FieldName: (string) (len=7) "orderId", - FieldUUID: (string) (len=4) "1096", + FieldUUID: (string) (len=4) "1634", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -365,9 +365,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "deleteOrder", - ObjectUUID: (string) (len=4) "1175", + ObjectUUID: (string) (len=4) "1751", FieldName: (string) (len=7) "orderId", - FieldUUID: (string) (len=4) "1179", + FieldUUID: (string) (len=4) "1758", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -394,9 +394,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "loginUser", - ObjectUUID: (string) (len=4) "1395", + ObjectUUID: (string) (len=4) "2074", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "1399", + FieldUUID: (string) (len=4) "2081", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -423,9 +423,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "loginUser", - ObjectUUID: (string) (len=4) "1395", + ObjectUUID: (string) (len=4) "2074", FieldName: (string) (len=8) "password", - FieldUUID: (string) (len=4) "1418", + FieldUUID: (string) (len=4) "2110", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -452,9 +452,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=13) "getUserByName", - ObjectUUID: (string) (len=4) "1555", + ObjectUUID: (string) (len=4) "2311", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "1559", + FieldUUID: (string) (len=4) "2318", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -481,9 +481,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "updateUser", - ObjectUUID: (string) (len=4) "1635", + ObjectUUID: (string) (len=4) "2430", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "1639", + FieldUUID: (string) (len=4) "2437", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -510,9 +510,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "deleteUser", - ObjectUUID: (string) (len=4) "1718", + ObjectUUID: (string) (len=4) "2553", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "1722", + FieldUUID: (string) (len=4) "2560", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -539,9 +539,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "1765", + ObjectUUID: (string) (len=4) "2621", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "1770", + FieldUUID: (string) (len=4) "2630", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -568,9 +568,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "1765", + ObjectUUID: (string) (len=4) "2621", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "1782", + FieldUUID: (string) (len=4) "2648", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -597,9 +597,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "1765", + ObjectUUID: (string) (len=4) "2621", FieldName: (string) (len=8) "quantity", - FieldUUID: (string) (len=4) "1794", + FieldUUID: (string) (len=4) "2666", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -626,9 +626,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "1765", + ObjectUUID: (string) (len=4) "2621", FieldName: (string) (len=8) "shipDate", - FieldUUID: (string) (len=4) "1806", + FieldUUID: (string) (len=4) "2684", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -655,9 +655,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "1765", + ObjectUUID: (string) (len=4) "2621", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=4) "1815", + FieldUUID: (string) (len=4) "2698", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -684,9 +684,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "1765", + ObjectUUID: (string) (len=4) "2621", FieldName: (string) (len=8) "complete", - FieldUUID: (string) (len=4) "1833", + FieldUUID: (string) (len=4) "2727", FieldType: (string) (len=7) "boolean", SimpleFieldType: (string) (len=7) "boolean", Classification: (interface {}) , @@ -713,9 +713,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Customer", - ObjectUUID: (string) (len=4) "1849", + ObjectUUID: (string) (len=4) "2749", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "1854", + FieldUUID: (string) (len=4) "2758", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -742,9 +742,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Customer", - ObjectUUID: (string) (len=4) "1849", + ObjectUUID: (string) (len=4) "2749", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "1866", + FieldUUID: (string) (len=4) "2776", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -771,9 +771,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Customer", - ObjectUUID: (string) (len=4) "1849", + ObjectUUID: (string) (len=4) "2749", FieldName: (string) (len=7) "address", - FieldUUID: (string) (len=4) "1875", + FieldUUID: (string) (len=4) "2790", FieldType: (string) (len=5) "array", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -800,9 +800,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=7) "Address", - ObjectUUID: (string) (len=4) "1906", + ObjectUUID: (string) (len=4) "2834", FieldName: (string) (len=6) "street", - FieldUUID: (string) (len=4) "1911", + FieldUUID: (string) (len=4) "2843", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -829,9 +829,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=7) "Address", - ObjectUUID: (string) (len=4) "1906", + ObjectUUID: (string) (len=4) "2834", FieldName: (string) (len=4) "city", - FieldUUID: (string) (len=4) "1920", + FieldUUID: (string) (len=4) "2857", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -858,9 +858,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=7) "Address", - ObjectUUID: (string) (len=4) "1906", + ObjectUUID: (string) (len=4) "2834", FieldName: (string) (len=5) "state", - FieldUUID: (string) (len=4) "1929", + FieldUUID: (string) (len=4) "2871", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -887,9 +887,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=7) "Address", - ObjectUUID: (string) (len=4) "1906", + ObjectUUID: (string) (len=4) "2834", FieldName: (string) (len=3) "zip", - FieldUUID: (string) (len=4) "1938", + FieldUUID: (string) (len=4) "2885", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -916,9 +916,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Category", - ObjectUUID: (string) (len=4) "1957", + ObjectUUID: (string) (len=4) "2912", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "1962", + FieldUUID: (string) (len=4) "2921", FieldType: (string) (len=6) "object", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -945,9 +945,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=2) "id", - ObjectUUID: (string) (len=4) "1962", + ObjectUUID: (string) (len=4) "2921", FieldName: (string) (len=8) "childId1", - FieldUUID: (string) (len=4) "1967", + FieldUUID: (string) (len=4) "2930", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -974,9 +974,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=2) "id", - ObjectUUID: (string) (len=4) "1962", + ObjectUUID: (string) (len=4) "2921", FieldName: (string) (len=8) "childId2", - FieldUUID: (string) (len=4) "1976", + FieldUUID: (string) (len=4) "2944", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1003,9 +1003,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Category", - ObjectUUID: (string) (len=4) "1957", + ObjectUUID: (string) (len=4) "2912", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=4) "1989", + FieldUUID: (string) (len=4) "2962", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1032,9 +1032,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "2008", + ObjectUUID: (string) (len=4) "2989", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "2013", + FieldUUID: (string) (len=4) "2998", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1061,9 +1061,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "2008", + ObjectUUID: (string) (len=4) "2989", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "2025", + FieldUUID: (string) (len=4) "3016", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1090,9 +1090,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "2008", + ObjectUUID: (string) (len=4) "2989", FieldName: (string) (len=9) "firstName", - FieldUUID: (string) (len=4) "2034", + FieldUUID: (string) (len=4) "3030", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1119,9 +1119,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "2008", + ObjectUUID: (string) (len=4) "2989", FieldName: (string) (len=8) "lastName", - FieldUUID: (string) (len=4) "2043", + FieldUUID: (string) (len=4) "3044", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1148,9 +1148,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "2008", + ObjectUUID: (string) (len=4) "2989", FieldName: (string) (len=5) "email", - FieldUUID: (string) (len=4) "2052", + FieldUUID: (string) (len=4) "3058", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1177,9 +1177,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "2008", + ObjectUUID: (string) (len=4) "2989", FieldName: (string) (len=8) "password", - FieldUUID: (string) (len=4) "2061", + FieldUUID: (string) (len=4) "3072", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1206,9 +1206,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "2008", + ObjectUUID: (string) (len=4) "2989", FieldName: (string) (len=5) "phone", - FieldUUID: (string) (len=4) "2070", + FieldUUID: (string) (len=4) "3086", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1235,9 +1235,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "2008", + ObjectUUID: (string) (len=4) "2989", FieldName: (string) (len=10) "userStatus", - FieldUUID: (string) (len=4) "2079", + FieldUUID: (string) (len=4) "3100", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1264,9 +1264,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Tag", - ObjectUUID: (string) (len=4) "2104", + ObjectUUID: (string) (len=4) "3136", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "2109", + FieldUUID: (string) (len=4) "3145", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1293,9 +1293,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Tag", - ObjectUUID: (string) (len=4) "2104", + ObjectUUID: (string) (len=4) "3136", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=4) "2118", + FieldUUID: (string) (len=4) "3159", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1322,9 +1322,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Pet", - ObjectUUID: (string) (len=4) "2134", + ObjectUUID: (string) (len=4) "3181", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "2144", + FieldUUID: (string) (len=4) "3198", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1351,9 +1351,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Pet", - ObjectUUID: (string) (len=4) "2134", + ObjectUUID: (string) (len=4) "3181", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=4) "2156", + FieldUUID: (string) (len=4) "3216", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1380,9 +1380,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Pet", - ObjectUUID: (string) (len=4) "2134", + ObjectUUID: (string) (len=4) "3181", FieldName: (string) (len=8) "category", - FieldUUID: (string) (len=4) "2165", + FieldUUID: (string) (len=4) "3230", FieldType: (string) "", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -1409,9 +1409,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Pet", - ObjectUUID: (string) (len=4) "2134", + ObjectUUID: (string) (len=4) "3181", FieldName: (string) (len=9) "photoUrls", - FieldUUID: (string) (len=4) "2171", + FieldUUID: (string) (len=4) "3239", FieldType: (string) (len=5) "array", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -1438,9 +1438,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Pet", - ObjectUUID: (string) (len=4) "2134", + ObjectUUID: (string) (len=4) "3181", FieldName: (string) (len=4) "tags", - FieldUUID: (string) (len=4) "2195", + FieldUUID: (string) (len=4) "3274", FieldType: (string) (len=5) "array", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -1467,9 +1467,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Pet", - ObjectUUID: (string) (len=4) "2134", + ObjectUUID: (string) (len=4) "3181", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=4) "2213", + FieldUUID: (string) (len=4) "3300", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1496,9 +1496,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=4) "2238", + ObjectUUID: (string) (len=4) "3337", FieldName: (string) (len=4) "code", - FieldUUID: (string) (len=4) "2243", + FieldUUID: (string) (len=4) "3346", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1525,9 +1525,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=4) "2238", + ObjectUUID: (string) (len=4) "3337", FieldName: (string) (len=4) "type", - FieldUUID: (string) (len=4) "2252", + FieldUUID: (string) (len=4) "3360", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1554,9 +1554,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=4) "2238", + ObjectUUID: (string) (len=4) "3337", FieldName: (string) (len=7) "message", - FieldUUID: (string) (len=4) "2258", + FieldUUID: (string) (len=4) "3369", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , diff --git a/pkg/detectors/openapi/.snapshots/TestDetectorV3yaml b/pkg/detectors/openapi/.snapshots/TestDetectorV3yaml index afe7e7f18..ed337d5a0 100644 --- a/pkg/detectors/openapi/.snapshots/TestDetectorV3yaml +++ b/pkg/detectors/openapi/.snapshots/TestDetectorV3yaml @@ -17,9 +17,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=16) "findPetsByStatus", - ObjectUUID: (string) (len=4) "3156", + ObjectUUID: (string) (len=4) "4316", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=4) "3165", + FieldUUID: (string) (len=4) "4325", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -46,9 +46,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=14) "findPetsByTags", - ObjectUUID: (string) (len=4) "3398", + ObjectUUID: (string) (len=4) "4558", FieldName: (string) (len=4) "tags", - FieldUUID: (string) (len=4) "3408", + FieldUUID: (string) (len=4) "4568", FieldType: (string) (len=5) "array", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -75,9 +75,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "getPetById", - ObjectUUID: (string) (len=4) "3629", + ObjectUUID: (string) (len=4) "4789", FieldName: (string) (len=6) "petId1", - FieldUUID: (string) (len=4) "3639", + FieldUUID: (string) (len=4) "4799", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -104,9 +104,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "getPetById", - ObjectUUID: (string) (len=4) "3629", + ObjectUUID: (string) (len=4) "4789", FieldName: (string) (len=6) "petId2", - FieldUUID: (string) (len=4) "3690", + FieldUUID: (string) (len=4) "4850", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -133,9 +133,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=4) "3887", + ObjectUUID: (string) (len=4) "5047", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "3897", + FieldUUID: (string) (len=4) "5057", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -162,9 +162,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=4) "3887", + ObjectUUID: (string) (len=4) "5047", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=4) "3948", + FieldUUID: (string) (len=4) "5108", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -191,9 +191,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=17) "updatePetWithForm", - ObjectUUID: (string) (len=4) "3887", + ObjectUUID: (string) (len=4) "5047", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=4) "3985", + FieldUUID: (string) (len=4) "5145", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -220,9 +220,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "deletePet", - ObjectUUID: (string) (len=4) "4093", + ObjectUUID: (string) (len=4) "5253", FieldName: (string) (len=7) "api_key", - FieldUUID: (string) (len=4) "4103", + FieldUUID: (string) (len=4) "5263", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -249,9 +249,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "deletePet", - ObjectUUID: (string) (len=4) "4093", + ObjectUUID: (string) (len=4) "5253", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "4146", + FieldUUID: (string) (len=4) "5306", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -278,9 +278,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "uploadFile", - ObjectUUID: (string) (len=4) "4273", + ObjectUUID: (string) (len=4) "5433", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "4283", + FieldUUID: (string) (len=4) "5443", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -307,9 +307,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "uploadFile", - ObjectUUID: (string) (len=4) "4273", + ObjectUUID: (string) (len=4) "5433", FieldName: (string) (len=18) "additionalMetadata", - FieldUUID: (string) (len=4) "4334", + FieldUUID: (string) (len=4) "5494", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -336,9 +336,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=12) "getOrderById", - ObjectUUID: (string) (len=4) "4821", + ObjectUUID: (string) (len=4) "5981", FieldName: (string) (len=7) "orderId", - FieldUUID: (string) (len=4) "4831", + FieldUUID: (string) (len=4) "5991", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -365,9 +365,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "deleteOrder", - ObjectUUID: (string) (len=4) "5005", + ObjectUUID: (string) (len=4) "6165", FieldName: (string) (len=7) "orderId", - FieldUUID: (string) (len=4) "5015", + FieldUUID: (string) (len=4) "6175", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -394,9 +394,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "loginUser", - ObjectUUID: (string) (len=4) "5476", + ObjectUUID: (string) (len=4) "6636", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "5486", + FieldUUID: (string) (len=4) "6646", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -423,9 +423,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=9) "loginUser", - ObjectUUID: (string) (len=4) "5476", + ObjectUUID: (string) (len=4) "6636", FieldName: (string) (len=8) "password", - FieldUUID: (string) (len=4) "5530", + FieldUUID: (string) (len=4) "6690", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -452,9 +452,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=13) "getUserByName", - ObjectUUID: (string) (len=4) "5824", + ObjectUUID: (string) (len=4) "6984", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "5834", + FieldUUID: (string) (len=4) "6994", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -481,9 +481,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "updateUser", - ObjectUUID: (string) (len=4) "6001", + ObjectUUID: (string) (len=4) "7161", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "6011", + FieldUUID: (string) (len=4) "7171", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -510,9 +510,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=10) "deleteUser", - ObjectUUID: (string) (len=4) "6180", + ObjectUUID: (string) (len=4) "7340", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "6190", + FieldUUID: (string) (len=4) "7350", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -539,9 +539,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "6310", + ObjectUUID: (string) (len=4) "7470", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "6323", + FieldUUID: (string) (len=4) "7483", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -568,9 +568,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "6310", + ObjectUUID: (string) (len=4) "7470", FieldName: (string) (len=5) "petId", - FieldUUID: (string) (len=4) "6350", + FieldUUID: (string) (len=4) "7510", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -597,9 +597,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "6310", + ObjectUUID: (string) (len=4) "7470", FieldName: (string) (len=8) "quantity", - FieldUUID: (string) (len=4) "6377", + FieldUUID: (string) (len=4) "7537", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -626,9 +626,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "6310", + ObjectUUID: (string) (len=4) "7470", FieldName: (string) (len=8) "shipDate", - FieldUUID: (string) (len=4) "6404", + FieldUUID: (string) (len=4) "7564", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -655,9 +655,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "6310", + ObjectUUID: (string) (len=4) "7470", FieldName: (string) (len=6) "status", - FieldUUID: (string) (len=4) "6424", + FieldUUID: (string) (len=4) "7584", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -684,9 +684,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=5) "Order", - ObjectUUID: (string) (len=4) "6310", + ObjectUUID: (string) (len=4) "7470", FieldName: (string) (len=8) "complete", - FieldUUID: (string) (len=4) "6469", + FieldUUID: (string) (len=4) "7629", FieldType: (string) (len=7) "boolean", SimpleFieldType: (string) (len=7) "boolean", Classification: (interface {}) , @@ -713,9 +713,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Customer", - ObjectUUID: (string) (len=4) "6508", + ObjectUUID: (string) (len=4) "7668", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "6514", + FieldUUID: (string) (len=4) "7674", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -742,9 +742,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Customer", - ObjectUUID: (string) (len=4) "6508", + ObjectUUID: (string) (len=4) "7668", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "6541", + FieldUUID: (string) (len=4) "7701", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -771,9 +771,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Customer", - ObjectUUID: (string) (len=4) "6508", + ObjectUUID: (string) (len=4) "7668", FieldName: (string) (len=7) "address", - FieldUUID: (string) (len=4) "6561", + FieldUUID: (string) (len=4) "7721", FieldType: (string) (len=5) "array", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -800,9 +800,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=7) "Address", - ObjectUUID: (string) (len=4) "6632", + ObjectUUID: (string) (len=4) "7792", FieldName: (string) (len=6) "street", - FieldUUID: (string) (len=4) "6638", + FieldUUID: (string) (len=4) "7798", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -829,9 +829,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=7) "Address", - ObjectUUID: (string) (len=4) "6632", + ObjectUUID: (string) (len=4) "7792", FieldName: (string) (len=4) "city", - FieldUUID: (string) (len=4) "6658", + FieldUUID: (string) (len=4) "7818", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -858,9 +858,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=7) "Address", - ObjectUUID: (string) (len=4) "6632", + ObjectUUID: (string) (len=4) "7792", FieldName: (string) (len=5) "state", - FieldUUID: (string) (len=4) "6678", + FieldUUID: (string) (len=4) "7838", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -887,9 +887,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=7) "Address", - ObjectUUID: (string) (len=4) "6632", + ObjectUUID: (string) (len=4) "7792", FieldName: (string) (len=3) "zip", - FieldUUID: (string) (len=4) "6698", + FieldUUID: (string) (len=4) "7858", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -916,9 +916,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Category", - ObjectUUID: (string) (len=4) "6744", + ObjectUUID: (string) (len=4) "7904", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "6757", + FieldUUID: (string) (len=4) "7917", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -945,9 +945,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=8) "Category", - ObjectUUID: (string) (len=4) "6744", + ObjectUUID: (string) (len=4) "7904", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=4) "6784", + FieldUUID: (string) (len=4) "7944", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -974,9 +974,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "6830", + ObjectUUID: (string) (len=4) "7990", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "6843", + FieldUUID: (string) (len=4) "8003", FieldType: (string) (len=6) "object", SimpleFieldType: (string) (len=6) "object", Classification: (interface {}) , @@ -1003,9 +1003,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=2) "id", - ObjectUUID: (string) (len=4) "6843", + ObjectUUID: (string) (len=4) "8003", FieldName: (string) (len=3) "id1", - FieldUUID: (string) (len=4) "6856", + FieldUUID: (string) (len=4) "8016", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1032,9 +1032,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=2) "id", - ObjectUUID: (string) (len=4) "6843", + ObjectUUID: (string) (len=4) "8003", FieldName: (string) (len=3) "id2", - FieldUUID: (string) (len=4) "6876", + FieldUUID: (string) (len=4) "8036", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1061,9 +1061,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "6830", + ObjectUUID: (string) (len=4) "7990", FieldName: (string) (len=8) "username", - FieldUUID: (string) (len=4) "6902", + FieldUUID: (string) (len=4) "8062", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1090,9 +1090,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "6830", + ObjectUUID: (string) (len=4) "7990", FieldName: (string) (len=9) "firstName", - FieldUUID: (string) (len=4) "6922", + FieldUUID: (string) (len=4) "8082", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1119,9 +1119,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "6830", + ObjectUUID: (string) (len=4) "7990", FieldName: (string) (len=8) "lastName", - FieldUUID: (string) (len=4) "6942", + FieldUUID: (string) (len=4) "8102", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1148,9 +1148,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "6830", + ObjectUUID: (string) (len=4) "7990", FieldName: (string) (len=5) "email", - FieldUUID: (string) (len=4) "6962", + FieldUUID: (string) (len=4) "8122", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1177,9 +1177,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "6830", + ObjectUUID: (string) (len=4) "7990", FieldName: (string) (len=8) "password", - FieldUUID: (string) (len=4) "6982", + FieldUUID: (string) (len=4) "8142", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1206,9 +1206,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "6830", + ObjectUUID: (string) (len=4) "7990", FieldName: (string) (len=5) "phone", - FieldUUID: (string) (len=4) "7002", + FieldUUID: (string) (len=4) "8162", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1235,9 +1235,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=4) "User", - ObjectUUID: (string) (len=4) "6830", + ObjectUUID: (string) (len=4) "7990", FieldName: (string) (len=10) "userStatus", - FieldUUID: (string) (len=4) "7022", + FieldUUID: (string) (len=4) "8182", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1264,9 +1264,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Tag", - ObjectUUID: (string) (len=4) "7082", + ObjectUUID: (string) (len=4) "8242", FieldName: (string) (len=2) "id", - FieldUUID: (string) (len=4) "7095", + FieldUUID: (string) (len=4) "8255", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1293,9 +1293,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=3) "Tag", - ObjectUUID: (string) (len=4) "7082", + ObjectUUID: (string) (len=4) "8242", FieldName: (string) (len=4) "name", - FieldUUID: (string) (len=4) "7115", + FieldUUID: (string) (len=4) "8275", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1322,9 +1322,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=4) "7154", + ObjectUUID: (string) (len=4) "8314", FieldName: (string) (len=4) "code", - FieldUUID: (string) (len=4) "7160", + FieldUUID: (string) (len=4) "8320", FieldType: (string) (len=7) "integer", SimpleFieldType: (string) (len=6) "number", Classification: (interface {}) , @@ -1351,9 +1351,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=4) "7154", + ObjectUUID: (string) (len=4) "8314", FieldName: (string) (len=4) "type", - FieldUUID: (string) (len=4) "7180", + FieldUUID: (string) (len=4) "8340", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , @@ -1380,9 +1380,9 @@ }, Value: (schema.Schema) { ObjectName: (string) (len=11) "ApiResponse", - ObjectUUID: (string) (len=4) "7154", + ObjectUUID: (string) (len=4) "8314", FieldName: (string) (len=7) "message", - FieldUUID: (string) (len=4) "7193", + FieldUUID: (string) (len=4) "8353", FieldType: (string) (len=6) "string", SimpleFieldType: (string) (len=6) "string", Classification: (interface {}) , diff --git a/pkg/detectors/python/.snapshots/TestDetectorReportInterfaceProjects b/pkg/detectors/python/.snapshots/TestDetectorReportInterfaceProjects index c762ffb65..cd11eef95 100644 --- a/pkg/detectors/python/.snapshots/TestDetectorReportInterfaceProjects +++ b/pkg/detectors/python/.snapshots/TestDetectorReportInterfaceProjects @@ -1,4 +1,4 @@ -([]*detections.Detection) (len=15) { +([]*detections.Detection) (len=16) { (*detections.Detection)({ Type: (detections.DetectionType) (len=6) "schema", DetectorType: (detectors.Type) (len=6) "python", @@ -453,5 +453,34 @@ }), VariableName: (string) "" } + }), + (*detections.Detection)({ + Type: (detections.DetectionType) (len=9) "interface", + DetectorType: (detectors.Type) (len=6) "python", + DetectorLanguage: (detectors.Language) "", + CommitSHA: (string) "", + Source: (source.Source) { + Filename: (string) (len=7) "urls.py", + FullFilename: (string) "", + Language: (string) (len=6) "Python", + LanguageType: (string) (len=11) "programming", + StartLineNumber: (*int)(36), + StartColumnNumber: (*int)(5), + EndLineNumber: (*int)(37), + EndColumnNumber: (*int)(18), + Text: (*string)((len=26) "\"part1.\"\n \"example.com\"") + }, + Value: (interfaces.Interface) { + Type: (interfaces.Type) (len=3) "url", + Value: (*values.Value)({ + Parts: ([]values.Part) (len=1) { + (*values.String)({ + Type: (values.PartType) (len=6) "string", + Value: (string) (len=17) "part1.example.com" + }) + } + }), + VariableName: (string) "" + } }) } diff --git a/pkg/detectors/python/python.go b/pkg/detectors/python/python.go index 4608872d7..666064da7 100644 --- a/pkg/detectors/python/python.go +++ b/pkg/detectors/python/python.go @@ -114,6 +114,11 @@ func annotate(tree *parser.Tree) error { return tree.Annotate(func(node *parser.Node, value *values.Value) { switch node.Type() { + case "string_start", "string_end": + return + case "string_content": + value.AppendString(node.Content()) + return case "binary_operator": if node.FirstUnnamedChild().Content() == "+" { value.Append(node.ChildByFieldName("left").Value()) @@ -121,22 +126,12 @@ func annotate(tree *parser.Tree) error { return } - case "string": - node.EachPart(func(text string) error { //nolint:all,errcheck - value.AppendString(text) - - return nil - }, func(child *parser.Node) error { - value.Append(child.Value()) - - return nil - }) - - return - case "concatenated_string": + case "string", "concatenated_string": for i := 0; i < node.ChildCount(); i++ { value.Append(node.Child(i).Value()) } + + return case "interpolation": value.Append(node.FirstChild().Value()) @@ -239,7 +234,7 @@ func getEnvironImports(imports []pyImport) []string { func acceptExpression(node *parser.Node) bool { if node.Type() == "string" { - quotes := node.FirstUnnamedChild().Content() + quotes := node.FirstChild().Content() if quotes == `'''` || quotes == `"""` { return false } diff --git a/pkg/detectors/rails/schema_rb/schema_rb.go b/pkg/detectors/rails/schema_rb/schema_rb.go index 06e18f0b8..5191c9024 100644 --- a/pkg/detectors/rails/schema_rb/schema_rb.go +++ b/pkg/detectors/rails/schema_rb/schema_rb.go @@ -24,11 +24,13 @@ var ( arguments: (argument_list . (string) @table_name) block: (do_block parameters: (block_parameters (identifier) @block_param) - (call - receiver: (_) @receiver - method: (_) @type - arguments: (argument_list . (string) @column_name)) - (#eq @receiver @block_param)) + body: (body_statement + (call + receiver: (_) @receiver + method: (_) @type + arguments: (argument_list . (string) @column_name)) + (#eq @receiver @block_param)) + ) (#eq @table_method "create_table")) @rule `) ) diff --git a/pkg/detectors/ruby/datatype/class_assignment.go b/pkg/detectors/ruby/datatype/class_assignment.go index 9223bdbf7..14435377a 100644 --- a/pkg/detectors/ruby/datatype/class_assignment.go +++ b/pkg/detectors/ruby/datatype/class_assignment.go @@ -3,10 +3,11 @@ package datatype import ( "strings" + "github.com/smacker/go-tree-sitter/ruby" + "github.com/bearer/bearer/pkg/parser" "github.com/bearer/bearer/pkg/report/schema" schemadatatype "github.com/bearer/bearer/pkg/report/schema/datatype" - "github.com/smacker/go-tree-sitter/ruby" ) var classAssignmentQuery = parser.QueryMustCompile(ruby.GetLanguage(), @@ -22,17 +23,21 @@ var classAssignmentQuery = parser.QueryMustCompile(ruby.GetLanguage(), var classAssignmentPropertiesQuery = parser.QueryMustCompile(ruby.GetLanguage(), `(do_block - ( call - arguments: (argument_list - (simple_symbol) @param_id + body: (body_statement + (call + arguments: (argument_list + (simple_symbol) @param_id + ) ) ) ) @param_class`) var classAssignmentFunctionsQuery = parser.QueryMustCompile(ruby.GetLanguage(), `(do_block - ( method - name: (identifier) @param_id + body: (body_statement + (method + name: (identifier) @param_id + ) ) ) @param_class`) diff --git a/pkg/detectors/ruby/datatype/datatype.go b/pkg/detectors/ruby/datatype/datatype.go index 004be79a3..e1df67d71 100644 --- a/pkg/detectors/ruby/datatype/datatype.go +++ b/pkg/detectors/ruby/datatype/datatype.go @@ -3,12 +3,13 @@ package datatype import ( "strings" + "github.com/smacker/go-tree-sitter/ruby" + "github.com/bearer/bearer/pkg/parser" "github.com/bearer/bearer/pkg/parser/datatype" "github.com/bearer/bearer/pkg/parser/nodeid" "github.com/bearer/bearer/pkg/report/schema" schemadatatype "github.com/bearer/bearer/pkg/report/schema/datatype" - "github.com/smacker/go-tree-sitter/ruby" ) var classesQuery = parser.QueryMustCompile(ruby.GetLanguage(), @@ -18,17 +19,19 @@ var classesQuery = parser.QueryMustCompile(ruby.GetLanguage(), var classPropertiesQuery = parser.QueryMustCompile(ruby.GetLanguage(), `(class - ( call - arguments: (argument_list - (simple_symbol) @param_id + body: (body_statement + (call + arguments: (argument_list + (simple_symbol) @param_id + ) ) ) ) @param_class`) var classFunctionsQuery = parser.QueryMustCompile(ruby.GetLanguage(), `(class - ( method - name: (identifier) @param_id + body: (body_statement + (method name: (identifier) @param_id) ) ) @param_class`) diff --git a/pkg/detectors/tsx/.snapshots/TestDetectorReportGeneral b/pkg/detectors/tsx/.snapshots/TestDetectorReportGeneral index 3dc9d36cc..0c9602b7b 100644 --- a/pkg/detectors/tsx/.snapshots/TestDetectorReportGeneral +++ b/pkg/detectors/tsx/.snapshots/TestDetectorReportGeneral @@ -193,10 +193,10 @@ Value: (interfaces.Interface) { Type: (interfaces.Type) (len=3) "url", Value: (*values.Value)({ - Parts: ([]values.Part) (len=5) { - (*values.Unknown)({ - Type: (values.PartType) (len=7) "unknown", - Parts: ([]values.Part) + Parts: ([]values.Part) (len=4) { + (*values.String)({ + Type: (values.PartType) (len=6) "string", + Value: (string) (len=7) "http://" }), (*values.VariableReference)({ Type: (values.PartType) (len=18) "variable_reference", @@ -205,13 +205,9 @@ Name: (string) (len=13) "CUSTOMER_HOST" } }), - (*values.Unknown)({ - Type: (values.PartType) (len=7) "unknown", - Parts: ([]values.Part) - }), - (*values.Unknown)({ - Type: (values.PartType) (len=7) "unknown", - Parts: ([]values.Part) + (*values.String)({ + Type: (values.PartType) (len=6) "string", + Value: (string) (len=6) "/path/" }), (*values.VariableReference)({ Type: (values.PartType) (len=18) "variable_reference", diff --git a/pkg/detectors/tsx/tsx.go b/pkg/detectors/tsx/tsx.go index 668af4521..2c0b61bbd 100644 --- a/pkg/detectors/tsx/tsx.go +++ b/pkg/detectors/tsx/tsx.go @@ -86,6 +86,9 @@ func annotate(tree *parser.Tree, environmentVariablesQuery *sitter.Query) error return tree.Annotate(func(node *parser.Node, value *values.Value) { switch node.Type() { + case "string_fragment": + value.AppendString(node.Content()) + return case "template_substitution": value.Append(node.FirstChild().Value()) @@ -103,15 +106,9 @@ func annotate(tree *parser.Tree, environmentVariablesQuery *sitter.Query) error return case "string", "template_string": - node.EachPart(func(text string) error { //nolint:all,errcheck - value.AppendString(text) - - return nil - }, func(child *parser.Node) error { - value.Append(child.Value()) - - return nil - }) + for i := 0; i < node.ChildCount(); i++ { + value.Append(node.Child(i).Value()) + } return } diff --git a/pkg/detectors/typescript/.snapshots/TestDetectorReportGeneral b/pkg/detectors/typescript/.snapshots/TestDetectorReportGeneral index 868fc8d0d..948d65537 100644 --- a/pkg/detectors/typescript/.snapshots/TestDetectorReportGeneral +++ b/pkg/detectors/typescript/.snapshots/TestDetectorReportGeneral @@ -193,10 +193,10 @@ Value: (interfaces.Interface) { Type: (interfaces.Type) (len=3) "url", Value: (*values.Value)({ - Parts: ([]values.Part) (len=5) { - (*values.Unknown)({ - Type: (values.PartType) (len=7) "unknown", - Parts: ([]values.Part) + Parts: ([]values.Part) (len=4) { + (*values.String)({ + Type: (values.PartType) (len=6) "string", + Value: (string) (len=7) "http://" }), (*values.VariableReference)({ Type: (values.PartType) (len=18) "variable_reference", @@ -205,13 +205,9 @@ Name: (string) (len=13) "CUSTOMER_HOST" } }), - (*values.Unknown)({ - Type: (values.PartType) (len=7) "unknown", - Parts: ([]values.Part) - }), - (*values.Unknown)({ - Type: (values.PartType) (len=7) "unknown", - Parts: ([]values.Part) + (*values.String)({ + Type: (values.PartType) (len=6) "string", + Value: (string) (len=6) "/path/" }), (*values.VariableReference)({ Type: (values.PartType) (len=18) "variable_reference", diff --git a/pkg/detectors/typescript/datatype/knex/table.go b/pkg/detectors/typescript/datatype/knex/table.go index fab7ef45e..6e592c39b 100644 --- a/pkg/detectors/typescript/datatype/knex/table.go +++ b/pkg/detectors/typescript/datatype/knex/table.go @@ -18,7 +18,7 @@ const knexTablesModule = "knex/types/tables" var queryTable = `(interface_declaration name: (type_identifier) @helper_Tables - body: (object_type) @param_table_body + body: (interface_body) @param_table_body )` func detectTableDeclarationModule(report report.Report, tree *parser.Tree, language *sitter.Language) { diff --git a/pkg/detectors/typescript/typescript.go b/pkg/detectors/typescript/typescript.go index ddca9350d..cb10d2341 100644 --- a/pkg/detectors/typescript/typescript.go +++ b/pkg/detectors/typescript/typescript.go @@ -86,6 +86,9 @@ func annotate(tree *parser.Tree, environmentVariablesQuery *sitter.Query) error return tree.Annotate(func(node *parser.Node, value *values.Value) { switch node.Type() { + case "string_fragment": + value.AppendString(node.Content()) + return case "template_substitution": value.Append(node.FirstChild().Value()) @@ -103,15 +106,9 @@ func annotate(tree *parser.Tree, environmentVariablesQuery *sitter.Query) error return case "string", "template_string": - node.EachPart(func(text string) error { //nolint:all,errcheck - value.AppendString(text) - - return nil - }, func(child *parser.Node) error { - value.Append(child.Value()) - - return nil - }) + for i := 0; i < node.ChildCount(); i++ { + value.Append(node.Child(i).Value()) + } return } diff --git a/pkg/languages/golang/detectors/.snapshots/TestGoObjects-object_class b/pkg/languages/golang/detectors/.snapshots/TestGoObjects-object_class index bdaebcc7b..a12664f8c 100644 --- a/pkg/languages/golang/detectors/.snapshots/TestGoObjects-object_class +++ b/pkg/languages/golang/detectors/.snapshots/TestGoObjects-object_class @@ -9,7 +9,7 @@ dataflow_sources: - 12 - 37 - 38 - - 66 + - 67 children: - type: package_clause id: 1 @@ -258,79 +258,85 @@ children: - type: '"{"' id: 51 range: 12:22 - 12:23 - - type: call_expression + - type: expression_statement id: 52 range: 13:2 - 13:26 dataflow_sources: - - 57 + - 53 children: - - type: selector_expression + - type: call_expression id: 53 - range: 13:2 - 13:13 - queries: - - 1 - children: - - type: identifier - id: 54 - range: 13:2 - 13:5 - content: fmt - alias_of: - - 8 - - type: '"."' - id: 55 - range: 13:5 - 13:6 - - type: field_identifier - id: 56 - range: 13:6 - 13:13 - content: Println - - type: argument_list - id: 57 - range: 13:13 - 13:26 + range: 13:2 - 13:26 dataflow_sources: - 58 - - 59 - - 63 children: - - type: '"("' - id: 58 - range: 13:13 - 13:14 - type: selector_expression - id: 59 - range: 13:14 - 13:25 + id: 54 + range: 13:2 - 13:13 queries: - 1 children: - type: identifier - id: 60 - range: 13:14 - 13:15 - content: x + id: 55 + range: 13:2 - 13:5 + content: fmt alias_of: - - 43 + - 8 - type: '"."' - id: 61 - range: 13:15 - 13:16 + id: 56 + range: 13:5 - 13:6 - type: field_identifier - id: 62 - range: 13:16 - 13:25 - content: firstName - - type: '")"' - id: 63 - range: 13:25 - 13:26 + id: 57 + range: 13:6 - 13:13 + content: Println + - type: argument_list + id: 58 + range: 13:13 - 13:26 + dataflow_sources: + - 59 + - 60 + - 64 + children: + - type: '"("' + id: 59 + range: 13:13 - 13:14 + - type: selector_expression + id: 60 + range: 13:14 - 13:25 + queries: + - 1 + children: + - type: identifier + id: 61 + range: 13:14 - 13:15 + content: x + alias_of: + - 43 + - type: '"."' + id: 62 + range: 13:15 - 13:16 + - type: field_identifier + id: 63 + range: 13:16 - 13:25 + content: firstName + - type: '")"' + id: 64 + range: 13:25 - 13:26 - type: |- " " - id: 64 + id: 65 range: 13:26 - 14:1 - type: '"}"' - id: 65 + id: 66 range: 14:1 - 14:2 - type: |- " " - id: 66 + id: 67 range: 14:2 - 15:1 -- node: 52 +- node: 53 content: fmt.Println(x.firstName) data: properties: @@ -339,8 +345,8 @@ children: object: ruleid: object matchnode: - id: 53 - typeid: 30 + id: 54 + typeid: 31 contentstart: byte: 145 line: 13 @@ -357,7 +363,7 @@ children: object: null isvirtual: true isvirtual: true -- node: 53 +- node: 54 content: fmt.Println data: properties: @@ -366,8 +372,8 @@ children: object: ruleid: object matchnode: - id: 53 - typeid: 30 + id: 54 + typeid: 31 contentstart: byte: 145 line: 13 @@ -384,7 +390,7 @@ children: object: null isvirtual: true isvirtual: true -- node: 59 +- node: 60 content: x.firstName data: properties: @@ -393,8 +399,8 @@ children: object: ruleid: object matchnode: - id: 59 - typeid: 30 + id: 60 + typeid: 31 contentstart: byte: 157 line: 13 diff --git a/pkg/languages/golang/detectors/.snapshots/TestGoObjects-object_no_class b/pkg/languages/golang/detectors/.snapshots/TestGoObjects-object_no_class index b5335f99d..b0596cf00 100644 --- a/pkg/languages/golang/detectors/.snapshots/TestGoObjects-object_no_class +++ b/pkg/languages/golang/detectors/.snapshots/TestGoObjects-object_no_class @@ -7,7 +7,7 @@ dataflow_sources: - 5 - 11 - 12 - - 54 + - 55 children: - type: package_clause id: 1 @@ -194,107 +194,86 @@ children: " id: 39 range: 8:3 - 10:1 - - type: call_expression + - type: expression_statement id: 40 range: 10:2 - 10:25 dataflow_sources: - - 45 + - 41 children: - - type: selector_expression + - type: call_expression id: 41 - range: 10:2 - 10:13 - queries: - - 1 - children: - - type: identifier - id: 42 - range: 10:2 - 10:5 - content: fmt - alias_of: - - 8 - - type: '"."' - id: 43 - range: 10:5 - 10:6 - - type: field_identifier - id: 44 - range: 10:6 - 10:13 - content: Println - - type: argument_list - id: 45 - range: 10:13 - 10:25 + range: 10:2 - 10:25 dataflow_sources: - 46 - - 47 - - 51 children: - - type: '"("' - id: 46 - range: 10:13 - 10:14 - type: selector_expression - id: 47 - range: 10:14 - 10:24 + id: 42 + range: 10:2 - 10:13 queries: - 1 children: - type: identifier - id: 48 - range: 10:14 - 10:18 - content: user + id: 43 + range: 10:2 - 10:5 + content: fmt alias_of: - - 20 + - 8 - type: '"."' - id: 49 - range: 10:18 - 10:19 + id: 44 + range: 10:5 - 10:6 - type: field_identifier - id: 50 - range: 10:19 - 10:24 - content: email - - type: '")"' - id: 51 - range: 10:24 - 10:25 + id: 45 + range: 10:6 - 10:13 + content: Println + - type: argument_list + id: 46 + range: 10:13 - 10:25 + dataflow_sources: + - 47 + - 48 + - 52 + children: + - type: '"("' + id: 47 + range: 10:13 - 10:14 + - type: selector_expression + id: 48 + range: 10:14 - 10:24 + queries: + - 1 + children: + - type: identifier + id: 49 + range: 10:14 - 10:18 + content: user + alias_of: + - 20 + - type: '"."' + id: 50 + range: 10:18 - 10:19 + - type: field_identifier + id: 51 + range: 10:19 - 10:24 + content: email + - type: '")"' + id: 52 + range: 10:24 - 10:25 - type: |- " " - id: 52 + id: 53 range: 10:25 - 11:1 - type: '"}"' - id: 53 + id: 54 range: 11:1 - 11:2 - type: |- " " - id: 54 + id: 55 range: 11:2 - 12:1 -- node: 40 - content: fmt.Println(user.email) - data: - properties: - - name: fmt - node: null - object: - ruleid: object - matchnode: - id: 41 - typeid: 30 - contentstart: - byte: 85 - line: 10 - column: 2 - contentend: - byte: 96 - line: 10 - column: 13 - executingdetectors: [] - data: - properties: - - name: Println - node: null - object: null - isvirtual: true - isvirtual: true - node: 41 - content: fmt.Println + content: fmt.Println(user.email) data: properties: - name: fmt @@ -302,8 +281,8 @@ children: object: ruleid: object matchnode: - id: 41 - typeid: 30 + id: 42 + typeid: 31 contentstart: byte: 85 line: 10 @@ -361,7 +340,34 @@ children: object: null isvirtual: false isvirtual: false -- node: 47 +- node: 42 + content: fmt.Println + data: + properties: + - name: fmt + node: null + object: + ruleid: object + matchnode: + id: 42 + typeid: 31 + contentstart: + byte: 85 + line: 10 + column: 2 + contentend: + byte: 96 + line: 10 + column: 13 + executingdetectors: [] + data: + properties: + - name: Println + node: null + object: null + isvirtual: true + isvirtual: true +- node: 48 content: user.email data: properties: @@ -370,8 +376,8 @@ children: object: ruleid: object matchnode: - id: 47 - typeid: 30 + id: 48 + typeid: 31 contentstart: byte: 97 line: 10 diff --git a/pkg/languages/golang/detectors/.snapshots/TestGoString-string b/pkg/languages/golang/detectors/.snapshots/TestGoString-string index 4338b163d..94d4abd9f 100644 --- a/pkg/languages/golang/detectors/.snapshots/TestGoString-string +++ b/pkg/languages/golang/detectors/.snapshots/TestGoString-string @@ -9,7 +9,7 @@ dataflow_sources: - 21 - 30 - 31 - - 147 + - 150 children: - type: package_clause id: 1 @@ -293,439 +293,457 @@ children: " id: 59 range: 12:11 - 13:1 - - type: call_expression + - type: expression_statement id: 60 range: 13:2 - 13:16 dataflow_sources: - - 65 + - 61 children: - - type: selector_expression + - type: call_expression id: 61 - range: 13:2 - 13:13 - queries: - - 1 - children: - - type: identifier - id: 62 - range: 13:2 - 13:5 - content: fmt - alias_of: - - 10 - - type: '"."' - id: 63 - range: 13:5 - 13:6 - - type: field_identifier - id: 64 - range: 13:6 - 13:13 - content: Println - - type: argument_list - id: 65 - range: 13:13 - 13:16 + range: 13:2 - 13:16 dataflow_sources: - 66 - - 67 - - 68 children: - - type: '"("' + - type: selector_expression + id: 62 + range: 13:2 - 13:13 + queries: + - 1 + children: + - type: identifier + id: 63 + range: 13:2 - 13:5 + content: fmt + alias_of: + - 10 + - type: '"."' + id: 64 + range: 13:5 - 13:6 + - type: field_identifier + id: 65 + range: 13:6 - 13:13 + content: Println + - type: argument_list id: 66 - range: 13:13 - 13:14 - - type: identifier - id: 67 - range: 13:14 - 13:15 - content: s - alias_of: - - 39 - - type: '")"' - id: 68 - range: 13:15 - 13:16 + range: 13:13 - 13:16 + dataflow_sources: + - 67 + - 68 + - 69 + children: + - type: '"("' + id: 67 + range: 13:13 - 13:14 + - type: identifier + id: 68 + range: 13:14 - 13:15 + content: s + alias_of: + - 39 + - type: '")"' + id: 69 + range: 13:15 - 13:16 - type: |- " " - id: 69 + id: 70 range: 13:16 - 15:1 - type: short_var_declaration - id: 70 + id: 71 range: 15:2 - 15:14 alias_of: - - 75 + - 76 queries: - 0 children: - type: expression_list - id: 71 + id: 72 range: 15:2 - 15:4 dataflow_sources: - - 72 + - 73 children: - type: identifier - id: 72 + id: 73 range: 15:2 - 15:4 content: s2 - type: '":="' - id: 73 + id: 74 range: 15:5 - 15:7 - type: expression_list - id: 74 + id: 75 range: 15:8 - 15:14 dataflow_sources: - - 75 + - 76 children: - type: interpreted_string_literal - id: 75 + id: 76 range: 15:8 - 15:14 dataflow_sources: - - 76 - 77 + - 78 children: - type: '"""' - id: 76 + id: 77 range: 15:8 - 15:9 - type: '"""' - id: 77 + id: 78 range: 15:13 - 15:14 - type: |- " " - id: 78 + id: 79 range: 15:14 - 16:1 - type: assignment_statement - id: 79 + id: 80 range: 16:2 - 16:18 dataflow_sources: - - 80 - - 82 + - 81 - 83 + - 84 queries: - 0 children: - type: expression_list - id: 80 + id: 81 range: 16:2 - 16:4 dataflow_sources: - - 81 + - 82 children: - type: identifier - id: 81 + id: 82 range: 16:2 - 16:4 content: s2 alias_of: - - 70 + - 71 - type: '"+="' - id: 82 + id: 83 range: 16:5 - 16:7 - type: expression_list - id: 83 + id: 84 range: 16:8 - 16:18 dataflow_sources: - - 84 + - 85 children: - type: index_expression - id: 84 + id: 85 range: 16:8 - 16:18 children: - type: selector_expression - id: 85 + id: 86 range: 16:8 - 16:15 queries: - 1 children: - type: identifier - id: 86 + id: 87 range: 16:8 - 16:10 content: os alias_of: - 15 - type: '"."' - id: 87 + id: 88 range: 16:10 - 16:11 - type: field_identifier - id: 88 + id: 89 range: 16:11 - 16:15 content: Args - type: '"["' - id: 89 + id: 90 range: 16:15 - 16:16 - type: int_literal - id: 90 + id: 91 range: 16:16 - 16:17 content: "0" - type: '"]"' - id: 91 + id: 92 range: 16:17 - 16:18 - type: |- " " - id: 92 + id: 93 range: 16:18 - 17:1 - type: assignment_statement - id: 93 + id: 94 range: 17:2 - 17:16 dataflow_sources: - - 94 - - 96 + - 95 - 97 + - 98 queries: - 0 children: - type: expression_list - id: 94 + id: 95 range: 17:2 - 17:4 dataflow_sources: - - 95 + - 96 children: - type: identifier - id: 95 + id: 96 range: 17:2 - 17:4 content: s2 alias_of: - - 70 + - 71 - type: '"+="' - id: 96 + id: 97 range: 17:5 - 17:7 - type: expression_list - id: 97 + id: 98 range: 17:8 - 17:16 dataflow_sources: - - 98 + - 99 children: - type: interpreted_string_literal - id: 98 + id: 99 range: 17:8 - 17:16 dataflow_sources: - - 99 - 100 + - 101 children: - type: '"""' - id: 99 + id: 100 range: 17:8 - 17:9 - type: '"""' - id: 100 + id: 101 range: 17:15 - 17:16 - type: |- " " - id: 101 - range: 17:16 - 18:1 - - type: call_expression id: 102 + range: 17:16 - 18:1 + - type: expression_statement + id: 103 range: 18:2 - 18:17 dataflow_sources: - - 107 + - 104 children: - - type: selector_expression - id: 103 - range: 18:2 - 18:13 - queries: - - 1 - children: - - type: identifier - id: 104 - range: 18:2 - 18:5 - content: fmt - alias_of: - - 10 - - type: '"."' - id: 105 - range: 18:5 - 18:6 - - type: field_identifier - id: 106 - range: 18:6 - 18:13 - content: Println - - type: argument_list - id: 107 - range: 18:13 - 18:17 + - type: call_expression + id: 104 + range: 18:2 - 18:17 dataflow_sources: - - 108 - 109 - - 110 children: - - type: '"("' - id: 108 - range: 18:13 - 18:14 - - type: identifier + - type: selector_expression + id: 105 + range: 18:2 - 18:13 + queries: + - 1 + children: + - type: identifier + id: 106 + range: 18:2 - 18:5 + content: fmt + alias_of: + - 10 + - type: '"."' + id: 107 + range: 18:5 - 18:6 + - type: field_identifier + id: 108 + range: 18:6 - 18:13 + content: Println + - type: argument_list id: 109 - range: 18:14 - 18:16 - content: s2 - alias_of: - - 70 - - type: '")"' - id: 110 - range: 18:16 - 18:17 + range: 18:13 - 18:17 + dataflow_sources: + - 110 + - 111 + - 112 + children: + - type: '"("' + id: 110 + range: 18:13 - 18:14 + - type: identifier + id: 111 + range: 18:14 - 18:16 + content: s2 + alias_of: + - 71 + - type: '")"' + id: 112 + range: 18:16 - 18:17 - type: |- " " - id: 111 + id: 113 range: 18:17 - 20:1 - type: short_var_declaration - id: 112 + id: 114 range: 20:2 - 20:36 alias_of: - - 117 + - 119 queries: - 0 children: - type: expression_list - id: 113 + id: 115 range: 20:2 - 20:4 dataflow_sources: - - 114 + - 116 children: - type: identifier - id: 114 + id: 116 range: 20:2 - 20:4 content: s3 - type: '":="' - id: 115 + id: 117 range: 20:5 - 20:7 - type: expression_list - id: 116 + id: 118 range: 20:8 - 20:36 dataflow_sources: - - 117 + - 119 children: - type: binary_expression - id: 117 + id: 119 range: 20:8 - 20:36 dataflow_sources: - - 118 - - 131 - - 132 + - 120 + - 133 + - 134 children: - type: binary_expression - id: 118 + id: 120 range: 20:8 - 20:27 dataflow_sources: - - 119 - - 122 - - 123 + - 121 + - 124 + - 125 children: - type: interpreted_string_literal - id: 119 + id: 121 range: 20:8 - 20:14 dataflow_sources: - - 120 - - 121 + - 122 + - 123 children: - type: '"""' - id: 120 + id: 122 range: 20:8 - 20:9 - type: '"""' - id: 121 + id: 123 range: 20:13 - 20:14 - type: '"+"' - id: 122 + id: 124 range: 20:15 - 20:16 - type: index_expression - id: 123 + id: 125 range: 20:17 - 20:27 children: - type: selector_expression - id: 124 + id: 126 range: 20:17 - 20:24 queries: - 1 children: - type: identifier - id: 125 + id: 127 range: 20:17 - 20:19 content: os alias_of: - 15 - type: '"."' - id: 126 + id: 128 range: 20:19 - 20:20 - type: field_identifier - id: 127 + id: 129 range: 20:20 - 20:24 content: Args - type: '"["' - id: 128 + id: 130 range: 20:24 - 20:25 - type: int_literal - id: 129 + id: 131 range: 20:25 - 20:26 content: "0" - type: '"]"' - id: 130 + id: 132 range: 20:26 - 20:27 - type: '"+"' - id: 131 + id: 133 range: 20:28 - 20:29 - type: interpreted_string_literal - id: 132 + id: 134 range: 20:30 - 20:36 dataflow_sources: - - 133 - - 134 + - 135 + - 136 children: - type: '"""' - id: 133 + id: 135 range: 20:30 - 20:31 - type: '"""' - id: 134 + id: 136 range: 20:35 - 20:36 - type: |- " " - id: 135 + id: 137 range: 20:36 - 21:1 - - type: call_expression - id: 136 + - type: expression_statement + id: 138 range: 21:2 - 21:17 dataflow_sources: - - 141 + - 139 children: - - type: selector_expression - id: 137 - range: 21:2 - 21:13 - queries: - - 1 - children: - - type: identifier - id: 138 - range: 21:2 - 21:5 - content: fmt - alias_of: - - 10 - - type: '"."' - id: 139 - range: 21:5 - 21:6 - - type: field_identifier - id: 140 - range: 21:6 - 21:13 - content: Println - - type: argument_list - id: 141 - range: 21:13 - 21:17 + - type: call_expression + id: 139 + range: 21:2 - 21:17 dataflow_sources: - - 142 - - 143 - 144 children: - - type: '"("' - id: 142 - range: 21:13 - 21:14 - - type: identifier - id: 143 - range: 21:14 - 21:16 - content: s3 - alias_of: - - 112 - - type: '")"' + - type: selector_expression + id: 140 + range: 21:2 - 21:13 + queries: + - 1 + children: + - type: identifier + id: 141 + range: 21:2 - 21:5 + content: fmt + alias_of: + - 10 + - type: '"."' + id: 142 + range: 21:5 - 21:6 + - type: field_identifier + id: 143 + range: 21:6 - 21:13 + content: Println + - type: argument_list id: 144 - range: 21:16 - 21:17 + range: 21:13 - 21:17 + dataflow_sources: + - 145 + - 146 + - 147 + children: + - type: '"("' + id: 145 + range: 21:13 - 21:14 + - type: identifier + id: 146 + range: 21:14 - 21:16 + content: s3 + alias_of: + - 114 + - type: '")"' + id: 147 + range: 21:16 - 21:17 - type: |- " " - id: 145 + id: 148 range: 21:17 - 22:1 - type: '"}"' - id: 146 + id: 149 range: 22:1 - 22:2 - type: |- " " - id: 147 + id: 150 range: 22:2 - 23:1 - node: 10 @@ -753,17 +771,17 @@ children: data: value: '!!' isliteral: true -- node: 75 +- node: 76 content: '"hey "' data: value: 'hey ' isliteral: true -- node: 98 +- node: 99 content: '" there"' data: value: ' there' isliteral: true -- node: 117 +- node: 119 content: '"foo " + os.Args[0] + " bar"' data: value: foo � bar @@ -773,17 +791,17 @@ children: data: value: '!' isliteral: true -- node: 118 +- node: 120 content: '"foo " + os.Args[0]' data: value: foo � isliteral: false -- node: 132 +- node: 134 content: '" bar"' data: value: ' bar' isliteral: true -- node: 119 +- node: 121 content: '"foo "' data: value: 'foo ' diff --git a/pkg/languages/golang/pattern/pattern.go b/pkg/languages/golang/pattern/pattern.go index 09e7636a1..3d1671f2a 100644 --- a/pkg/languages/golang/pattern/pattern.go +++ b/pkg/languages/golang/pattern/pattern.go @@ -160,10 +160,10 @@ func (*Pattern) IsAnchored(node *tree.Node) (bool, bool) { } func (*Pattern) IsRoot(node *tree.Node) bool { - return !slices.Contains([]string{"source_file"}, node.Type()) && !node.IsMissing() + return !slices.Contains([]string{"source_file", "expression_statement"}, node.Type()) && !node.IsMissing() } -func (patternLanguage *Pattern) NodeTypes(node *tree.Node) []string { +func (patternLanguage *Pattern) NodeTypes(node *tree.Node, parentType string) []string { if node.Type() == "identifier" && node.Parent().Type() == "source_file" { return []string{"identifier", "package_identifier"} } diff --git a/pkg/languages/java/detectors/.snapshots/TestJavaString-string b/pkg/languages/java/detectors/.snapshots/TestJavaString-string index 076e13d6b..ec107a1a5 100644 --- a/pkg/languages/java/detectors/.snapshots/TestJavaString-string +++ b/pkg/languages/java/detectors/.snapshots/TestJavaString-string @@ -44,7 +44,7 @@ children: dataflow_sources: - 9 - 10 - - 14 + - 17 children: - type: type_identifier id: 9 @@ -67,295 +67,365 @@ children: - type: string_literal id: 13 range: 2:20 - 2:33 - content: '"Hello World"' + dataflow_sources: + - 14 + - 15 + - 16 + children: + - type: '"""' + id: 14 + range: 2:20 - 2:21 + - type: string_fragment + id: 15 + range: 2:21 - 2:32 + content: Hello World + - type: '"""' + id: 16 + range: 2:32 - 2:33 - type: '";"' - id: 14 + id: 17 range: 2:33 - 2:34 - type: method_declaration - id: 15 + id: 18 range: 4:3 - 12:4 children: - type: modifiers - id: 16 + id: 19 range: 4:3 - 4:16 dataflow_sources: - - 17 - - 18 + - 20 + - 21 children: - type: '"public"' - id: 17 + id: 20 range: 4:3 - 4:9 - type: '"static"' - id: 18 + id: 21 range: 4:10 - 4:16 - type: void_type - id: 19 + id: 22 range: 4:17 - 4:21 content: void - type: identifier - id: 20 + id: 23 range: 4:22 - 4:26 content: main - type: formal_parameters - id: 21 + id: 24 range: 4:26 - 4:41 dataflow_sources: - - 22 - - 23 - - 30 + - 25 + - 26 + - 33 children: - type: '"("' - id: 22 + id: 25 range: 4:26 - 4:27 - type: formal_parameter - id: 23 + id: 26 range: 4:27 - 4:40 alias_of: - - 29 + - 32 children: - type: array_type - id: 24 + id: 27 range: 4:27 - 4:35 dataflow_sources: - - 25 - - 26 + - 28 + - 29 children: - type: type_identifier - id: 25 + id: 28 range: 4:27 - 4:33 content: String - type: dimensions - id: 26 + id: 29 range: 4:33 - 4:35 dataflow_sources: - - 27 - - 28 + - 30 + - 31 children: - type: '"["' - id: 27 + id: 30 range: 4:33 - 4:34 - type: '"]"' - id: 28 + id: 31 range: 4:34 - 4:35 - type: identifier - id: 29 + id: 32 range: 4:36 - 4:40 content: args - type: '")"' - id: 30 + id: 33 range: 4:40 - 4:41 - type: block - id: 31 + id: 34 range: 5:3 - 12:4 children: - type: '"{"' - id: 32 + id: 35 range: 5:3 - 5:4 - type: local_variable_declaration - id: 33 + id: 36 range: 6:5 - 6:28 dataflow_sources: - - 34 - - 35 - - 42 + - 37 + - 38 + - 48 children: - type: type_identifier - id: 34 + id: 37 range: 6:5 - 6:8 content: var - type: variable_declarator - id: 35 + id: 38 range: 6:9 - 6:27 children: - type: identifier - id: 36 + id: 39 range: 6:9 - 6:10 content: s alias_of: - - 33 - - 38 + - 36 + - 41 - type: '"="' - id: 37 + id: 40 range: 6:11 - 6:12 - type: binary_expression - id: 38 + id: 41 range: 6:13 - 6:27 dataflow_sources: - - 39 - - 40 - - 41 + - 42 + - 43 + - 44 children: - type: identifier - id: 39 + id: 42 range: 6:13 - 6:21 content: Greeting alias_of: - 11 - type: '"+"' - id: 40 + id: 43 range: 6:22 - 6:23 - type: string_literal - id: 41 + id: 44 range: 6:24 - 6:27 - content: '"!"' + dataflow_sources: + - 45 + - 46 + - 47 + children: + - type: '"""' + id: 45 + range: 6:24 - 6:25 + - type: string_fragment + id: 46 + range: 6:25 - 6:26 + content: '!' + - type: '"""' + id: 47 + range: 6:26 - 6:27 - type: '";"' - id: 42 + id: 48 range: 6:27 - 6:28 - type: expression_statement - id: 43 + id: 49 range: 7:5 - 7:15 dataflow_sources: - - 44 - - 48 + - 50 + - 57 children: - type: assignment_expression - id: 44 + id: 50 range: 7:5 - 7:14 dataflow_sources: - - 45 - - 47 + - 51 + - 53 queries: - 0 children: - type: identifier - id: 45 + id: 51 range: 7:5 - 7:6 content: s alias_of: - - 36 + - 39 - type: '"+="' - id: 46 + id: 52 range: 7:7 - 7:9 - type: string_literal - id: 47 + id: 53 range: 7:10 - 7:14 - content: '"!!"' + dataflow_sources: + - 54 + - 55 + - 56 + children: + - type: '"""' + id: 54 + range: 7:10 - 7:11 + - type: string_fragment + id: 55 + range: 7:11 - 7:13 + content: '!!' + - type: '"""' + id: 56 + range: 7:13 - 7:14 - type: '";"' - id: 48 + id: 57 range: 7:14 - 7:15 - type: local_variable_declaration - id: 49 + id: 58 range: 9:5 - 9:24 dataflow_sources: - - 50 - - 51 - - 55 + - 59 + - 60 + - 67 children: - type: type_identifier - id: 50 + id: 59 range: 9:5 - 9:11 content: String - type: variable_declarator - id: 51 + id: 60 range: 9:12 - 9:23 children: - type: identifier - id: 52 + id: 61 range: 9:12 - 9:14 content: s2 alias_of: - - 49 - - 54 + - 58 + - 63 - type: '"="' - id: 53 + id: 62 range: 9:15 - 9:16 - type: string_literal - id: 54 + id: 63 range: 9:17 - 9:23 - content: '"hey "' + dataflow_sources: + - 64 + - 65 + - 66 + children: + - type: '"""' + id: 64 + range: 9:17 - 9:18 + - type: string_fragment + id: 65 + range: 9:18 - 9:22 + content: 'hey ' + - type: '"""' + id: 66 + range: 9:22 - 9:23 - type: '";"' - id: 55 + id: 67 range: 9:23 - 9:24 - type: expression_statement - id: 56 + id: 68 range: 10:5 - 10:19 dataflow_sources: - - 57 - - 65 + - 69 + - 77 children: - type: assignment_expression - id: 57 + id: 69 range: 10:5 - 10:18 dataflow_sources: - - 58 - - 60 + - 70 + - 72 queries: - 0 children: - type: identifier - id: 58 + id: 70 range: 10:5 - 10:7 content: s2 alias_of: - - 52 + - 61 - type: '"+="' - id: 59 + id: 71 range: 10:8 - 10:10 - type: array_access - id: 60 + id: 72 range: 10:11 - 10:18 dataflow_sources: - - 61 - - 62 - - 63 - - 64 + - 73 + - 74 + - 75 + - 76 children: - type: identifier - id: 61 + id: 73 range: 10:11 - 10:15 content: args alias_of: - - 29 + - 32 - type: '"["' - id: 62 + id: 74 range: 10:15 - 10:16 - type: decimal_integer_literal - id: 63 + id: 75 range: 10:16 - 10:17 content: "0" - type: '"]"' - id: 64 + id: 76 range: 10:17 - 10:18 - type: '";"' - id: 65 + id: 77 range: 10:18 - 10:19 - type: expression_statement - id: 66 + id: 78 range: 11:5 - 11:20 dataflow_sources: - - 67 - - 71 + - 79 + - 86 children: - type: assignment_expression - id: 67 + id: 79 range: 11:5 - 11:19 dataflow_sources: - - 68 - - 70 + - 80 + - 82 queries: - 0 children: - type: identifier - id: 68 + id: 80 range: 11:5 - 11:7 content: s2 alias_of: - - 57 + - 69 - type: '"+="' - id: 69 + id: 81 range: 11:8 - 11:10 - type: string_literal - id: 70 + id: 82 range: 11:11 - 11:19 - content: '" there"' + dataflow_sources: + - 83 + - 84 + - 85 + children: + - type: '"""' + id: 83 + range: 11:11 - 11:12 + - type: string_fragment + id: 84 + range: 11:12 - 11:18 + content: ' there' + - type: '"""' + id: 85 + range: 11:18 - 11:19 - type: '";"' - id: 71 + id: 86 range: 11:19 - 11:20 - type: '"}"' - id: 72 + id: 87 range: 12:3 - 12:4 - type: '"}"' - id: 73 + id: 88 range: 13:1 - 13:2 - node: 13 @@ -363,44 +433,69 @@ children: data: value: Hello World isliteral: true -- node: 44 +- node: 15 + content: Hello World + data: + value: Hello World + isliteral: true +- node: 50 content: s += "!!" data: value: Hello World!!! isliteral: true -- node: 57 +- node: 69 content: s2 += args[0] data: value: hey � isliteral: false -- node: 67 +- node: 79 content: s2 += " there" data: value: hey � there isliteral: false -- node: 38 +- node: 41 content: Greeting + "!" data: value: Hello World! isliteral: true -- node: 47 +- node: 53 content: '"!!"' data: value: '!!' isliteral: true -- node: 54 +- node: 63 content: '"hey "' data: value: 'hey ' isliteral: true -- node: 70 +- node: 82 content: '" there"' data: value: ' there' isliteral: true -- node: 41 +- node: 44 content: '"!"' data: value: '!' isliteral: true +- node: 55 + content: '!!' + data: + value: '!!' + isliteral: true +- node: 65 + content: 'hey ' + data: + value: 'hey ' + isliteral: true +- node: 84 + content: ' there' + data: + value: ' there' + isliteral: true +- node: 46 + content: '!' + data: + value: '!' + isliteral: true diff --git a/pkg/languages/java/detectors/string/string.go b/pkg/languages/java/detectors/string/string.go index 2bf51995b..26271a040 100644 --- a/pkg/languages/java/detectors/string/string.go +++ b/pkg/languages/java/detectors/string/string.go @@ -27,11 +27,18 @@ func (detector *stringDetector) DetectAt( detectorContext types.Context, ) ([]interface{}, error) { switch node.Type() { - case "string_literal", "character_literal": + case "character_literal": return []interface{}{common.String{ Value: stringutil.StripQuotes(node.Content()), IsLiteral: true, }}, nil + case "string_fragment": + return []interface{}{common.String{ + Value: node.Content(), + IsLiteral: true, + }}, nil + case "string_literal": + return common.ConcatenateChildStrings(node, detectorContext) case "binary_expression": if node.Children()[1].Content() == "+" { return common.ConcatenateChildStrings(node, detectorContext) diff --git a/pkg/languages/java/pattern/pattern.go b/pkg/languages/java/pattern/pattern.go index 1bc3775b9..a16698e62 100644 --- a/pkg/languages/java/pattern/pattern.go +++ b/pkg/languages/java/pattern/pattern.go @@ -119,7 +119,7 @@ func (*Pattern) FixupMissing(node *tree.Node) string { return ";" } -func (*Pattern) NodeTypes(node *tree.Node) []string { +func (*Pattern) NodeTypes(node *tree.Node, parentType string) []string { if node.Type() == "statement_block" && node.Parent().Type() == "program" { if len(node.NamedChildren()) == 0 { return []string{"object"} diff --git a/pkg/languages/javascript/detectors/.snapshots/TestJavascriptStringDetector-string_literal b/pkg/languages/javascript/detectors/.snapshots/TestJavascriptStringDetector-string_literal index 4991e08f0..e78852406 100644 --- a/pkg/languages/javascript/detectors/.snapshots/TestJavascriptStringDetector-string_literal +++ b/pkg/languages/javascript/detectors/.snapshots/TestJavascriptStringDetector-string_literal @@ -6,9 +6,9 @@ dataflow_sources: - 6 - 17 - 25 - - 33 - - 41 - - 49 + - 34 + - 42 + - 50 children: - type: expression_statement id: 1 @@ -131,6 +131,7 @@ children: - 27 - 28 - 32 + - 33 children: - type: '"`"' id: 27 @@ -155,133 +156,137 @@ children: - type: '"}"' id: 31 range: 6:5 - 6:6 - - type: '"`"' + - type: string_fragment id: 32 + range: 6:6 - 6:8 + content: ' b' + - type: '"`"' + id: 33 range: 6:8 - 6:9 - type: expression_statement - id: 33 + id: 34 range: 8:1 - 8:19 children: - type: string - id: 34 + id: 35 range: 8:1 - 8:19 dataflow_sources: - - 35 - 36 - 37 - 38 - 39 - 40 + - 41 children: - type: '"""' - id: 35 + id: 36 range: 8:1 - 8:2 - type: string_fragment - id: 36 + id: 37 range: 8:2 - 8:7 content: hello - type: escape_sequence - id: 37 + id: 38 range: 8:7 - 8:11 content: \x20 - type: string_fragment - id: 38 + id: 39 range: 8:11 - 8:16 content: world - type: escape_sequence - id: 39 + id: 40 range: 8:16 - 8:18 content: \\ - type: '"""' - id: 40 + id: 41 range: 8:18 - 8:19 - type: expression_statement - id: 41 + id: 42 range: 10:1 - 10:15 children: - type: binary_expression - id: 42 + id: 43 range: 10:1 - 10:15 dataflow_sources: - - 43 - 44 - 45 + - 46 children: - type: "false" - id: 43 + id: 44 range: 10:1 - 10:6 content: "false" - type: '"||"' - id: 44 + id: 45 range: 10:7 - 10:9 - type: string - id: 45 + id: 46 range: 10:10 - 10:15 dataflow_sources: - - 46 - 47 - 48 + - 49 children: - type: '"""' - id: 46 + id: 47 range: 10:10 - 10:11 - type: string_fragment - id: 47 + id: 48 range: 10:11 - 10:14 content: foo - type: '"""' - id: 48 + id: 49 range: 10:14 - 10:15 - type: expression_statement - id: 49 + id: 50 range: 11:1 - 11:15 children: - type: binary_expression - id: 50 + id: 51 range: 11:1 - 11:15 dataflow_sources: - - 51 - - 55 + - 52 - 56 + - 57 children: - type: string - id: 51 + id: 52 range: 11:1 - 11:6 dataflow_sources: - - 52 - 53 - 54 + - 55 children: - type: '"""' - id: 52 + id: 53 range: 11:1 - 11:2 - type: string_fragment - id: 53 + id: 54 range: 11:2 - 11:5 content: hey - type: '"""' - id: 54 + id: 55 range: 11:5 - 11:6 - type: '"||"' - id: 55 + id: 56 range: 11:7 - 11:9 - type: string - id: 56 + id: 57 range: 11:10 - 11:15 dataflow_sources: - - 57 - 58 - 59 + - 60 children: - type: '"""' - id: 57 + id: 58 range: 11:10 - 11:11 - type: string_fragment - id: 58 + id: 59 range: 11:11 - 11:14 content: foo - type: '"""' - id: 59 + id: 60 range: 11:14 - 11:15 - node: 2 @@ -299,22 +304,22 @@ children: data: value: a b isliteral: true -- node: 34 +- node: 35 content: '"hello\x20world\\"' data: value: hello world\ isliteral: true -- node: 42 +- node: 43 content: false || "foo" data: value: foo isliteral: true -- node: 50 +- node: 51 content: '"hey" || "foo"' data: value: hey isliteral: true -- node: 50 +- node: 51 content: '"hey" || "foo"' data: value: foo @@ -339,37 +344,47 @@ children: data: value: a isliteral: true -- node: 36 +- node: 28 + content: ${x} + data: + value: a + isliteral: true +- node: 32 + content: ' b' + data: + value: ' b' + isliteral: true +- node: 37 content: hello data: value: hello isliteral: true -- node: 37 +- node: 38 content: \x20 data: value: ' ' isliteral: true -- node: 38 +- node: 39 content: world data: value: world isliteral: true -- node: 39 +- node: 40 content: \\ data: value: \ isliteral: true -- node: 45 +- node: 46 content: '"foo"' data: value: foo isliteral: true -- node: 51 +- node: 52 content: '"hey"' data: value: hey isliteral: true -- node: 56 +- node: 57 content: '"foo"' data: value: foo @@ -389,17 +404,17 @@ children: data: value: a isliteral: true -- node: 47 +- node: 48 content: foo data: value: foo isliteral: true -- node: 53 +- node: 54 content: hey data: value: hey isliteral: true -- node: 58 +- node: 59 content: foo data: value: foo diff --git a/pkg/languages/javascript/detectors/.snapshots/TestJavascriptStringDetector-string_non_literal b/pkg/languages/javascript/detectors/.snapshots/TestJavascriptStringDetector-string_non_literal index 0e1986be7..686715879 100644 --- a/pkg/languages/javascript/detectors/.snapshots/TestJavascriptStringDetector-string_non_literal +++ b/pkg/languages/javascript/detectors/.snapshots/TestJavascriptStringDetector-string_non_literal @@ -53,6 +53,7 @@ children: - 11 - 12 - 16 + - 17 children: - type: '"`"' id: 11 @@ -75,8 +76,12 @@ children: - type: '"}"' id: 15 range: 3:5 - 3:6 - - type: '"`"' + - type: string_fragment id: 16 + range: 3:6 - 3:8 + content: ' b' + - type: '"`"' + id: 17 range: 3:8 - 3:9 - node: 2 @@ -94,6 +99,11 @@ children: data: value: a isliteral: true +- node: 16 + content: ' b' + data: + value: ' b' + isliteral: true - node: 5 content: a data: diff --git a/pkg/languages/javascript/detectors/string/string.go b/pkg/languages/javascript/detectors/string/string.go index 41d5fe781..5e793d940 100644 --- a/pkg/languages/javascript/detectors/string/string.go +++ b/pkg/languages/javascript/detectors/string/string.go @@ -29,7 +29,7 @@ func (detector *stringDetector) DetectAt( detectorContext types.Context, ) ([]interface{}, error) { switch node.Type() { - case "string": + case "string", "template_string": return common.ConcatenateChildStrings(node, detectorContext) case "string_fragment": return []interface{}{common.String{ @@ -46,8 +46,8 @@ func (detector *stringDetector) DetectAt( Value: value, IsLiteral: true, }}, nil - case "template_string": - return handleTemplateString(node, detectorContext) + case "template_substitution": + return common.GetStringData(node.NamedChildren()[0], detectorContext) case "binary_expression": switch node.Children()[1].Content() { case "+": @@ -73,45 +73,3 @@ func (detector *stringDetector) DetectAt( return nil, nil } - -func handleTemplateString(node *tree.Node, detectorContext types.Context) ([]interface{}, error) { - text := "" - isLiteral := true - - err := node.EachContentPart(func(partText string) error { - text += partText - return nil - }, func(child *tree.Node) error { - var childValue string - var childIsLiteral bool - namedChildren := child.NamedChildren() - - if len(namedChildren) == 0 { - childValue = "" - childIsLiteral = true - } else { - var err error - childValue, childIsLiteral, err = common.GetStringValue(namedChildren[0], detectorContext) - if err != nil { - return err - } - } - - if childValue == "" && !childIsLiteral { - childValue = common.NonLiteralValue - } - - text += childValue - - if !childIsLiteral { - isLiteral = false - } - - return nil - }) - - return []interface{}{common.String{ - Value: text, - IsLiteral: isLiteral, - }}, err -} diff --git a/pkg/languages/javascript/pattern/pattern.go b/pkg/languages/javascript/pattern/pattern.go index 8b1416fbf..d4ef2c507 100644 --- a/pkg/languages/javascript/pattern/pattern.go +++ b/pkg/languages/javascript/pattern/pattern.go @@ -123,7 +123,7 @@ func (*Pattern) IsRoot(node *tree.Node) bool { return !slices.Contains([]string{"expression_statement", "program"}, node.Type()) } -func (*Pattern) NodeTypes(node *tree.Node) []string { +func (*Pattern) NodeTypes(node *tree.Node, parentType string) []string { if node.Type() == "statement_block" && node.Parent().Type() == "program" { if len(node.NamedChildren()) == 0 { return []string{"object"} diff --git a/pkg/languages/php/pattern/pattern.go b/pkg/languages/php/pattern/pattern.go index 4a40746ae..21c7842fa 100644 --- a/pkg/languages/php/pattern/pattern.go +++ b/pkg/languages/php/pattern/pattern.go @@ -221,7 +221,7 @@ func (*Pattern) IsRoot(node *tree.Node) bool { return !slices.Contains([]string{"expression_statement", "php_tag", "program"}, node.Type()) && !node.IsMissing() } -func (patternLanguage *Pattern) NodeTypes(node *tree.Node) []string { +func (patternLanguage *Pattern) NodeTypes(node *tree.Node, parentType string) []string { parent := node.Parent() if parent == nil { return []string{node.Type()} diff --git a/pkg/languages/python/detectors/string/string.go b/pkg/languages/python/detectors/string/string.go index 1897fc058..74ebc7842 100644 --- a/pkg/languages/python/detectors/string/string.go +++ b/pkg/languages/python/detectors/string/string.go @@ -32,9 +32,9 @@ func (detector *stringDetector) DetectAt( detectorContext types.Context, ) ([]interface{}, error) { switch node.Type() { - case "string": + case "string_content": return handleTemplateString(node, detectorContext) - case "concatenated_string": + case "concatenated_string", "string": return common.ConcatenateChildStrings(node, detectorContext) case "binary_operator": if node.Children()[1].Content() == "+" { diff --git a/pkg/languages/python/pattern/pattern.go b/pkg/languages/python/pattern/pattern.go index f6344423d..49e971c70 100644 --- a/pkg/languages/python/pattern/pattern.go +++ b/pkg/languages/python/pattern/pattern.go @@ -166,7 +166,7 @@ func (*Pattern) IsRoot(node *tree.Node) bool { return !slices.Contains([]string{"module", "expression_statement"}, node.Type()) && !node.IsMissing() } -func (patternLanguage *Pattern) NodeTypes(node *tree.Node) []string { +func (patternLanguage *Pattern) NodeTypes(node *tree.Node, parentType string) []string { if node.Type() == "typed_parameter" { return []string{"typed_parameter", "typed_default_parameter"} } diff --git a/pkg/languages/ruby/detectors/.snapshots/TestRubyObjectDetector-object_class b/pkg/languages/ruby/detectors/.snapshots/TestRubyObjectDetector-object_class index c2c25d4c1..fd3748b42 100644 --- a/pkg/languages/ruby/detectors/.snapshots/TestRubyObjectDetector-object_class +++ b/pkg/languages/ruby/detectors/.snapshots/TestRubyObjectDetector-object_class @@ -11,9 +11,7 @@ children: - 2 - 3 - 4 - - 10 - - 14 - - 24 + - 25 queries: - 3 children: @@ -24,92 +22,100 @@ children: id: 3 range: 1:7 - 1:8 content: A - - type: call + - type: body_statement id: 4 - range: 2:3 - 2:27 + range: 2:3 - 8:6 dataflow_sources: - - 6 + - 5 + - 11 + - 15 children: - - type: identifier + - type: call id: 5 - range: 2:3 - 2:16 - content: attr_accessor - - type: argument_list - id: 6 - range: 2:17 - 2:27 + range: 2:3 - 2:27 dataflow_sources: - 7 - - 8 - - 9 children: - - type: simple_symbol + - type: identifier + id: 6 + range: 2:3 - 2:16 + content: attr_accessor + - type: argument_list id: 7 - range: 2:17 - 2:21 - content: :one - - type: '","' - id: 8 - range: 2:21 - 2:22 - - type: simple_symbol - id: 9 - range: 2:23 - 2:27 - content: :two - - type: method - id: 10 - range: 4:3 - 5:6 - children: - - type: '"def"' + range: 2:17 - 2:27 + dataflow_sources: + - 8 + - 9 + - 10 + children: + - type: simple_symbol + id: 8 + range: 2:17 - 2:21 + content: :one + - type: '","' + id: 9 + range: 2:21 - 2:22 + - type: simple_symbol + id: 10 + range: 2:23 - 2:27 + content: :two + - type: method id: 11 - range: 4:3 - 4:6 - - type: identifier - id: 12 - range: 4:7 - 4:12 - content: three - - type: '"end"' - id: 13 - range: 5:3 - 5:6 - - type: method - id: 14 - range: 7:3 - 8:6 - children: - - type: '"def"' - id: 15 - range: 7:3 - 7:6 - - type: identifier - id: 16 - range: 7:7 - 7:11 - content: four - - type: method_parameters - id: 17 - range: 7:11 - 7:17 - dataflow_sources: - - 18 - - 19 - - 20 - - 21 - - 22 + range: 4:3 - 5:6 children: - - type: '"("' - id: 18 - range: 7:11 - 7:12 + - type: '"def"' + id: 12 + range: 4:3 - 4:6 - type: identifier - id: 19 - range: 7:12 - 7:13 - content: a - - type: '","' - id: 20 - range: 7:13 - 7:14 + id: 13 + range: 4:7 - 4:12 + content: three + - type: '"end"' + id: 14 + range: 5:3 - 5:6 + - type: method + id: 15 + range: 7:3 - 8:6 + children: + - type: '"def"' + id: 16 + range: 7:3 - 7:6 - type: identifier - id: 21 - range: 7:15 - 7:16 - content: b - - type: '")"' - id: 22 - range: 7:16 - 7:17 - - type: '"end"' - id: 23 - range: 8:3 - 8:6 + id: 17 + range: 7:7 - 7:11 + content: four + - type: method_parameters + id: 18 + range: 7:11 - 7:17 + dataflow_sources: + - 19 + - 20 + - 21 + - 22 + - 23 + children: + - type: '"("' + id: 19 + range: 7:11 - 7:12 + - type: identifier + id: 20 + range: 7:12 - 7:13 + content: a + - type: '","' + id: 21 + range: 7:13 - 7:14 + - type: identifier + id: 22 + range: 7:15 - 7:16 + content: b + - type: '")"' + id: 23 + range: 7:16 - 7:17 + - type: '"end"' + id: 24 + range: 8:3 - 8:6 - type: '"end"' - id: 24 + id: 25 range: 9:1 - 9:4 - node: 1 @@ -145,8 +151,8 @@ children: properties: - name: one node: - id: 7 - typeid: 7 + id: 8 + typeid: 8 contentstart: byte: 24 line: 2 @@ -159,8 +165,8 @@ children: object: null - name: two node: - id: 9 - typeid: 7 + id: 10 + typeid: 8 contentstart: byte: 30 line: 2 @@ -173,8 +179,8 @@ children: object: null - name: three node: - id: 12 - typeid: 5 + id: 13 + typeid: 6 contentstart: byte: 42 line: 4 @@ -187,8 +193,8 @@ children: object: null - name: four node: - id: 16 - typeid: 5 + id: 17 + typeid: 6 contentstart: byte: 61 line: 7 diff --git a/pkg/languages/ruby/detectors/object/object.go b/pkg/languages/ruby/detectors/object/object.go index 044c538e9..6b5b784c5 100644 --- a/pkg/languages/ruby/detectors/object/object.go +++ b/pkg/languages/ruby/detectors/object/object.go @@ -41,11 +41,14 @@ func New(querySet *query.Set) types.Detector { // end // end classQuery := querySet.Add(` - (class name: (constant) @class_name - [ - (call arguments: (argument_list (simple_symbol) @name)) - (method name: (identifier) @name) - ] + (class + name: (constant) @class_name + body: (body_statement + [ + (call arguments: (argument_list (simple_symbol) @name)) + (method name: (identifier) @name) + ] + ) ) @root`) // user.name diff --git a/pkg/languages/ruby/pattern/pattern.go b/pkg/languages/ruby/pattern/pattern.go index 832b0055a..bb6d50f3c 100644 --- a/pkg/languages/ruby/pattern/pattern.go +++ b/pkg/languages/ruby/pattern/pattern.go @@ -148,14 +148,13 @@ func (*Pattern) IsAnchored(node *tree.Node) (bool, bool) { return true, true } -func (*Pattern) NodeTypes(node *tree.Node) []string { +func (*Pattern) NodeTypes(node *tree.Node, parentType string) []string { parent := node.Parent() // Make these equivalent: // key: value // :key => value - if parent != nil && - parent.Type() == "pair" && + if parentType == "pair" && node == parent.ChildByFieldName("key") && (node.Type() == "hash_key_symbol" || node.Type() == "simple_symbol") { return []string{"hash_key_symbol", "simple_symbol"} @@ -164,8 +163,18 @@ func (*Pattern) NodeTypes(node *tree.Node) []string { // Make these equivalent: // call do ... end // call { ... } - if node.Type() == "block" || node.Type() == "do_block" { - return []string{"block", "do_block"} + blockTypes := []string{"block", "do_block"} + if slices.Contains(blockTypes, node.Type()) { + return blockTypes + } + + // The block types use different bodies. This is to cope with matching both + // block types as equivalent + if parentType == "block" && node.Type() == "body_statement" { + return []string{"block_body"} + } + if parentType == "do_block" && node.Type() == "block_body" { + return []string{"body_statement"} } return []string{node.Type()} diff --git a/pkg/parser/sitter/xml/parser.c b/pkg/parser/sitter/xml/parser.c index 6c612ccd0..66bf64730 100644 --- a/pkg/parser/sitter/xml/parser.c +++ b/pkg/parser/sitter/xml/parser.c @@ -1,11606 +1,8742 @@ -#include +#include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 483 +#define STATE_COUNT 495 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 172 -#define ALIAS_COUNT 8 -#define TOKEN_COUNT 97 -#define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 0 -#define MAX_ALIAS_SEQUENCE_LENGTH 11 -#define PRODUCTION_ID_COUNT 13 +#define SYMBOL_COUNT 145 +#define ALIAS_COUNT 0 +#define TOKEN_COUNT 76 +#define EXTERNAL_TOKEN_COUNT 11 +#define FIELD_COUNT 2 +#define MAX_ALIAS_SEQUENCE_LENGTH 12 +#define PRODUCTION_ID_COUNT 5 -enum -{ - aux_sym__name_char_token1 = 1, - anon_sym_DOT = 2, - anon_sym_DASH = 3, - anon_sym_COLON = 4, - aux_sym__name_char_token2 = 5, - aux_sym__name_char_token3 = 6, - aux_sym__name_char_token4 = 7, - aux_sym__name_char_token5 = 8, - aux_sym__name_char_token6 = 9, - aux_sym__name_char_token7 = 10, - aux_sym__name_char_token8 = 11, - aux_sym__name_char_token9 = 12, - aux_sym__name_char_token10 = 13, - aux_sym__name_char_token11 = 14, - aux_sym__name_char_token12 = 15, - aux_sym__name_char_token13 = 16, - aux_sym__name_char_token14 = 17, - aux_sym__name_char_token15 = 18, - anon_sym__ = 19, - aux_sym_names_token1 = 20, - anon_sym_DQUOTE = 21, - aux_sym_entity_value_token1 = 22, - anon_sym_SQUOTE = 23, - aux_sym_system_literal_token1 = 24, - sym_pubid_char = 25, - sym__char_data = 26, - anon_sym_LT_BANG_DASH_DASH = 27, - aux_sym_comment_token1 = 28, - anon_sym_DASH_DASH_GT = 29, - anon_sym_LT_QMARK = 30, - aux_sym_processing_instructions_token1 = 31, - anon_sym_QMARK_GT = 32, - sym__cdata_start = 33, - aux_sym_cdata_token1 = 34, - anon_sym_RBRACK_RBRACK_GT = 35, - anon_sym_LT_QMARKxml = 36, - anon_sym_version = 37, - anon_sym_EQ = 38, - anon_sym_1_DOT = 39, - aux_sym__version_num_token1 = 40, - anon_sym_LT_BANGDOCTYPE = 41, - anon_sym_LBRACK = 42, - anon_sym_RBRACK = 43, - anon_sym_GT = 44, - anon_sym_standalone = 45, - anon_sym_yes = 46, - anon_sym_no = 47, - aux_sym__iso639_code_token1 = 48, - aux_sym__iso639_code_token2 = 49, - anon_sym_i = 50, - anon_sym_I = 51, - anon_sym_x = 52, - anon_sym_X = 53, - anon_sym_LT = 54, - anon_sym_LT_SLASH = 55, - anon_sym_SLASH_GT = 56, - anon_sym_LT_BANGELEMENT = 57, - anon_sym_EMPTY = 58, - anon_sym_ANY = 59, - anon_sym_QMARK = 60, - anon_sym_STAR = 61, - anon_sym_PLUS = 62, - anon_sym_LPAREN = 63, - anon_sym_PIPE = 64, - anon_sym_RPAREN = 65, - anon_sym_COMMA = 66, - anon_sym_POUNDPCDATA = 67, - anon_sym_RPAREN_STAR = 68, - anon_sym_LT_BANGATTLIST = 69, - sym__string_type = 70, - anon_sym_ID = 71, - anon_sym_IDREF = 72, - anon_sym_IDREFS = 73, - anon_sym_ENTITY = 74, - anon_sym_ENTITIES = 75, - anon_sym_NMTOKEN = 76, - anon_sym_NMTOKENS = 77, - anon_sym_NOTATION = 78, - anon_sym_POUNDREQUIRED = 79, - anon_sym_POUNDIMPLIED = 80, - anon_sym_POUNDFIXED = 81, - anon_sym_LT_BANG_LBRACK = 82, - anon_sym_AMP_POUND = 83, - anon_sym_SEMI = 84, - anon_sym_AMP_POUNDx = 85, - aux_sym_char_ref_token1 = 86, - anon_sym_AMP = 87, - anon_sym_PERCENT = 88, - anon_sym_LT_BANGENTITY = 89, - anon_sym_SYSTEM = 90, - anon_sym_PUBLIC = 91, - anon_sym_NDATA = 92, - anon_sym_encoding = 93, - aux_sym__enc_name_token1 = 94, - aux_sym__enc_name_token2 = 95, - anon_sym_LT_BANGNOTATION = 96, - sym_document = 97, - sym__name_char = 98, - sym__name = 99, - sym_nm_token = 100, - sym_entity_value = 101, - sym_attribute_value = 102, - sym_system_literal = 103, - sym_pubid_literal = 104, - sym_comment = 105, - sym_processing_instructions = 106, - sym_pi_target = 107, - sym_cdata_sect = 108, - sym_cdata = 109, - sym__cdata_end = 110, - sym_prolog = 111, - sym_xml_decl = 112, - sym_version_info = 113, - sym__version_num = 114, - sym__misc = 115, - sym_doctype_decl = 116, - sym__markup_decl = 117, - sym_standalone_decl = 118, - sym_element = 119, - sym_start_tag = 120, - sym_attribute = 121, - sym_end_tag = 122, - aux_sym__content = 123, - sym_empty_elem_tag = 124, - sym_element_decl = 125, - sym_content_spec = 126, - sym_children = 127, - sym_cp = 128, - sym_element_choice = 129, - sym_element_seq = 130, - sym_mixed = 131, - sym_attlist_decl = 132, - sym_attribute_def = 133, - sym_attribute_type = 134, - sym__tokenized_type = 135, - sym__enumerated_type = 136, - sym_notation_type = 137, - sym_enumeration = 138, - sym_default_decl = 139, - sym_char_ref = 140, - sym_reference = 141, - sym_entity_ref = 142, - sym_pe_reference = 143, - sym_entity_decl = 144, - sym_ge_decl = 145, - sym_pe_decl = 146, - sym_entity_def = 147, - sym_pe_def = 148, - sym_external_id = 149, - sym_ndata_decl = 150, - sym_encoding_decl = 151, - sym__enc_name = 152, - sym_notation_decl = 153, - sym_public_id = 154, - aux_sym_document_repeat1 = 155, - aux_sym_document_repeat2 = 156, - aux_sym_document_repeat3 = 157, - aux_sym__name_repeat1 = 158, - aux_sym_entity_value_repeat1 = 159, - aux_sym_attribute_value_repeat1 = 160, - aux_sym_pubid_literal_repeat1 = 161, - aux_sym_comment_repeat1 = 162, - aux_sym_doctype_decl_repeat1 = 163, - aux_sym_start_tag_repeat1 = 164, - aux_sym_element_choice_repeat1 = 165, - aux_sym_element_seq_repeat1 = 166, - aux_sym_mixed_repeat1 = 167, - aux_sym_attlist_decl_repeat1 = 168, - aux_sym_notation_type_repeat1 = 169, - aux_sym_enumeration_repeat1 = 170, - aux_sym__enc_name_repeat1 = 171, - alias_sym_attlist_name = 172, - alias_sym_attribute_name = 173, - alias_sym_doctype = 174, - alias_sym_element_name = 175, - alias_sym_ndata_name = 176, - alias_sym_notation_name = 177, - alias_sym_notation_type_name = 178, - alias_sym_tag_name = 179, +enum ts_symbol_identifiers { + sym_Name = 1, + anon_sym_LT_BANG_LBRACK = 2, + anon_sym_IGNORE = 3, + anon_sym_INCLUDE = 4, + anon_sym_LBRACK = 5, + anon_sym_RBRACK_RBRACK_GT = 6, + anon_sym_LT_BANG = 7, + anon_sym_ELEMENT = 8, + anon_sym_GT = 9, + anon_sym_EMPTY = 10, + anon_sym_ANY = 11, + anon_sym_LPAREN = 12, + anon_sym_POUNDPCDATA = 13, + anon_sym_PIPE = 14, + anon_sym_RPAREN = 15, + anon_sym_STAR = 16, + anon_sym_QMARK = 17, + anon_sym_PLUS = 18, + anon_sym_COMMA = 19, + anon_sym_ATTLIST = 20, + anon_sym_CDATA = 21, + sym_TokenizedType = 22, + anon_sym_NOTATION = 23, + anon_sym_POUNDREQUIRED = 24, + anon_sym_POUNDIMPLIED = 25, + anon_sym_POUNDFIXED = 26, + anon_sym_ENTITY = 27, + anon_sym_PERCENT = 28, + anon_sym_DQUOTE = 29, + aux_sym_EntityValue_token1 = 30, + anon_sym_SQUOTE = 31, + aux_sym_EntityValue_token2 = 32, + anon_sym_NDATA = 33, + anon_sym_SEMI = 34, + sym__S = 35, + sym_Nmtoken = 36, + anon_sym_AMP = 37, + anon_sym_AMP_POUND = 38, + aux_sym_CharRef_token1 = 39, + anon_sym_AMP_POUNDx = 40, + aux_sym_CharRef_token2 = 41, + aux_sym_AttValue_token1 = 42, + aux_sym_AttValue_token2 = 43, + anon_sym_SYSTEM = 44, + anon_sym_PUBLIC = 45, + aux_sym_SystemLiteral_token1 = 46, + aux_sym_SystemLiteral_token2 = 47, + aux_sym_PubidLiteral_token1 = 48, + aux_sym_PubidLiteral_token2 = 49, + anon_sym_LT_QMARK = 50, + anon_sym_xml = 51, + anon_sym_QMARK_GT = 52, + anon_sym_version = 53, + sym_VersionNum = 54, + anon_sym_encoding = 55, + sym_EncName = 56, + anon_sym_EQ = 57, + anon_sym_standalone = 58, + anon_sym_yes = 59, + anon_sym_no = 60, + anon_sym_DOCTYPE = 61, + anon_sym_RBRACK = 62, + anon_sym_LT = 63, + anon_sym_SLASH_GT = 64, + anon_sym_LT_SLASH = 65, + anon_sym_xml_DASHstylesheet = 66, + anon_sym_xml_DASHmodel = 67, + sym_PITarget = 68, + sym__pi_content = 69, + sym_Comment = 70, + sym_CharData = 71, + sym_CData = 72, + sym__start_tag_name = 73, + sym__end_tag_name = 74, + sym__erroneous_end_name = 75, + sym_document = 76, + sym__markupdecl = 77, + sym__DeclSep = 78, + sym_elementdecl = 79, + sym_contentspec = 80, + sym_Mixed = 81, + sym_children = 82, + sym__cp = 83, + sym__choice = 84, + sym_AttlistDecl = 85, + sym_AttDef = 86, + sym__AttType = 87, + sym_StringType = 88, + sym__EnumeratedType = 89, + sym_NotationType = 90, + sym_Enumeration = 91, + sym_DefaultDecl = 92, + sym__EntityDecl = 93, + sym_GEDecl = 94, + sym_PEDecl = 95, + sym_EntityValue = 96, + sym_NDataDecl = 97, + sym_NotationDecl = 98, + sym_PEReference = 99, + sym__Reference = 100, + sym_EntityRef = 101, + sym_CharRef = 102, + sym_AttValue = 103, + sym_ExternalID = 104, + sym_PublicID = 105, + sym_SystemLiteral = 106, + sym_PubidLiteral = 107, + sym_XMLDecl = 108, + sym__VersionInfo = 109, + sym__EncodingDecl = 110, + sym_PI = 111, + sym__Eq = 112, + sym_prolog = 113, + sym__Misc = 114, + sym__SDDecl = 115, + sym_doctypedecl = 116, + aux_sym__intSubset = 117, + sym_element = 118, + sym_EmptyElemTag = 119, + sym_Attribute = 120, + sym_STag = 121, + sym_ETag = 122, + sym_content = 123, + sym_CDSect = 124, + sym_CDStart = 125, + sym_StyleSheetPI = 126, + sym_XmlModelPI = 127, + sym_PseudoAtt = 128, + sym_PseudoAttValue = 129, + aux_sym_document_repeat1 = 130, + aux_sym_Mixed_repeat1 = 131, + aux_sym_Mixed_repeat2 = 132, + aux_sym__choice_repeat1 = 133, + aux_sym__choice_repeat2 = 134, + aux_sym_AttlistDecl_repeat1 = 135, + aux_sym_NotationType_repeat1 = 136, + aux_sym_Enumeration_repeat1 = 137, + aux_sym_EntityValue_repeat1 = 138, + aux_sym_EntityValue_repeat2 = 139, + aux_sym_AttValue_repeat1 = 140, + aux_sym_AttValue_repeat2 = 141, + aux_sym_EmptyElemTag_repeat1 = 142, + aux_sym_content_repeat1 = 143, + aux_sym_StyleSheetPI_repeat1 = 144, }; -static const char *const ts_symbol_names[] = { - [ts_builtin_sym_end] = "end", - [aux_sym__name_char_token1] = "_name_char_token1", - [anon_sym_DOT] = ".", - [anon_sym_DASH] = "-", - [anon_sym_COLON] = ":", - [aux_sym__name_char_token2] = "_name_char_token2", - [aux_sym__name_char_token3] = "_name_char_token3", - [aux_sym__name_char_token4] = "_name_char_token4", - [aux_sym__name_char_token5] = "_name_char_token5", - [aux_sym__name_char_token6] = "_name_char_token6", - [aux_sym__name_char_token7] = "_name_char_token7", - [aux_sym__name_char_token8] = "_name_char_token8", - [aux_sym__name_char_token9] = "_name_char_token9", - [aux_sym__name_char_token10] = "_name_char_token10", - [aux_sym__name_char_token11] = "_name_char_token11", - [aux_sym__name_char_token12] = "_name_char_token12", - [aux_sym__name_char_token13] = "_name_char_token13", - [aux_sym__name_char_token14] = "_name_char_token14", - [aux_sym__name_char_token15] = "_name_char_token15", - [anon_sym__] = "_", - [aux_sym_names_token1] = "names_token1", - [anon_sym_DQUOTE] = "\"", - [aux_sym_entity_value_token1] = "entity_value_token1", - [anon_sym_SQUOTE] = "'", - [aux_sym_system_literal_token1] = "system_literal_token1", - [sym_pubid_char] = "pubid_char", - [sym__char_data] = "text", - [anon_sym_LT_BANG_DASH_DASH] = "", - [anon_sym_LT_QMARK] = "<\?", - [aux_sym_processing_instructions_token1] = "processing_instructions_token1", - [anon_sym_QMARK_GT] = "\?>", - [sym__cdata_start] = "_cdata_start", - [aux_sym_cdata_token1] = "cdata_token1", - [anon_sym_RBRACK_RBRACK_GT] = "]]>", - [anon_sym_LT_QMARKxml] = "<\?xml", - [anon_sym_version] = "version", - [anon_sym_EQ] = "=", - [anon_sym_1_DOT] = "1.", - [aux_sym__version_num_token1] = "_version_num_token1", - [anon_sym_LT_BANGDOCTYPE] = "", - [anon_sym_standalone] = "standalone", - [anon_sym_yes] = "yes", - [anon_sym_no] = "no", - [aux_sym__iso639_code_token1] = "_iso639_code_token1", - [aux_sym__iso639_code_token2] = "_iso639_code_token2", - [anon_sym_i] = "i", - [anon_sym_I] = "I", - [anon_sym_x] = "x", - [anon_sym_X] = "X", - [anon_sym_LT] = "<", - [anon_sym_LT_SLASH] = "", - [anon_sym_LT_BANGELEMENT] = "", + [anon_sym_LT_BANG] = "", + [anon_sym_EMPTY] = "EMPTY", + [anon_sym_ANY] = "ANY", + [anon_sym_LPAREN] = "(", + [anon_sym_POUNDPCDATA] = "#PCDATA", + [anon_sym_PIPE] = "|", + [anon_sym_RPAREN] = ")", + [anon_sym_STAR] = "*", + [anon_sym_QMARK] = "\?", + [anon_sym_PLUS] = "+", + [anon_sym_COMMA] = ",", + [anon_sym_ATTLIST] = "ATTLIST", + [anon_sym_CDATA] = "CDATA", + [sym_TokenizedType] = "TokenizedType", + [anon_sym_NOTATION] = "NOTATION", + [anon_sym_POUNDREQUIRED] = "#REQUIRED", + [anon_sym_POUNDIMPLIED] = "#IMPLIED", + [anon_sym_POUNDFIXED] = "#FIXED", + [anon_sym_ENTITY] = "ENTITY", + [anon_sym_PERCENT] = "%", + [anon_sym_DQUOTE] = "\"", + [aux_sym_EntityValue_token1] = "EntityValue_token1", + [anon_sym_SQUOTE] = "'", + [aux_sym_EntityValue_token2] = "EntityValue_token2", + [anon_sym_NDATA] = "NDATA", + [anon_sym_SEMI] = ";", + [sym__S] = "_S", + [sym_Nmtoken] = "Nmtoken", + [anon_sym_AMP] = "&", + [anon_sym_AMP_POUND] = "&#", + [aux_sym_CharRef_token1] = "CharRef_token1", + [anon_sym_AMP_POUNDx] = "&#x", + [aux_sym_CharRef_token2] = "CharRef_token2", + [aux_sym_AttValue_token1] = "AttValue_token1", + [aux_sym_AttValue_token2] = "AttValue_token2", + [anon_sym_SYSTEM] = "SYSTEM", + [anon_sym_PUBLIC] = "PUBLIC", + [aux_sym_SystemLiteral_token1] = "URI", + [aux_sym_SystemLiteral_token2] = "URI", + [aux_sym_PubidLiteral_token1] = "PubidLiteral_token1", + [aux_sym_PubidLiteral_token2] = "PubidLiteral_token2", + [anon_sym_LT_QMARK] = "<\?", + [anon_sym_xml] = "xml", + [anon_sym_QMARK_GT] = "\?>", + [anon_sym_version] = "version", + [sym_VersionNum] = "VersionNum", + [anon_sym_encoding] = "encoding", + [sym_EncName] = "EncName", + [anon_sym_EQ] = "=", + [anon_sym_standalone] = "standalone", + [anon_sym_yes] = "yes", + [anon_sym_no] = "no", + [anon_sym_DOCTYPE] = "DOCTYPE", + [anon_sym_RBRACK] = "]", + [anon_sym_LT] = "<", + [anon_sym_SLASH_GT] = "/>", + [anon_sym_LT_SLASH] = "= 2494 && c <= 2495) - : c <= 2519) - : (c <= 2562 || (c < 2622 - ? c == 2620 - : c <= 2623))))); -} +static TSCharacterRange aux_sym_PubidLiteral_token1_character_set_1[] = { + {'\n', '\n'}, {'\r', '\r'}, {' ', '!'}, {'#', '%'}, {'\'', ';'}, {'=', '='}, {'?', 'Z'}, {'_', '_'}, + {'a', 'z'}, +}; -static inline bool aux_sym__name_char_token8_character_set_1(int32_t c) -{ - return (c < 2817 - ? (c < 903 - ? (c < 720 - ? c == 183 - : c <= 721) - : (c <= 903 || (c < 2763 - ? c == 1600 - : c <= 2765))) - : (c <= 2819 || (c < 3782 - ? (c < 3654 - ? c == 2876 - : c <= 3654) - : (c <= 3782 || c == 12442)))); +static TSCharacterRange aux_sym_PubidLiteral_token2_character_set_1[] = { + {'\n', '\n'}, {'\r', '\r'}, {' ', '!'}, {'#', '%'}, {'(', ';'}, {'=', '='}, {'?', 'Z'}, {'_', '_'}, + {'a', 'z'}, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(42); + ADVANCE_MAP( + '"', 67, + '#', 72, + '%', 66, + '&', 121, + '\'', 81, + '(', 49, + ')', 52, + '*', 53, + '+', 55, + ',', 56, + '/', 70, + '1', 69, + ';', 83, + '<', 139, + '=', 136, + '>', 48, + '?', 54, + 'E', 74, + 'I', 71, + 'N', 73, + '[', 44, + ']', 138, + '_', 80, + '|', 51, + '\t', 77, + '\n', 77, + '\r', 77, + ' ', 77, + '-', 79, + '.', 79, + ':', 79, + 0xb7, 79, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(78); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(75); + if (('G' <= lookahead && lookahead <= 'Z') || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(76); + if (lookahead != 0) ADVANCE(68); + END_STATE(); + case 1: + ADVANCE_MAP( + '"', 67, + '#', 28, + '%', 66, + '\'', 81, + '(', 49, + ')', 52, + '*', 53, + '+', 55, + ',', 56, + '/', 7, + '>', 48, + '?', 54, + '[', 44, + ']', 36, + '|', 51, + '\t', 84, + '\n', 84, + '\r', 84, + ' ', 84, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(123); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); + END_STATE(); + case 2: + if (lookahead == '"') ADVANCE(67); + if (lookahead == '%') ADVANCE(66); + if (lookahead == '&') ADVANCE(121); + if (lookahead != 0 && + lookahead != '<') ADVANCE(68); + END_STATE(); + case 3: + if (lookahead == '"') ADVANCE(67); + if (lookahead == '&') ADVANCE(121); + if (lookahead != 0 && + lookahead != '<') ADVANCE(126); + END_STATE(); + case 4: + if (lookahead == '%') ADVANCE(66); + if (lookahead == '&') ADVANCE(121); + if (lookahead == '\'') ADVANCE(81); + if (lookahead == '<') ADVANCE(141); + if (lookahead != 0) ADVANCE(82); + END_STATE(); + case 5: + if (lookahead == '&') ADVANCE(121); + if (lookahead == '\'') ADVANCE(81); + if (lookahead != 0 && + lookahead != '<') ADVANCE(127); + END_STATE(); + case 6: + if (lookahead == '.') ADVANCE(38); + END_STATE(); + case 7: + if (lookahead == '>') ADVANCE(142); + END_STATE(); + case 8: + if (lookahead == '>') ADVANCE(45); + END_STATE(); + case 9: + if (lookahead == '>') ADVANCE(133); + END_STATE(); + case 10: + if (lookahead == '?') ADVANCE(9); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(84); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); + END_STATE(); + case 11: + if (lookahead == 'A') ADVANCE(32); + END_STATE(); + case 12: + if (lookahead == 'A') ADVANCE(50); + END_STATE(); + case 13: + if (lookahead == 'C') ADVANCE(14); + END_STATE(); + case 14: + if (lookahead == 'D') ADVANCE(11); + END_STATE(); + case 15: + if (lookahead == 'D') ADVANCE(65); + END_STATE(); + case 16: + if (lookahead == 'D') ADVANCE(64); + END_STATE(); + case 17: + if (lookahead == 'D') ADVANCE(63); + END_STATE(); + case 18: + if (lookahead == 'E') ADVANCE(30); + END_STATE(); + case 19: + if (lookahead == 'E') ADVANCE(15); + END_STATE(); + case 20: + if (lookahead == 'E') ADVANCE(16); + END_STATE(); + case 21: + if (lookahead == 'E') ADVANCE(17); + END_STATE(); + case 22: + if (lookahead == 'F') ADVANCE(23); + if (lookahead == 'I') ADVANCE(27); + if (lookahead == 'R') ADVANCE(18); + END_STATE(); + case 23: + if (lookahead == 'I') ADVANCE(34); + END_STATE(); + case 24: + if (lookahead == 'I') ADVANCE(31); + END_STATE(); + case 25: + if (lookahead == 'I') ADVANCE(20); + END_STATE(); + case 26: + if (lookahead == 'L') ADVANCE(25); + END_STATE(); + case 27: + if (lookahead == 'M') ADVANCE(29); + END_STATE(); + case 28: + if (lookahead == 'P') ADVANCE(13); + END_STATE(); + case 29: + if (lookahead == 'P') ADVANCE(26); + END_STATE(); + case 30: + if (lookahead == 'Q') ADVANCE(33); + END_STATE(); + case 31: + if (lookahead == 'R') ADVANCE(21); + END_STATE(); + case 32: + if (lookahead == 'T') ADVANCE(12); + END_STATE(); + case 33: + if (lookahead == 'U') ADVANCE(24); + END_STATE(); + case 34: + if (lookahead == 'X') ADVANCE(19); + END_STATE(); + case 35: + if (lookahead == '[') ADVANCE(43); + END_STATE(); + case 36: + if (lookahead == ']') ADVANCE(8); + END_STATE(); + case 37: + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(84); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(120); + END_STATE(); + case 38: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(134); + END_STATE(); + case 39: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(125); + END_STATE(); + case 40: + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); + END_STATE(); + case 41: + if (eof) ADVANCE(42); + ADVANCE_MAP( + '"', 67, + '#', 22, + '%', 66, + '\'', 81, + '(', 49, + ')', 52, + '*', 53, + '+', 55, + ',', 56, + '/', 7, + '1', 6, + ';', 83, + '<', 140, + '=', 136, + '>', 48, + '?', 54, + 'E', 102, + 'I', 85, + 'N', 100, + '[', 44, + ']', 137, + '|', 51, + '\t', 84, + '\n', 84, + '\r', 84, + ' ', 84, + ); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(116); + END_STATE(); + case 42: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 43: + ACCEPT_TOKEN(anon_sym_LT_BANG_LBRACK); + END_STATE(); + case 44: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 45: + ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK_GT); + END_STATE(); + case 46: + ACCEPT_TOKEN(anon_sym_LT_BANG); + END_STATE(); + case 47: + ACCEPT_TOKEN(anon_sym_LT_BANG); + if (lookahead == '[') ADVANCE(43); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_GT); + END_STATE(); + case 49: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_POUNDPCDATA); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_PIPE); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); + case 55: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 56: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 57: + ACCEPT_TOKEN(sym_TokenizedType); + if (lookahead == 'R') ADVANCE(86); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 58: + ACCEPT_TOKEN(sym_TokenizedType); + if (lookahead == 'R') ADVANCE(89); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 59: + ACCEPT_TOKEN(sym_TokenizedType); + if (lookahead == 'S') ADVANCE(61); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 60: + ACCEPT_TOKEN(sym_TokenizedType); + if (lookahead == 'S') ADVANCE(62); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 61: + ACCEPT_TOKEN(sym_TokenizedType); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 62: + ACCEPT_TOKEN(sym_TokenizedType); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_POUNDREQUIRED); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_POUNDIMPLIED); + END_STATE(); + case 65: + ACCEPT_TOKEN(anon_sym_POUNDFIXED); + END_STATE(); + case 66: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 68: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + END_STATE(); + case 69: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == '.') ADVANCE(117); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119); + if (lookahead == '-' || + lookahead == ':' || + ('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(120); + END_STATE(); + case 70: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == '>') ADVANCE(142); + END_STATE(); + case 71: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == 'D') ADVANCE(57); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 72: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == 'F') ADVANCE(23); + if (lookahead == 'I') ADVANCE(27); + if (lookahead == 'P') ADVANCE(13); + if (lookahead == 'R') ADVANCE(18); + END_STATE(); + case 73: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == 'M') ADVANCE(109); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 74: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == 'N') ADVANCE(108); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(114); + if (lookahead == '-' || + lookahead == '.' || + ('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 75: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(114); + if (lookahead == '-' || + lookahead == '.' || + ('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 76: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 77: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(84); + END_STATE(); + case 78: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119); + if (lookahead == '-' || + lookahead == '.' || + lookahead == ':' || + ('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(120); + END_STATE(); + case 79: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(120); + END_STATE(); + case 80: + ACCEPT_TOKEN(aux_sym_EntityValue_token1); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 81: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 82: + ACCEPT_TOKEN(aux_sym_EntityValue_token2); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 84: + ACCEPT_TOKEN(sym__S); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(84); + END_STATE(); + case 85: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'D') ADVANCE(58); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 86: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'E') ADVANCE(92); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 87: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'E') ADVANCE(101); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 88: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'E') ADVANCE(106); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 89: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'E') ADVANCE(93); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 90: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'E') ADVANCE(107); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 91: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'E') ADVANCE(103); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 92: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'F') ADVANCE(59); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 93: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'F') ADVANCE(60); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 94: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'I') ADVANCE(110); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 95: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'I') ADVANCE(88); + if (lookahead == 'Y') ADVANCE(61); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 96: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'I') ADVANCE(113); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 97: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'I') ADVANCE(90); + if (lookahead == 'Y') ADVANCE(62); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 98: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'K') ADVANCE(87); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 99: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'K') ADVANCE(91); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 100: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'M') ADVANCE(112); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 101: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'N') ADVANCE(59); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 102: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'N') ADVANCE(111); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 103: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'N') ADVANCE(60); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 104: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'O') ADVANCE(98); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 105: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'O') ADVANCE(99); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 106: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'S') ADVANCE(61); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 107: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'S') ADVANCE(62); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 108: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'T') ADVANCE(94); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 109: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'T') ADVANCE(104); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 110: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'T') ADVANCE(95); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 111: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'T') ADVANCE(96); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 112: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'T') ADVANCE(105); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 113: + ACCEPT_TOKEN(sym_Name); + if (lookahead == 'T') ADVANCE(97); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 114: + ACCEPT_TOKEN(sym_Name); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(114); + if (lookahead == '-' || + lookahead == '.' || + ('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 115: + ACCEPT_TOKEN(sym_Name); + if (lookahead == ':' || + lookahead == 0xb7) ADVANCE(116); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(115); + END_STATE(); + case 116: + ACCEPT_TOKEN(sym_Name); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(116); + END_STATE(); + case 117: + ACCEPT_TOKEN(sym_Nmtoken); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(117); + if (lookahead == '-' || + lookahead == '.' || + lookahead == ':' || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(120); + END_STATE(); + case 118: + ACCEPT_TOKEN(sym_Nmtoken); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119); + if (lookahead == '-' || + lookahead == '.' || + lookahead == ':' || + ('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(120); + END_STATE(); + case 119: + ACCEPT_TOKEN(sym_Nmtoken); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119); + if (lookahead == '-' || + lookahead == '.' || + lookahead == ':' || + ('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(120); + END_STATE(); + case 120: + ACCEPT_TOKEN(sym_Nmtoken); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= ':') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + lookahead == 0xb7) ADVANCE(120); + END_STATE(); + case 121: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '#') ADVANCE(122); + END_STATE(); + case 122: + ACCEPT_TOKEN(anon_sym_AMP_POUND); + if (lookahead == 'x') ADVANCE(124); + END_STATE(); + case 123: + ACCEPT_TOKEN(aux_sym_CharRef_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(123); + END_STATE(); + case 124: + ACCEPT_TOKEN(anon_sym_AMP_POUNDx); + END_STATE(); + case 125: + ACCEPT_TOKEN(aux_sym_CharRef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(125); + END_STATE(); + case 126: + ACCEPT_TOKEN(aux_sym_AttValue_token1); + END_STATE(); + case 127: + ACCEPT_TOKEN(aux_sym_AttValue_token2); + END_STATE(); + case 128: + ACCEPT_TOKEN(aux_sym_SystemLiteral_token1); + if (lookahead != 0 && + lookahead != '"') ADVANCE(128); + END_STATE(); + case 129: + ACCEPT_TOKEN(aux_sym_SystemLiteral_token2); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(129); + END_STATE(); + case 130: + ACCEPT_TOKEN(aux_sym_PubidLiteral_token1); + if (set_contains(aux_sym_PubidLiteral_token1_character_set_1, 9, lookahead)) ADVANCE(130); + END_STATE(); + case 131: + ACCEPT_TOKEN(aux_sym_PubidLiteral_token2); + if (set_contains(aux_sym_PubidLiteral_token2_character_set_1, 9, lookahead)) ADVANCE(131); + END_STATE(); + case 132: + ACCEPT_TOKEN(anon_sym_LT_QMARK); + END_STATE(); + case 133: + ACCEPT_TOKEN(anon_sym_QMARK_GT); + END_STATE(); + case 134: + ACCEPT_TOKEN(sym_VersionNum); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(134); + END_STATE(); + case 135: + ACCEPT_TOKEN(sym_EncName); + if (lookahead == '-' || + lookahead == '.' || + ('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(135); + END_STATE(); + case 136: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 137: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 138: + ACCEPT_TOKEN(anon_sym_RBRACK); + if (lookahead == ']') ADVANCE(8); + END_STATE(); + case 139: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '!') ADVANCE(47); + if (lookahead == '/') ADVANCE(143); + if (lookahead == '?') ADVANCE(132); + END_STATE(); + case 140: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '!') ADVANCE(46); + if (lookahead == '?') ADVANCE(132); + END_STATE(); + case 141: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '!') ADVANCE(35); + if (lookahead == '/') ADVANCE(143); + if (lookahead == '?') ADVANCE(132); + END_STATE(); + case 142: + ACCEPT_TOKEN(anon_sym_SLASH_GT); + END_STATE(); + case 143: + ACCEPT_TOKEN(anon_sym_LT_SLASH); + END_STATE(); + default: + return false; + } } -static bool ts_lex(TSLexer *lexer, TSStateId state) -{ +static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); - switch (state) - { - case 0: - if (eof) - ADVANCE(162); - if (lookahead == '"') - ADVANCE(184); - if (lookahead == '%') - ADVANCE(254); - if (lookahead == '&') - ADVANCE(253); - if (lookahead == '\'') - ADVANCE(186); - if (lookahead == '(') - ADVANCE(228); - if (lookahead == ')') - ADVANCE(230); - if (lookahead == '*') - ADVANCE(226); - if (lookahead == '+') - ADVANCE(227); - if (lookahead == ',') - ADVANCE(232); - if (lookahead == '-') - ADVANCE(165); - if (lookahead == '.') - ADVANCE(164); - if (lookahead == ':') - ADVANCE(167); - if (lookahead == ';') - ADVANCE(250); - if (lookahead == '<') - ADVANCE(216); - if (lookahead == '=') - ADVANCE(202); - if (lookahead == '>') - ADVANCE(208); - if (lookahead == '?') - ADVANCE(225); - if (lookahead == 'I') - ADVANCE(213); - if (lookahead == 'X') - ADVANCE(215); - if (lookahead == '[') - ADVANCE(206); - if (lookahead == ']') - ADVANCE(207); - if (lookahead == '_') - ADVANCE(182); - if (lookahead == 'i') - ADVANCE(212); - if (lookahead == 'x') - ADVANCE(214); - if (lookahead == '|') - ADVANCE(229); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(183); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(163); - if (aux_sym__name_char_token3_character_set_1(lookahead)) - ADVANCE(169); - if (aux_sym__name_char_token8_character_set_1(lookahead)) - ADVANCE(174); - if ((3014 <= lookahead && lookahead <= 3016) || - (3018 <= lookahead && lookahead <= 3021) || - lookahead == 3031 || - (3398 <= lookahead && lookahead <= 3400) || - (3402 <= lookahead && lookahead <= 3405) || - lookahead == 3415 || - lookahead == 3633) - ADVANCE(176); - if ((2496 <= lookahead && lookahead <= 2500) || - lookahead == 2503 || - lookahead == 2504 || - (2507 <= lookahead && lookahead <= 2509) || - lookahead == 2530 || - lookahead == 2531 || - (2624 <= lookahead && lookahead <= 2626) || - lookahead == 2631 || - lookahead == 2632) - ADVANCE(172); - if ((2878 <= lookahead && lookahead <= 2883) || - lookahead == 2887 || - lookahead == 2888 || - (2891 <= lookahead && lookahead <= 2893) || - lookahead == 2902 || - lookahead == 2903 || - lookahead == 2946 || - lookahead == 2947 || - (3006 <= lookahead && lookahead <= 3010)) - ADVANCE(175); - if ((2635 <= lookahead && lookahead <= 2637) || - lookahead == 2672 || - lookahead == 2673 || - (2689 <= lookahead && lookahead <= 2691) || - lookahead == 2748 || - (2750 <= lookahead && lookahead <= 2757) || - (2759 <= lookahead && lookahead <= 2761) || - lookahead == 12293) - ADVANCE(173); - if ((3073 <= lookahead && lookahead <= 3075) || - (3134 <= lookahead && lookahead <= 3140) || - (3142 <= lookahead && lookahead <= 3144) || - (3146 <= lookahead && lookahead <= 3149) || - lookahead == 3157 || - lookahead == 3158 || - lookahead == 3202 || - lookahead == 3203) - ADVANCE(177); - if ((3262 <= lookahead && lookahead <= 3268) || - (3270 <= lookahead && lookahead <= 3272) || - (3274 <= lookahead && lookahead <= 3277) || - lookahead == 3285 || - lookahead == 3286 || - lookahead == 3330 || - lookahead == 3331 || - (3390 <= lookahead && lookahead <= 3395)) - ADVANCE(178); - if (('A' <= lookahead && lookahead <= 'Z')) - ADVANCE(163); - if (('a' <= lookahead && lookahead <= 'z')) - ADVANCE(163); - if (lookahead == 1473 || - lookahead == 1474 || - (1611 <= lookahead && lookahead <= 1618) || - (1750 <= lookahead && lookahead <= 1764) || - lookahead == 1767 || - lookahead == 1768) - ADVANCE(170); - if ((1770 <= lookahead && lookahead <= 1773) || - (2305 <= lookahead && lookahead <= 2307) || - (2366 <= lookahead && lookahead <= 2380) || - (2385 <= lookahead && lookahead <= 2388) || - lookahead == 2402 || - lookahead == 2403 || - (2433 <= lookahead && lookahead <= 2435)) - ADVANCE(171); - if ((3636 <= lookahead && lookahead <= 3642) || - (3655 <= lookahead && lookahead <= 3662) || - lookahead == 3761 || - (3764 <= lookahead && lookahead <= 3769) || - lookahead == 3771 || - lookahead == 3772 || - (3784 <= lookahead && lookahead <= 3789) || - lookahead == 3864 || - lookahead == 3865) - ADVANCE(179); - if (lookahead == 3893 || - lookahead == 3895 || - lookahead == 3897 || - lookahead == 3902 || - lookahead == 3903 || - (3953 <= lookahead && lookahead <= 3972) || - (3974 <= lookahead && lookahead <= 3979) || - (3984 <= lookahead && lookahead <= 3989) || - lookahead == 3991) - ADVANCE(180); - if ((3993 <= lookahead && lookahead <= 4013) || - (4017 <= lookahead && lookahead <= 4023) || - lookahead == 4025 || - (8400 <= lookahead && lookahead <= 8412) || - lookahead == 8417 || - (12330 <= lookahead && lookahead <= 12335) || - lookahead == 12441) - ADVANCE(181); - if ((768 <= lookahead && lookahead <= 837) || - lookahead == 864 || - lookahead == 865 || - (1155 <= lookahead && lookahead <= 1158) || - (1425 <= lookahead && lookahead <= 1441) || - (1443 <= lookahead && lookahead <= 1465) || - (1467 <= lookahead && lookahead <= 1469)) - ADVANCE(168); - if (lookahead != 0) - ADVANCE(185); - END_STATE(); - case 1: - if (lookahead == ' ') - ADVANCE(154); - END_STATE(); - case 2: - if (lookahead == ' ') - ADVANCE(20); - END_STATE(); - case 3: - if (lookahead == '!') - ADVANCE(14); - if (lookahead == '?') - ADVANCE(193); - END_STATE(); - case 4: - if (lookahead == '"') - ADVANCE(184); - if (lookahead == '&') - ADVANCE(253); - if (lookahead != 0 && - lookahead != '<') - ADVANCE(185); - END_STATE(); - case 5: - if (lookahead == '"') - ADVANCE(184); - if (lookahead == '\'') - ADVANCE(186); - if (lookahead == '-') - ADVANCE(165); - if (lookahead == '.' || - ('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(260); - END_STATE(); - case 6: - if (lookahead == '"') - ADVANCE(184); - if (lookahead == '(') - ADVANCE(228); - if (lookahead == '1') - ADVANCE(21); - if (lookahead == '>') - ADVANCE(208); - if (lookahead == '?') - ADVANCE(23); - if (lookahead == 'A') - ADVANCE(82); - if (lookahead == 'C') - ADVANCE(44); - if (lookahead == 'E') - ADVANCE(77); - if (lookahead == 'I') - ADVANCE(42); - if (lookahead == 'N') - ADVANCE(78); - if (lookahead == 'P') - ADVANCE(117); - if (lookahead == 'S') - ADVANCE(124); - if (lookahead == '[') - ADVANCE(206); - if (lookahead == 'e') - ADVANCE(141); - if (lookahead == 'n') - ADVANCE(146); - if (lookahead == 's') - ADVANCE(153); - if (lookahead == 'v') - ADVANCE(132); - if (lookahead == 'y') - ADVANCE(133); - END_STATE(); - case 7: - if (lookahead == '"') - ADVANCE(184); - if (lookahead == '\n' || - lookahead == '\r' || - (' ' <= lookahead && lookahead <= '%') || - ('(' <= lookahead && lookahead <= ';') || - lookahead == '=' || - ('?' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(188); - END_STATE(); - case 8: - if (lookahead == '#') - ADVANCE(92); - if (lookahead == '%') - ADVANCE(254); - if (lookahead == '(') - ADVANCE(228); - if (lookahead == '/') - ADVANCE(22); - if (lookahead == ':') - ADVANCE(167); - if (lookahead == '>') - ADVANCE(208); - if (lookahead == '_') - ADVANCE(182); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(183); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(163); - END_STATE(); - case 9: - if (lookahead == '%') - ADVANCE(254); - if (lookahead == '&') - ADVANCE(253); - if (lookahead == '>') - ADVANCE(208); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(183); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '<') - ADVANCE(185); - END_STATE(); - case 10: - if (lookahead == '&') - ADVANCE(253); - if (lookahead == '\'') - ADVANCE(186); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '<') - ADVANCE(185); - END_STATE(); - case 11: - if (lookahead == '&') - ADVANCE(253); - if (lookahead == '<') - ADVANCE(218); - if (lookahead != 0) - ADVANCE(189); - END_STATE(); - case 12: - if (lookahead == '\'') - ADVANCE(186); - if (lookahead == '\n' || - lookahead == '\r' || - (' ' <= lookahead && lookahead <= '%') || - ('(' <= lookahead && lookahead <= ';') || - lookahead == '=' || - ('?' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(188); - END_STATE(); - case 13: - if (lookahead == '-') - ADVANCE(18); - END_STATE(); - case 14: - if (lookahead == '-') - ADVANCE(18); - if (lookahead == 'A') - ADVANCE(105); - if (lookahead == 'D') - ADVANCE(84); - if (lookahead == 'E') - ADVANCE(70); - if (lookahead == 'N') - ADVANCE(87); - END_STATE(); - case 15: - if (lookahead == '-') - ADVANCE(18); - if (lookahead == 'A') - ADVANCE(105); - if (lookahead == 'D') - ADVANCE(84); - if (lookahead == 'E') - ADVANCE(70); - if (lookahead == 'N') - ADVANCE(87); - if (lookahead == '[') - ADVANCE(248); - END_STATE(); - case 16: - if (lookahead == '-') - ADVANCE(18); - if (lookahead == 'D') - ADVANCE(84); - END_STATE(); - case 17: - if (lookahead == '-') - ADVANCE(18); - if (lookahead == '[') - ADVANCE(35); - END_STATE(); - case 18: - if (lookahead == '-') - ADVANCE(190); - END_STATE(); - case 19: - if (lookahead == '-') - ADVANCE(166); - if (lookahead != 0) - ADVANCE(191); - END_STATE(); - case 20: - if (lookahead == '-') - ADVANCE(1); - END_STATE(); - case 21: - if (lookahead == '.') - ADVANCE(203); - END_STATE(); - case 22: - if (lookahead == '>') - ADVANCE(221); - END_STATE(); - case 23: - if (lookahead == '>') - ADVANCE(196); - END_STATE(); - case 24: - if (lookahead == '>') - ADVANCE(199); - END_STATE(); - case 25: - if (lookahead == '>') - ADVANCE(192); - END_STATE(); - case 26: - if (lookahead == 'A') - ADVANCE(125); - END_STATE(); - case 27: - if (lookahead == 'A') - ADVANCE(236); - END_STATE(); - case 28: - if (lookahead == 'A') - ADVANCE(233); - END_STATE(); - case 29: - if (lookahead == 'A') - ADVANCE(108); - END_STATE(); - case 30: - if (lookahead == 'A') - ADVANCE(106); - END_STATE(); - case 31: - if (lookahead == 'A') - ADVANCE(109); - END_STATE(); - case 32: - if (lookahead == 'A') - ADVANCE(113); - END_STATE(); - case 33: - if (lookahead == 'A') - ADVANCE(111); - END_STATE(); - case 34: - if (lookahead == 'B') - ADVANCE(73); - END_STATE(); - case 35: - if (lookahead == 'C') - ADVANCE(43); - END_STATE(); - case 36: - if (lookahead == 'C') - ADVANCE(257); - END_STATE(); - case 37: - if (lookahead == 'C') - ADVANCE(101); - END_STATE(); - case 38: - if (lookahead == 'C') - ADVANCE(45); - END_STATE(); - case 39: - if (lookahead == 'D') - ADVANCE(247); - END_STATE(); - case 40: - if (lookahead == 'D') - ADVANCE(246); - END_STATE(); - case 41: - if (lookahead == 'D') - ADVANCE(245); - END_STATE(); - case 42: - if (lookahead == 'D') - ADVANCE(237); - END_STATE(); - case 43: - if (lookahead == 'D') - ADVANCE(30); - END_STATE(); - case 44: - if (lookahead == 'D') - ADVANCE(31); - END_STATE(); - case 45: - if (lookahead == 'D') - ADVANCE(33); - END_STATE(); - case 46: - if (lookahead == 'E') - ADVANCE(75); - END_STATE(); - case 47: - if (lookahead == 'E') - ADVANCE(83); - END_STATE(); - case 48: - if (lookahead == 'E') - ADVANCE(205); - END_STATE(); - case 49: - if (lookahead == 'E') - ADVANCE(93); - END_STATE(); - case 50: - if (lookahead == 'E') - ADVANCE(57); - END_STATE(); - case 51: - if (lookahead == 'E') - ADVANCE(39); - END_STATE(); - case 52: - if (lookahead == 'E') - ADVANCE(95); - END_STATE(); - case 53: - if (lookahead == 'E') - ADVANCE(40); - END_STATE(); - case 54: - if (lookahead == 'E') - ADVANCE(74); - END_STATE(); - case 55: - if (lookahead == 'E') - ADVANCE(41); - END_STATE(); - case 56: - if (lookahead == 'E') - ADVANCE(80); - END_STATE(); - case 57: - if (lookahead == 'F') - ADVANCE(238); - END_STATE(); - case 58: - if (lookahead == 'F') - ADVANCE(60); - if (lookahead == 'I') - ADVANCE(76); - if (lookahead == 'R') - ADVANCE(49); - END_STATE(); - case 59: - if (lookahead == 'I') - ADVANCE(96); - END_STATE(); - case 60: - if (lookahead == 'I') - ADVANCE(119); - END_STATE(); - case 61: - if (lookahead == 'I') - ADVANCE(94); - END_STATE(); - case 62: - if (lookahead == 'I') - ADVANCE(86); - END_STATE(); - case 63: - if (lookahead == 'I') - ADVANCE(36); - END_STATE(); - case 64: - if (lookahead == 'I') - ADVANCE(88); - END_STATE(); - case 65: - if (lookahead == 'I') - ADVANCE(107); - END_STATE(); - case 66: - if (lookahead == 'I') - ADVANCE(53); - END_STATE(); - case 67: - if (lookahead == 'I') - ADVANCE(52); - if (lookahead == 'Y') - ADVANCE(240); - END_STATE(); - case 68: - if (lookahead == 'I') - ADVANCE(104); - END_STATE(); - case 69: - if (lookahead == 'K') - ADVANCE(56); - END_STATE(); - case 70: - if (lookahead == 'L') - ADVANCE(46); - if (lookahead == 'N') - ADVANCE(99); - END_STATE(); - case 71: - if (lookahead == 'L') - ADVANCE(59); - END_STATE(); - case 72: - if (lookahead == 'L') - ADVANCE(66); - END_STATE(); - case 73: - if (lookahead == 'L') - ADVANCE(63); - END_STATE(); - case 74: - if (lookahead == 'M') - ADVANCE(256); - END_STATE(); - case 75: - if (lookahead == 'M') - ADVANCE(47); - END_STATE(); - case 76: - if (lookahead == 'M') - ADVANCE(91); - END_STATE(); - case 77: - if (lookahead == 'M') - ADVANCE(90); - if (lookahead == 'N') - ADVANCE(115); - END_STATE(); - case 78: - if (lookahead == 'M') - ADVANCE(110); - if (lookahead == 'O') - ADVANCE(116); - END_STATE(); - case 79: - if (lookahead == 'N') - ADVANCE(261); - END_STATE(); - case 80: - if (lookahead == 'N') - ADVANCE(242); - END_STATE(); - case 81: - if (lookahead == 'N') - ADVANCE(244); - END_STATE(); - case 82: - if (lookahead == 'N') - ADVANCE(122); - END_STATE(); - case 83: - if (lookahead == 'N') - ADVANCE(103); - END_STATE(); - case 84: - if (lookahead == 'O') - ADVANCE(37); - END_STATE(); - case 85: - if (lookahead == 'O') - ADVANCE(69); - END_STATE(); - case 86: - if (lookahead == 'O') - ADVANCE(79); - END_STATE(); - case 87: - if (lookahead == 'O') - ADVANCE(100); - END_STATE(); - case 88: - if (lookahead == 'O') - ADVANCE(81); - END_STATE(); - case 89: - if (lookahead == 'P') - ADVANCE(48); - END_STATE(); - case 90: - if (lookahead == 'P') - ADVANCE(112); - END_STATE(); - case 91: - if (lookahead == 'P') - ADVANCE(72); - END_STATE(); - case 92: - if (lookahead == 'P') - ADVANCE(38); - END_STATE(); - case 93: - if (lookahead == 'Q') - ADVANCE(118); - END_STATE(); - case 94: - if (lookahead == 'R') - ADVANCE(55); - END_STATE(); - case 95: - if (lookahead == 'S') - ADVANCE(241); - END_STATE(); - case 96: - if (lookahead == 'S') - ADVANCE(102); - END_STATE(); - case 97: - if (lookahead == 'S') - ADVANCE(114); - END_STATE(); - case 98: - if (lookahead == 'T') - ADVANCE(71); - END_STATE(); - case 99: - if (lookahead == 'T') - ADVANCE(65); - END_STATE(); - case 100: - if (lookahead == 'T') - ADVANCE(29); - END_STATE(); - case 101: - if (lookahead == 'T') - ADVANCE(120); - END_STATE(); - case 102: - if (lookahead == 'T') - ADVANCE(235); - END_STATE(); - case 103: - if (lookahead == 'T') - ADVANCE(222); - END_STATE(); - case 104: - if (lookahead == 'T') - ADVANCE(67); - END_STATE(); - case 105: - if (lookahead == 'T') - ADVANCE(98); - END_STATE(); - case 106: - if (lookahead == 'T') - ADVANCE(26); - END_STATE(); - case 107: - if (lookahead == 'T') - ADVANCE(121); - END_STATE(); - case 108: - if (lookahead == 'T') - ADVANCE(62); - END_STATE(); - case 109: - if (lookahead == 'T') - ADVANCE(27); - END_STATE(); - case 110: - if (lookahead == 'T') - ADVANCE(85); - END_STATE(); - case 111: - if (lookahead == 'T') - ADVANCE(28); - END_STATE(); - case 112: - if (lookahead == 'T') - ADVANCE(123); - END_STATE(); - case 113: - if (lookahead == 'T') - ADVANCE(64); - END_STATE(); - case 114: - if (lookahead == 'T') - ADVANCE(54); - END_STATE(); - case 115: - if (lookahead == 'T') - ADVANCE(68); - END_STATE(); - case 116: - if (lookahead == 'T') - ADVANCE(32); - END_STATE(); - case 117: - if (lookahead == 'U') - ADVANCE(34); - END_STATE(); - case 118: - if (lookahead == 'U') - ADVANCE(61); - END_STATE(); - case 119: - if (lookahead == 'X') - ADVANCE(51); - END_STATE(); - case 120: - if (lookahead == 'Y') - ADVANCE(89); - END_STATE(); - case 121: - if (lookahead == 'Y') - ADVANCE(255); - END_STATE(); - case 122: - if (lookahead == 'Y') - ADVANCE(224); - END_STATE(); - case 123: - if (lookahead == 'Y') - ADVANCE(223); - END_STATE(); - case 124: - if (lookahead == 'Y') - ADVANCE(97); - END_STATE(); - case 125: - if (lookahead == '[') - ADVANCE(197); - END_STATE(); - case 126: - if (lookahead == ']') - ADVANCE(24); - END_STATE(); - case 127: - if (lookahead == 'a') - ADVANCE(139); - END_STATE(); - case 128: - if (lookahead == 'a') - ADVANCE(144); - END_STATE(); - case 129: - if (lookahead == 'c') - ADVANCE(147); - END_STATE(); - case 130: - if (lookahead == 'd') - ADVANCE(127); - END_STATE(); - case 131: - if (lookahead == 'd') - ADVANCE(136); - END_STATE(); - case 132: - if (lookahead == 'e') - ADVANCE(150); - END_STATE(); - case 133: - if (lookahead == 'e') - ADVANCE(151); - END_STATE(); - case 134: - if (lookahead == 'e') - ADVANCE(209); - END_STATE(); - case 135: - if (lookahead == 'g') - ADVANCE(258); - END_STATE(); - case 136: - if (lookahead == 'i') - ADVANCE(142); - END_STATE(); - case 137: - if (lookahead == 'i') - ADVANCE(148); - END_STATE(); - case 138: - if (lookahead == 'l') - ADVANCE(200); - END_STATE(); - case 139: - if (lookahead == 'l') - ADVANCE(149); - END_STATE(); - case 140: - if (lookahead == 'm') - ADVANCE(138); - END_STATE(); - case 141: - if (lookahead == 'n') - ADVANCE(129); - END_STATE(); - case 142: - if (lookahead == 'n') - ADVANCE(135); - END_STATE(); - case 143: - if (lookahead == 'n') - ADVANCE(201); - END_STATE(); - case 144: - if (lookahead == 'n') - ADVANCE(130); - END_STATE(); - case 145: - if (lookahead == 'n') - ADVANCE(134); - END_STATE(); - case 146: - if (lookahead == 'o') - ADVANCE(211); - END_STATE(); - case 147: - if (lookahead == 'o') - ADVANCE(131); - END_STATE(); - case 148: - if (lookahead == 'o') - ADVANCE(143); - END_STATE(); - case 149: - if (lookahead == 'o') - ADVANCE(145); - END_STATE(); - case 150: - if (lookahead == 'r') - ADVANCE(152); - END_STATE(); - case 151: - if (lookahead == 's') - ADVANCE(210); - END_STATE(); - case 152: - if (lookahead == 's') - ADVANCE(137); - END_STATE(); - case 153: - if (lookahead == 't') - ADVANCE(128); - END_STATE(); - case 154: - if (lookahead == '\'' || - lookahead == '.' || - lookahead == '>' || - lookahead == '?') - ADVANCE(195); - END_STATE(); - case 155: - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(204); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(259); - END_STATE(); - case 156: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) - ADVANCE(252); - END_STATE(); - case 157: - if (lookahead != 0 && - lookahead != '\n') - ADVANCE(198); - END_STATE(); - case 158: - if (lookahead != 0 && - lookahead != '\n') - ADVANCE(2); - END_STATE(); - case 159: - if (eof) - ADVANCE(162); - if (lookahead == '"') - ADVANCE(184); - if (lookahead == '#') - ADVANCE(58); - if (lookahead == '\'') - ADVANCE(186); - if (lookahead == '(') - ADVANCE(228); - if (lookahead == ')') - ADVANCE(230); - if (lookahead == ',') - ADVANCE(232); - if (lookahead == '-') - ADVANCE(165); - if (lookahead == '.') - ADVANCE(164); - if (lookahead == '/') - ADVANCE(22); - if (lookahead == ':') - ADVANCE(167); - if (lookahead == ';') - ADVANCE(250); - if (lookahead == '<') - ADVANCE(217); - if (lookahead == '=') - ADVANCE(202); - if (lookahead == '>') - ADVANCE(208); - if (lookahead == '?') - ADVANCE(23); - if (lookahead == '[') - ADVANCE(206); - if (lookahead == ']') - ADVANCE(126); - if (lookahead == '|') - ADVANCE(229); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(183); - if (aux_sym__name_char_token3_character_set_1(lookahead)) - ADVANCE(169); - if (aux_sym__name_char_token8_character_set_1(lookahead)) - ADVANCE(174); - if ((3014 <= lookahead && lookahead <= 3016) || - (3018 <= lookahead && lookahead <= 3021) || - lookahead == 3031 || - (3398 <= lookahead && lookahead <= 3400) || - (3402 <= lookahead && lookahead <= 3405) || - lookahead == 3415 || - lookahead == 3633) - ADVANCE(176); - if ((2496 <= lookahead && lookahead <= 2500) || - lookahead == 2503 || - lookahead == 2504 || - (2507 <= lookahead && lookahead <= 2509) || - lookahead == 2530 || - lookahead == 2531 || - (2624 <= lookahead && lookahead <= 2626) || - lookahead == 2631 || - lookahead == 2632) - ADVANCE(172); - if ((2878 <= lookahead && lookahead <= 2883) || - lookahead == 2887 || - lookahead == 2888 || - (2891 <= lookahead && lookahead <= 2893) || - lookahead == 2902 || - lookahead == 2903 || - lookahead == 2946 || - lookahead == 2947 || - (3006 <= lookahead && lookahead <= 3010)) - ADVANCE(175); - if ((2635 <= lookahead && lookahead <= 2637) || - lookahead == 2672 || - lookahead == 2673 || - (2689 <= lookahead && lookahead <= 2691) || - lookahead == 2748 || - (2750 <= lookahead && lookahead <= 2757) || - (2759 <= lookahead && lookahead <= 2761) || - lookahead == 12293) - ADVANCE(173); - if ((3073 <= lookahead && lookahead <= 3075) || - (3134 <= lookahead && lookahead <= 3140) || - (3142 <= lookahead && lookahead <= 3144) || - (3146 <= lookahead && lookahead <= 3149) || - lookahead == 3157 || - lookahead == 3158 || - lookahead == 3202 || - lookahead == 3203) - ADVANCE(177); - if ((3262 <= lookahead && lookahead <= 3268) || - (3270 <= lookahead && lookahead <= 3272) || - (3274 <= lookahead && lookahead <= 3277) || - lookahead == 3285 || - lookahead == 3286 || - lookahead == 3330 || - lookahead == 3331 || - (3390 <= lookahead && lookahead <= 3395)) - ADVANCE(178); - if (lookahead == 1473 || - lookahead == 1474 || - (1611 <= lookahead && lookahead <= 1618) || - (1750 <= lookahead && lookahead <= 1764) || - lookahead == 1767 || - lookahead == 1768) - ADVANCE(170); - if ((1770 <= lookahead && lookahead <= 1773) || - (2305 <= lookahead && lookahead <= 2307) || - (2366 <= lookahead && lookahead <= 2380) || - (2385 <= lookahead && lookahead <= 2388) || - lookahead == 2402 || - lookahead == 2403 || - (2433 <= lookahead && lookahead <= 2435)) - ADVANCE(171); - if ((3636 <= lookahead && lookahead <= 3642) || - (3655 <= lookahead && lookahead <= 3662) || - lookahead == 3761 || - (3764 <= lookahead && lookahead <= 3769) || - lookahead == 3771 || - lookahead == 3772 || - (3784 <= lookahead && lookahead <= 3789) || - lookahead == 3864 || - lookahead == 3865) - ADVANCE(179); - if (lookahead == 3893 || - lookahead == 3895 || - lookahead == 3897 || - lookahead == 3902 || - lookahead == 3903 || - (3953 <= lookahead && lookahead <= 3972) || - (3974 <= lookahead && lookahead <= 3979) || - (3984 <= lookahead && lookahead <= 3989) || - lookahead == 3991) - ADVANCE(180); - if ((3993 <= lookahead && lookahead <= 4013) || - (4017 <= lookahead && lookahead <= 4023) || - lookahead == 4025 || - (8400 <= lookahead && lookahead <= 8412) || - lookahead == 8417 || - (12330 <= lookahead && lookahead <= 12335) || - lookahead == 12441) - ADVANCE(181); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(163); - if ((768 <= lookahead && lookahead <= 837) || - lookahead == 864 || - lookahead == 865 || - (1155 <= lookahead && lookahead <= 1158) || - (1425 <= lookahead && lookahead <= 1441) || - (1443 <= lookahead && lookahead <= 1465) || - (1467 <= lookahead && lookahead <= 1469)) - ADVANCE(168); - END_STATE(); - case 160: - if (eof) - ADVANCE(162); - if (lookahead == '%') - ADVANCE(254); - if (lookahead == ')') - ADVANCE(230); - if (lookahead == '*') - ADVANCE(226); - if (lookahead == '+') - ADVANCE(227); - if (lookahead == ',') - ADVANCE(232); - if (lookahead == '-') - ADVANCE(165); - if (lookahead == '.') - ADVANCE(164); - if (lookahead == ':') - ADVANCE(167); - if (lookahead == '<') - ADVANCE(3); - if (lookahead == '>') - ADVANCE(208); - if (lookahead == '?') - ADVANCE(225); - if (lookahead == ']') - ADVANCE(207); - if (lookahead == '|') - ADVANCE(229); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(183); - if (aux_sym__name_char_token3_character_set_1(lookahead)) - ADVANCE(169); - if (aux_sym__name_char_token8_character_set_1(lookahead)) - ADVANCE(174); - if ((3014 <= lookahead && lookahead <= 3016) || - (3018 <= lookahead && lookahead <= 3021) || - lookahead == 3031 || - (3398 <= lookahead && lookahead <= 3400) || - (3402 <= lookahead && lookahead <= 3405) || - lookahead == 3415 || - lookahead == 3633) - ADVANCE(176); - if ((2496 <= lookahead && lookahead <= 2500) || - lookahead == 2503 || - lookahead == 2504 || - (2507 <= lookahead && lookahead <= 2509) || - lookahead == 2530 || - lookahead == 2531 || - (2624 <= lookahead && lookahead <= 2626) || - lookahead == 2631 || - lookahead == 2632) - ADVANCE(172); - if ((2878 <= lookahead && lookahead <= 2883) || - lookahead == 2887 || - lookahead == 2888 || - (2891 <= lookahead && lookahead <= 2893) || - lookahead == 2902 || - lookahead == 2903 || - lookahead == 2946 || - lookahead == 2947 || - (3006 <= lookahead && lookahead <= 3010)) - ADVANCE(175); - if ((2635 <= lookahead && lookahead <= 2637) || - lookahead == 2672 || - lookahead == 2673 || - (2689 <= lookahead && lookahead <= 2691) || - lookahead == 2748 || - (2750 <= lookahead && lookahead <= 2757) || - (2759 <= lookahead && lookahead <= 2761) || - lookahead == 12293) - ADVANCE(173); - if ((3073 <= lookahead && lookahead <= 3075) || - (3134 <= lookahead && lookahead <= 3140) || - (3142 <= lookahead && lookahead <= 3144) || - (3146 <= lookahead && lookahead <= 3149) || - lookahead == 3157 || - lookahead == 3158 || - lookahead == 3202 || - lookahead == 3203) - ADVANCE(177); - if ((3262 <= lookahead && lookahead <= 3268) || - (3270 <= lookahead && lookahead <= 3272) || - (3274 <= lookahead && lookahead <= 3277) || - lookahead == 3285 || - lookahead == 3286 || - lookahead == 3330 || - lookahead == 3331 || - (3390 <= lookahead && lookahead <= 3395)) - ADVANCE(178); - if (lookahead == 1473 || - lookahead == 1474 || - (1611 <= lookahead && lookahead <= 1618) || - (1750 <= lookahead && lookahead <= 1764) || - lookahead == 1767 || - lookahead == 1768) - ADVANCE(170); - if ((1770 <= lookahead && lookahead <= 1773) || - (2305 <= lookahead && lookahead <= 2307) || - (2366 <= lookahead && lookahead <= 2380) || - (2385 <= lookahead && lookahead <= 2388) || - lookahead == 2402 || - lookahead == 2403 || - (2433 <= lookahead && lookahead <= 2435)) - ADVANCE(171); - if ((3636 <= lookahead && lookahead <= 3642) || - (3655 <= lookahead && lookahead <= 3662) || - lookahead == 3761 || - (3764 <= lookahead && lookahead <= 3769) || - lookahead == 3771 || - lookahead == 3772 || - (3784 <= lookahead && lookahead <= 3789) || - lookahead == 3864 || - lookahead == 3865) - ADVANCE(179); - if (lookahead == 3893 || - lookahead == 3895 || - lookahead == 3897 || - lookahead == 3902 || - lookahead == 3903 || - (3953 <= lookahead && lookahead <= 3972) || - (3974 <= lookahead && lookahead <= 3979) || - (3984 <= lookahead && lookahead <= 3989) || - lookahead == 3991) - ADVANCE(180); - if ((3993 <= lookahead && lookahead <= 4013) || - (4017 <= lookahead && lookahead <= 4023) || - lookahead == 4025 || - (8400 <= lookahead && lookahead <= 8412) || - lookahead == 8417 || - (12330 <= lookahead && lookahead <= 12335) || - lookahead == 12441) - ADVANCE(181); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(163); - if ((768 <= lookahead && lookahead <= 837) || - lookahead == 864 || - lookahead == 865 || - (1155 <= lookahead && lookahead <= 1158) || - (1425 <= lookahead && lookahead <= 1441) || - (1443 <= lookahead && lookahead <= 1465) || - (1467 <= lookahead && lookahead <= 1469)) - ADVANCE(168); - END_STATE(); - case 161: - if (eof) - ADVANCE(162); - if (lookahead == ')') - ADVANCE(231); - if (lookahead == '-') - ADVANCE(165); - if (lookahead == '.') - ADVANCE(164); - if (lookahead == ':') - ADVANCE(167); - if (lookahead == '<') - ADVANCE(219); - if (lookahead == '|') - ADVANCE(229); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') - ADVANCE(183); - if (aux_sym__name_char_token3_character_set_1(lookahead)) - ADVANCE(169); - if (aux_sym__name_char_token8_character_set_1(lookahead)) - ADVANCE(174); - if ((3014 <= lookahead && lookahead <= 3016) || - (3018 <= lookahead && lookahead <= 3021) || - lookahead == 3031 || - (3398 <= lookahead && lookahead <= 3400) || - (3402 <= lookahead && lookahead <= 3405) || - lookahead == 3415 || - lookahead == 3633) - ADVANCE(176); - if ((2496 <= lookahead && lookahead <= 2500) || - lookahead == 2503 || - lookahead == 2504 || - (2507 <= lookahead && lookahead <= 2509) || - lookahead == 2530 || - lookahead == 2531 || - (2624 <= lookahead && lookahead <= 2626) || - lookahead == 2631 || - lookahead == 2632) - ADVANCE(172); - if ((2878 <= lookahead && lookahead <= 2883) || - lookahead == 2887 || - lookahead == 2888 || - (2891 <= lookahead && lookahead <= 2893) || - lookahead == 2902 || - lookahead == 2903 || - lookahead == 2946 || - lookahead == 2947 || - (3006 <= lookahead && lookahead <= 3010)) - ADVANCE(175); - if ((2635 <= lookahead && lookahead <= 2637) || - lookahead == 2672 || - lookahead == 2673 || - (2689 <= lookahead && lookahead <= 2691) || - lookahead == 2748 || - (2750 <= lookahead && lookahead <= 2757) || - (2759 <= lookahead && lookahead <= 2761) || - lookahead == 12293) - ADVANCE(173); - if ((3073 <= lookahead && lookahead <= 3075) || - (3134 <= lookahead && lookahead <= 3140) || - (3142 <= lookahead && lookahead <= 3144) || - (3146 <= lookahead && lookahead <= 3149) || - lookahead == 3157 || - lookahead == 3158 || - lookahead == 3202 || - lookahead == 3203) - ADVANCE(177); - if ((3262 <= lookahead && lookahead <= 3268) || - (3270 <= lookahead && lookahead <= 3272) || - (3274 <= lookahead && lookahead <= 3277) || - lookahead == 3285 || - lookahead == 3286 || - lookahead == 3330 || - lookahead == 3331 || - (3390 <= lookahead && lookahead <= 3395)) - ADVANCE(178); - if (lookahead == 1473 || - lookahead == 1474 || - (1611 <= lookahead && lookahead <= 1618) || - (1750 <= lookahead && lookahead <= 1764) || - lookahead == 1767 || - lookahead == 1768) - ADVANCE(170); - if ((1770 <= lookahead && lookahead <= 1773) || - (2305 <= lookahead && lookahead <= 2307) || - (2366 <= lookahead && lookahead <= 2380) || - (2385 <= lookahead && lookahead <= 2388) || - lookahead == 2402 || - lookahead == 2403 || - (2433 <= lookahead && lookahead <= 2435)) - ADVANCE(171); - if ((3636 <= lookahead && lookahead <= 3642) || - (3655 <= lookahead && lookahead <= 3662) || - lookahead == 3761 || - (3764 <= lookahead && lookahead <= 3769) || - lookahead == 3771 || - lookahead == 3772 || - (3784 <= lookahead && lookahead <= 3789) || - lookahead == 3864 || - lookahead == 3865) - ADVANCE(179); - if (lookahead == 3893 || - lookahead == 3895 || - lookahead == 3897 || - lookahead == 3902 || - lookahead == 3903 || - (3953 <= lookahead && lookahead <= 3972) || - (3974 <= lookahead && lookahead <= 3979) || - (3984 <= lookahead && lookahead <= 3989) || - lookahead == 3991) - ADVANCE(180); - if ((3993 <= lookahead && lookahead <= 4013) || - (4017 <= lookahead && lookahead <= 4023) || - lookahead == 4025 || - (8400 <= lookahead && lookahead <= 8412) || - lookahead == 8417 || - (12330 <= lookahead && lookahead <= 12335) || - lookahead == 12441) - ADVANCE(181); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(163); - if ((768 <= lookahead && lookahead <= 837) || - lookahead == 864 || - lookahead == 865 || - (1155 <= lookahead && lookahead <= 1158) || - (1425 <= lookahead && lookahead <= 1441) || - (1443 <= lookahead && lookahead <= 1465) || - (1467 <= lookahead && lookahead <= 1469)) - ADVANCE(168); - END_STATE(); - case 162: - ACCEPT_TOKEN(ts_builtin_sym_end); - END_STATE(); - case 163: - ACCEPT_TOKEN(aux_sym__name_char_token1); - END_STATE(); - case 164: - ACCEPT_TOKEN(anon_sym_DOT); - END_STATE(); - case 165: - ACCEPT_TOKEN(anon_sym_DASH); - END_STATE(); - case 166: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '-') - ADVANCE(25); - END_STATE(); - case 167: - ACCEPT_TOKEN(anon_sym_COLON); - END_STATE(); - case 168: - ACCEPT_TOKEN(aux_sym__name_char_token2); - END_STATE(); - case 169: - ACCEPT_TOKEN(aux_sym__name_char_token3); - END_STATE(); - case 170: - ACCEPT_TOKEN(aux_sym__name_char_token4); - END_STATE(); - case 171: - ACCEPT_TOKEN(aux_sym__name_char_token5); - END_STATE(); - case 172: - ACCEPT_TOKEN(aux_sym__name_char_token6); - END_STATE(); - case 173: - ACCEPT_TOKEN(aux_sym__name_char_token7); - END_STATE(); - case 174: - ACCEPT_TOKEN(aux_sym__name_char_token8); - END_STATE(); - case 175: - ACCEPT_TOKEN(aux_sym__name_char_token9); - END_STATE(); - case 176: - ACCEPT_TOKEN(aux_sym__name_char_token10); - END_STATE(); - case 177: - ACCEPT_TOKEN(aux_sym__name_char_token11); - END_STATE(); - case 178: - ACCEPT_TOKEN(aux_sym__name_char_token12); - END_STATE(); - case 179: - ACCEPT_TOKEN(aux_sym__name_char_token13); - END_STATE(); - case 180: - ACCEPT_TOKEN(aux_sym__name_char_token14); - END_STATE(); - case 181: - ACCEPT_TOKEN(aux_sym__name_char_token15); - END_STATE(); - case 182: - ACCEPT_TOKEN(anon_sym__); - END_STATE(); - case 183: - ACCEPT_TOKEN(aux_sym_names_token1); - END_STATE(); - case 184: - ACCEPT_TOKEN(anon_sym_DQUOTE); - END_STATE(); - case 185: - ACCEPT_TOKEN(aux_sym_entity_value_token1); - END_STATE(); - case 186: - ACCEPT_TOKEN(anon_sym_SQUOTE); - END_STATE(); - case 187: - ACCEPT_TOKEN(aux_sym_system_literal_token1); - if (lookahead != 0 && - lookahead != '"') - ADVANCE(187); - END_STATE(); - case 188: - ACCEPT_TOKEN(sym_pubid_char); - END_STATE(); - case 189: - ACCEPT_TOKEN(sym__char_data); - if (lookahead != 0 && - lookahead != '&' && - lookahead != '<') - ADVANCE(189); - END_STATE(); - case 190: - ACCEPT_TOKEN(anon_sym_LT_BANG_DASH_DASH); - END_STATE(); - case 191: - ACCEPT_TOKEN(aux_sym_comment_token1); - END_STATE(); - case 192: - ACCEPT_TOKEN(anon_sym_DASH_DASH_GT); - END_STATE(); - case 193: - ACCEPT_TOKEN(anon_sym_LT_QMARK); - END_STATE(); - case 194: - ACCEPT_TOKEN(anon_sym_LT_QMARK); - if (lookahead == 'x') - ADVANCE(140); - END_STATE(); - case 195: - ACCEPT_TOKEN(aux_sym_processing_instructions_token1); - END_STATE(); - case 196: - ACCEPT_TOKEN(anon_sym_QMARK_GT); - END_STATE(); - case 197: - ACCEPT_TOKEN(sym__cdata_start); - END_STATE(); - case 198: - ACCEPT_TOKEN(aux_sym_cdata_token1); - END_STATE(); - case 199: - ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK_GT); - END_STATE(); - case 200: - ACCEPT_TOKEN(anon_sym_LT_QMARKxml); - END_STATE(); - case 201: - ACCEPT_TOKEN(anon_sym_version); - END_STATE(); - case 202: - ACCEPT_TOKEN(anon_sym_EQ); - END_STATE(); - case 203: - ACCEPT_TOKEN(anon_sym_1_DOT); - END_STATE(); - case 204: - ACCEPT_TOKEN(aux_sym__version_num_token1); - if (('0' <= lookahead && lookahead <= '9')) - ADVANCE(204); - END_STATE(); - case 205: - ACCEPT_TOKEN(anon_sym_LT_BANGDOCTYPE); - END_STATE(); - case 206: - ACCEPT_TOKEN(anon_sym_LBRACK); - END_STATE(); - case 207: - ACCEPT_TOKEN(anon_sym_RBRACK); - END_STATE(); - case 208: - ACCEPT_TOKEN(anon_sym_GT); - END_STATE(); - case 209: - ACCEPT_TOKEN(anon_sym_standalone); - END_STATE(); - case 210: - ACCEPT_TOKEN(anon_sym_yes); - END_STATE(); - case 211: - ACCEPT_TOKEN(anon_sym_no); - END_STATE(); - case 212: - ACCEPT_TOKEN(anon_sym_i); - END_STATE(); - case 213: - ACCEPT_TOKEN(anon_sym_I); - END_STATE(); - case 214: - ACCEPT_TOKEN(anon_sym_x); - END_STATE(); - case 215: - ACCEPT_TOKEN(anon_sym_X); - END_STATE(); - case 216: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '!') - ADVANCE(15); - if (lookahead == '/') - ADVANCE(220); - if (lookahead == '?') - ADVANCE(194); - END_STATE(); - case 217: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '!') - ADVANCE(16); - if (lookahead == '?') - ADVANCE(194); - END_STATE(); - case 218: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '!') - ADVANCE(17); - if (lookahead == '/') - ADVANCE(220); - if (lookahead == '?') - ADVANCE(193); - END_STATE(); - case 219: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '!') - ADVANCE(13); - if (lookahead == '?') - ADVANCE(193); - END_STATE(); - case 220: - ACCEPT_TOKEN(anon_sym_LT_SLASH); - END_STATE(); - case 221: - ACCEPT_TOKEN(anon_sym_SLASH_GT); - END_STATE(); - case 222: - ACCEPT_TOKEN(anon_sym_LT_BANGELEMENT); - END_STATE(); - case 223: - ACCEPT_TOKEN(anon_sym_EMPTY); - END_STATE(); - case 224: - ACCEPT_TOKEN(anon_sym_ANY); - END_STATE(); - case 225: - ACCEPT_TOKEN(anon_sym_QMARK); - END_STATE(); - case 226: - ACCEPT_TOKEN(anon_sym_STAR); - END_STATE(); - case 227: - ACCEPT_TOKEN(anon_sym_PLUS); - END_STATE(); - case 228: - ACCEPT_TOKEN(anon_sym_LPAREN); - END_STATE(); - case 229: - ACCEPT_TOKEN(anon_sym_PIPE); - END_STATE(); - case 230: - ACCEPT_TOKEN(anon_sym_RPAREN); - END_STATE(); - case 231: - ACCEPT_TOKEN(anon_sym_RPAREN); - if (lookahead == '*') - ADVANCE(234); - END_STATE(); - case 232: - ACCEPT_TOKEN(anon_sym_COMMA); - END_STATE(); - case 233: - ACCEPT_TOKEN(anon_sym_POUNDPCDATA); - END_STATE(); - case 234: - ACCEPT_TOKEN(anon_sym_RPAREN_STAR); - END_STATE(); - case 235: - ACCEPT_TOKEN(anon_sym_LT_BANGATTLIST); - END_STATE(); - case 236: - ACCEPT_TOKEN(sym__string_type); - END_STATE(); - case 237: - ACCEPT_TOKEN(anon_sym_ID); - if (lookahead == 'R') - ADVANCE(50); - END_STATE(); - case 238: - ACCEPT_TOKEN(anon_sym_IDREF); - if (lookahead == 'S') - ADVANCE(239); - END_STATE(); - case 239: - ACCEPT_TOKEN(anon_sym_IDREFS); - END_STATE(); - case 240: - ACCEPT_TOKEN(anon_sym_ENTITY); - END_STATE(); - case 241: - ACCEPT_TOKEN(anon_sym_ENTITIES); - END_STATE(); - case 242: - ACCEPT_TOKEN(anon_sym_NMTOKEN); - if (lookahead == 'S') - ADVANCE(243); - END_STATE(); - case 243: - ACCEPT_TOKEN(anon_sym_NMTOKENS); - END_STATE(); - case 244: - ACCEPT_TOKEN(anon_sym_NOTATION); - END_STATE(); - case 245: - ACCEPT_TOKEN(anon_sym_POUNDREQUIRED); - END_STATE(); - case 246: - ACCEPT_TOKEN(anon_sym_POUNDIMPLIED); - END_STATE(); - case 247: - ACCEPT_TOKEN(anon_sym_POUNDFIXED); - END_STATE(); - case 248: - ACCEPT_TOKEN(anon_sym_LT_BANG_LBRACK); - if (lookahead == 'C') - ADVANCE(43); - END_STATE(); - case 249: - ACCEPT_TOKEN(anon_sym_AMP_POUND); - if (lookahead == 'x') - ADVANCE(251); - END_STATE(); - case 250: - ACCEPT_TOKEN(anon_sym_SEMI); - END_STATE(); - case 251: - ACCEPT_TOKEN(anon_sym_AMP_POUNDx); - END_STATE(); - case 252: - ACCEPT_TOKEN(aux_sym_char_ref_token1); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) - ADVANCE(252); - END_STATE(); - case 253: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '#') - ADVANCE(249); - END_STATE(); - case 254: - ACCEPT_TOKEN(anon_sym_PERCENT); - END_STATE(); - case 255: - ACCEPT_TOKEN(anon_sym_LT_BANGENTITY); - END_STATE(); - case 256: - ACCEPT_TOKEN(anon_sym_SYSTEM); - END_STATE(); - case 257: - ACCEPT_TOKEN(anon_sym_PUBLIC); - END_STATE(); - case 258: - ACCEPT_TOKEN(anon_sym_encoding); - END_STATE(); - case 259: - ACCEPT_TOKEN(aux_sym__enc_name_token1); - END_STATE(); - case 260: - ACCEPT_TOKEN(aux_sym__enc_name_token2); - END_STATE(); - case 261: - ACCEPT_TOKEN(anon_sym_LT_BANGNOTATION); - END_STATE(); - default: - return false; + switch (state) { + case 0: + ADVANCE_MAP( + 'A', 1, + 'C', 2, + 'D', 3, + 'E', 4, + 'I', 5, + 'N', 6, + 'P', 7, + 'S', 8, + 'e', 9, + 'n', 10, + 's', 11, + 'v', 12, + 'x', 13, + 'y', 14, + ); + END_STATE(); + case 1: + if (lookahead == 'N') ADVANCE(15); + if (lookahead == 'T') ADVANCE(16); + END_STATE(); + case 2: + if (lookahead == 'D') ADVANCE(17); + END_STATE(); + case 3: + if (lookahead == 'O') ADVANCE(18); + END_STATE(); + case 4: + if (lookahead == 'L') ADVANCE(19); + if (lookahead == 'M') ADVANCE(20); + if (lookahead == 'N') ADVANCE(21); + END_STATE(); + case 5: + if (lookahead == 'G') ADVANCE(22); + if (lookahead == 'N') ADVANCE(23); + END_STATE(); + case 6: + if (lookahead == 'D') ADVANCE(24); + if (lookahead == 'O') ADVANCE(25); + END_STATE(); + case 7: + if (lookahead == 'U') ADVANCE(26); + END_STATE(); + case 8: + if (lookahead == 'Y') ADVANCE(27); + END_STATE(); + case 9: + if (lookahead == 'n') ADVANCE(28); + END_STATE(); + case 10: + if (lookahead == 'o') ADVANCE(29); + END_STATE(); + case 11: + if (lookahead == 't') ADVANCE(30); + END_STATE(); + case 12: + if (lookahead == 'e') ADVANCE(31); + END_STATE(); + case 13: + if (lookahead == 'm') ADVANCE(32); + END_STATE(); + case 14: + if (lookahead == 'e') ADVANCE(33); + END_STATE(); + case 15: + if (lookahead == 'Y') ADVANCE(34); + END_STATE(); + case 16: + if (lookahead == 'T') ADVANCE(35); + END_STATE(); + case 17: + if (lookahead == 'A') ADVANCE(36); + END_STATE(); + case 18: + if (lookahead == 'C') ADVANCE(37); + END_STATE(); + case 19: + if (lookahead == 'E') ADVANCE(38); + END_STATE(); + case 20: + if (lookahead == 'P') ADVANCE(39); + END_STATE(); + case 21: + if (lookahead == 'T') ADVANCE(40); + END_STATE(); + case 22: + if (lookahead == 'N') ADVANCE(41); + END_STATE(); + case 23: + if (lookahead == 'C') ADVANCE(42); + END_STATE(); + case 24: + if (lookahead == 'A') ADVANCE(43); + END_STATE(); + case 25: + if (lookahead == 'T') ADVANCE(44); + END_STATE(); + case 26: + if (lookahead == 'B') ADVANCE(45); + END_STATE(); + case 27: + if (lookahead == 'S') ADVANCE(46); + END_STATE(); + case 28: + if (lookahead == 'c') ADVANCE(47); + END_STATE(); + case 29: + ACCEPT_TOKEN(anon_sym_no); + END_STATE(); + case 30: + if (lookahead == 'a') ADVANCE(48); + END_STATE(); + case 31: + if (lookahead == 'r') ADVANCE(49); + END_STATE(); + case 32: + if (lookahead == 'l') ADVANCE(50); + END_STATE(); + case 33: + if (lookahead == 's') ADVANCE(51); + END_STATE(); + case 34: + ACCEPT_TOKEN(anon_sym_ANY); + END_STATE(); + case 35: + if (lookahead == 'L') ADVANCE(52); + END_STATE(); + case 36: + if (lookahead == 'T') ADVANCE(53); + END_STATE(); + case 37: + if (lookahead == 'T') ADVANCE(54); + END_STATE(); + case 38: + if (lookahead == 'M') ADVANCE(55); + END_STATE(); + case 39: + if (lookahead == 'T') ADVANCE(56); + END_STATE(); + case 40: + if (lookahead == 'I') ADVANCE(57); + END_STATE(); + case 41: + if (lookahead == 'O') ADVANCE(58); + END_STATE(); + case 42: + if (lookahead == 'L') ADVANCE(59); + END_STATE(); + case 43: + if (lookahead == 'T') ADVANCE(60); + END_STATE(); + case 44: + if (lookahead == 'A') ADVANCE(61); + END_STATE(); + case 45: + if (lookahead == 'L') ADVANCE(62); + END_STATE(); + case 46: + if (lookahead == 'T') ADVANCE(63); + END_STATE(); + case 47: + if (lookahead == 'o') ADVANCE(64); + END_STATE(); + case 48: + if (lookahead == 'n') ADVANCE(65); + END_STATE(); + case 49: + if (lookahead == 's') ADVANCE(66); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_xml); + if (lookahead == '-') ADVANCE(67); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_yes); + END_STATE(); + case 52: + if (lookahead == 'I') ADVANCE(68); + END_STATE(); + case 53: + if (lookahead == 'A') ADVANCE(69); + END_STATE(); + case 54: + if (lookahead == 'Y') ADVANCE(70); + END_STATE(); + case 55: + if (lookahead == 'E') ADVANCE(71); + END_STATE(); + case 56: + if (lookahead == 'Y') ADVANCE(72); + END_STATE(); + case 57: + if (lookahead == 'T') ADVANCE(73); + END_STATE(); + case 58: + if (lookahead == 'R') ADVANCE(74); + END_STATE(); + case 59: + if (lookahead == 'U') ADVANCE(75); + END_STATE(); + case 60: + if (lookahead == 'A') ADVANCE(76); + END_STATE(); + case 61: + if (lookahead == 'T') ADVANCE(77); + END_STATE(); + case 62: + if (lookahead == 'I') ADVANCE(78); + END_STATE(); + case 63: + if (lookahead == 'E') ADVANCE(79); + END_STATE(); + case 64: + if (lookahead == 'd') ADVANCE(80); + END_STATE(); + case 65: + if (lookahead == 'd') ADVANCE(81); + END_STATE(); + case 66: + if (lookahead == 'i') ADVANCE(82); + END_STATE(); + case 67: + if (lookahead == 'm') ADVANCE(83); + if (lookahead == 's') ADVANCE(84); + END_STATE(); + case 68: + if (lookahead == 'S') ADVANCE(85); + END_STATE(); + case 69: + ACCEPT_TOKEN(anon_sym_CDATA); + END_STATE(); + case 70: + if (lookahead == 'P') ADVANCE(86); + END_STATE(); + case 71: + if (lookahead == 'N') ADVANCE(87); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_EMPTY); + END_STATE(); + case 73: + if (lookahead == 'Y') ADVANCE(88); + END_STATE(); + case 74: + if (lookahead == 'E') ADVANCE(89); + END_STATE(); + case 75: + if (lookahead == 'D') ADVANCE(90); + END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_NDATA); + END_STATE(); + case 77: + if (lookahead == 'I') ADVANCE(91); + END_STATE(); + case 78: + if (lookahead == 'C') ADVANCE(92); + END_STATE(); + case 79: + if (lookahead == 'M') ADVANCE(93); + END_STATE(); + case 80: + if (lookahead == 'i') ADVANCE(94); + END_STATE(); + case 81: + if (lookahead == 'a') ADVANCE(95); + END_STATE(); + case 82: + if (lookahead == 'o') ADVANCE(96); + END_STATE(); + case 83: + if (lookahead == 'o') ADVANCE(97); + END_STATE(); + case 84: + if (lookahead == 't') ADVANCE(98); + END_STATE(); + case 85: + if (lookahead == 'T') ADVANCE(99); + END_STATE(); + case 86: + if (lookahead == 'E') ADVANCE(100); + END_STATE(); + case 87: + if (lookahead == 'T') ADVANCE(101); + END_STATE(); + case 88: + ACCEPT_TOKEN(anon_sym_ENTITY); + END_STATE(); + case 89: + ACCEPT_TOKEN(anon_sym_IGNORE); + END_STATE(); + case 90: + if (lookahead == 'E') ADVANCE(102); + END_STATE(); + case 91: + if (lookahead == 'O') ADVANCE(103); + END_STATE(); + case 92: + ACCEPT_TOKEN(anon_sym_PUBLIC); + END_STATE(); + case 93: + ACCEPT_TOKEN(anon_sym_SYSTEM); + END_STATE(); + case 94: + if (lookahead == 'n') ADVANCE(104); + END_STATE(); + case 95: + if (lookahead == 'l') ADVANCE(105); + END_STATE(); + case 96: + if (lookahead == 'n') ADVANCE(106); + END_STATE(); + case 97: + if (lookahead == 'd') ADVANCE(107); + END_STATE(); + case 98: + if (lookahead == 'y') ADVANCE(108); + END_STATE(); + case 99: + ACCEPT_TOKEN(anon_sym_ATTLIST); + END_STATE(); + case 100: + ACCEPT_TOKEN(anon_sym_DOCTYPE); + END_STATE(); + case 101: + ACCEPT_TOKEN(anon_sym_ELEMENT); + END_STATE(); + case 102: + ACCEPT_TOKEN(anon_sym_INCLUDE); + END_STATE(); + case 103: + if (lookahead == 'N') ADVANCE(109); + END_STATE(); + case 104: + if (lookahead == 'g') ADVANCE(110); + END_STATE(); + case 105: + if (lookahead == 'o') ADVANCE(111); + END_STATE(); + case 106: + ACCEPT_TOKEN(anon_sym_version); + END_STATE(); + case 107: + if (lookahead == 'e') ADVANCE(112); + END_STATE(); + case 108: + if (lookahead == 'l') ADVANCE(113); + END_STATE(); + case 109: + ACCEPT_TOKEN(anon_sym_NOTATION); + END_STATE(); + case 110: + ACCEPT_TOKEN(anon_sym_encoding); + END_STATE(); + case 111: + if (lookahead == 'n') ADVANCE(114); + END_STATE(); + case 112: + if (lookahead == 'l') ADVANCE(115); + END_STATE(); + case 113: + if (lookahead == 'e') ADVANCE(116); + END_STATE(); + case 114: + if (lookahead == 'e') ADVANCE(117); + END_STATE(); + case 115: + ACCEPT_TOKEN(anon_sym_xml_DASHmodel); + END_STATE(); + case 116: + if (lookahead == 's') ADVANCE(118); + END_STATE(); + case 117: + ACCEPT_TOKEN(anon_sym_standalone); + END_STATE(); + case 118: + if (lookahead == 'h') ADVANCE(119); + END_STATE(); + case 119: + if (lookahead == 'e') ADVANCE(120); + END_STATE(); + case 120: + if (lookahead == 'e') ADVANCE(121); + END_STATE(); + case 121: + if (lookahead == 't') ADVANCE(122); + END_STATE(); + case 122: + ACCEPT_TOKEN(anon_sym_xml_DASHstylesheet); + END_STATE(); + default: + return false; } } static const TSLexMode ts_lex_modes[STATE_COUNT] = { - [0] = {.lex_state = 0}, - [1] = {.lex_state = 159}, - [2] = {.lex_state = 159}, - [3] = {.lex_state = 159}, - [4] = {.lex_state = 160}, - [5] = {.lex_state = 160}, - [6] = {.lex_state = 160}, - [7] = {.lex_state = 159}, - [8] = {.lex_state = 159}, - [9] = {.lex_state = 161}, - [10] = {.lex_state = 159}, - [11] = {.lex_state = 161}, - [12] = {.lex_state = 161}, - [13] = {.lex_state = 159}, - [14] = {.lex_state = 159}, - [15] = {.lex_state = 159}, - [16] = {.lex_state = 159}, - [17] = {.lex_state = 159}, - [18] = {.lex_state = 159}, - [19] = {.lex_state = 160}, - [20] = {.lex_state = 160}, - [21] = {.lex_state = 160}, - [22] = {.lex_state = 160}, - [23] = {.lex_state = 160}, - [24] = {.lex_state = 160}, - [25] = {.lex_state = 11}, - [26] = {.lex_state = 11}, - [27] = {.lex_state = 11}, - [28] = {.lex_state = 160}, - [29] = {.lex_state = 160}, - [30] = {.lex_state = 160}, - [31] = {.lex_state = 11}, - [32] = {.lex_state = 159}, - [33] = {.lex_state = 11}, - [34] = {.lex_state = 6}, - [35] = {.lex_state = 159}, - [36] = {.lex_state = 161}, - [37] = {.lex_state = 161}, - [38] = {.lex_state = 9}, - [39] = {.lex_state = 9}, - [40] = {.lex_state = 9}, - [41] = {.lex_state = 160}, - [42] = {.lex_state = 159}, - [43] = {.lex_state = 160}, - [44] = {.lex_state = 160}, - [45] = {.lex_state = 160}, - [46] = {.lex_state = 159}, - [47] = {.lex_state = 8}, - [48] = {.lex_state = 159}, - [49] = {.lex_state = 159}, - [50] = {.lex_state = 11}, - [51] = {.lex_state = 11}, - [52] = {.lex_state = 4}, - [53] = {.lex_state = 161}, - [54] = {.lex_state = 11}, - [55] = {.lex_state = 8}, - [56] = {.lex_state = 8}, - [57] = {.lex_state = 160}, - [58] = {.lex_state = 160}, - [59] = {.lex_state = 160}, - [60] = {.lex_state = 8}, - [61] = {.lex_state = 8}, - [62] = {.lex_state = 11}, - [63] = {.lex_state = 8}, - [64] = {.lex_state = 11}, - [65] = {.lex_state = 160}, - [66] = {.lex_state = 160}, - [67] = {.lex_state = 160}, - [68] = {.lex_state = 4}, - [69] = {.lex_state = 10}, - [70] = {.lex_state = 10}, - [71] = {.lex_state = 11}, - [72] = {.lex_state = 11}, - [73] = {.lex_state = 8}, - [74] = {.lex_state = 11}, - [75] = {.lex_state = 160}, - [76] = {.lex_state = 160}, - [77] = {.lex_state = 11}, - [78] = {.lex_state = 11}, - [79] = {.lex_state = 160}, - [80] = {.lex_state = 160}, - [81] = {.lex_state = 11}, - [82] = {.lex_state = 11}, - [83] = {.lex_state = 10}, - [84] = {.lex_state = 11}, - [85] = {.lex_state = 11}, - [86] = {.lex_state = 11}, - [87] = {.lex_state = 11}, - [88] = {.lex_state = 11}, - [89] = {.lex_state = 4}, - [90] = {.lex_state = 160}, - [91] = {.lex_state = 160}, - [92] = {.lex_state = 160}, - [93] = {.lex_state = 11}, - [94] = {.lex_state = 11}, - [95] = {.lex_state = 8}, - [96] = {.lex_state = 160}, - [97] = {.lex_state = 6}, - [98] = {.lex_state = 159}, - [99] = {.lex_state = 160}, - [100] = {.lex_state = 160}, - [101] = {.lex_state = 160}, - [102] = {.lex_state = 8}, - [103] = {.lex_state = 8}, - [104] = {.lex_state = 160}, - [105] = {.lex_state = 160}, - [106] = {.lex_state = 160}, - [107] = {.lex_state = 8}, - [108] = {.lex_state = 8}, - [109] = {.lex_state = 160}, - [110] = {.lex_state = 160}, - [111] = {.lex_state = 160}, - [112] = {.lex_state = 160}, - [113] = {.lex_state = 159}, - [114] = {.lex_state = 159}, - [115] = {.lex_state = 159}, - [116] = {.lex_state = 159}, - [117] = {.lex_state = 159}, - [118] = {.lex_state = 9}, - [119] = {.lex_state = 159}, - [120] = {.lex_state = 159}, - [121] = {.lex_state = 159}, - [122] = {.lex_state = 159}, - [123] = {.lex_state = 9}, - [124] = {.lex_state = 9}, - [125] = {.lex_state = 160}, - [126] = {.lex_state = 159}, - [127] = {.lex_state = 159}, - [128] = {.lex_state = 159}, - [129] = {.lex_state = 8}, - [130] = {.lex_state = 159}, - [131] = {.lex_state = 8}, - [132] = {.lex_state = 9}, - [133] = {.lex_state = 159}, - [134] = {.lex_state = 159}, - [135] = {.lex_state = 8}, - [136] = {.lex_state = 159}, - [137] = {.lex_state = 159}, - [138] = {.lex_state = 8}, - [139] = {.lex_state = 159}, - [140] = {.lex_state = 159}, - [141] = {.lex_state = 159}, - [142] = {.lex_state = 160}, - [143] = {.lex_state = 159}, - [144] = {.lex_state = 159}, - [145] = {.lex_state = 6}, - [146] = {.lex_state = 6}, - [147] = {.lex_state = 6}, - [148] = {.lex_state = 8}, - [149] = {.lex_state = 8}, - [150] = {.lex_state = 8}, - [151] = {.lex_state = 161}, - [152] = {.lex_state = 8}, - [153] = {.lex_state = 161}, - [154] = {.lex_state = 8}, - [155] = {.lex_state = 161}, - [156] = {.lex_state = 161}, - [157] = {.lex_state = 5}, - [158] = {.lex_state = 8}, - [159] = {.lex_state = 8}, - [160] = {.lex_state = 8}, - [161] = {.lex_state = 161}, - [162] = {.lex_state = 8}, - [163] = {.lex_state = 161}, - [164] = {.lex_state = 160}, - [165] = {.lex_state = 8}, - [166] = {.lex_state = 5}, - [167] = {.lex_state = 161}, - [168] = {.lex_state = 161}, - [169] = {.lex_state = 4}, - [170] = {.lex_state = 161}, - [171] = {.lex_state = 8}, - [172] = {.lex_state = 4}, - [173] = {.lex_state = 8}, - [174] = {.lex_state = 5}, - [175] = {.lex_state = 10}, - [176] = {.lex_state = 161}, - [177] = {.lex_state = 4}, - [178] = {.lex_state = 10}, - [179] = {.lex_state = 10}, - [180] = {.lex_state = 159}, - [181] = {.lex_state = 8}, - [182] = {.lex_state = 0}, - [183] = {.lex_state = 8}, - [184] = {.lex_state = 8}, - [185] = {.lex_state = 8}, - [186] = {.lex_state = 8}, - [187] = {.lex_state = 159}, - [188] = {.lex_state = 0}, - [189] = {.lex_state = 8}, - [190] = {.lex_state = 159}, - [191] = {.lex_state = 8}, - [192] = {.lex_state = 159}, - [193] = {.lex_state = 159}, - [194] = {.lex_state = 8}, - [195] = {.lex_state = 19}, - [196] = {.lex_state = 19}, - [197] = {.lex_state = 159}, - [198] = {.lex_state = 161}, - [199] = {.lex_state = 159}, - [200] = {.lex_state = 8}, - [201] = {.lex_state = 8}, - [202] = {.lex_state = 8}, - [203] = {.lex_state = 0}, - [204] = {.lex_state = 159}, - [205] = {.lex_state = 0}, - [206] = {.lex_state = 159}, - [207] = {.lex_state = 8}, - [208] = {.lex_state = 159}, - [209] = {.lex_state = 8}, - [210] = {.lex_state = 8}, - [211] = {.lex_state = 0}, - [212] = {.lex_state = 8}, - [213] = {.lex_state = 19}, - [214] = {.lex_state = 19}, - [215] = {.lex_state = 0}, - [216] = {.lex_state = 8}, - [217] = {.lex_state = 6}, - [218] = {.lex_state = 8}, - [219] = {.lex_state = 159}, - [220] = {.lex_state = 19}, - [221] = {.lex_state = 8}, - [222] = {.lex_state = 159}, - [223] = {.lex_state = 8}, - [224] = {.lex_state = 8}, - [225] = {.lex_state = 159}, - [226] = {.lex_state = 159}, - [227] = {.lex_state = 161}, - [228] = {.lex_state = 159}, - [229] = {.lex_state = 8}, - [230] = {.lex_state = 159}, - [231] = {.lex_state = 159}, - [232] = {.lex_state = 8}, - [233] = {.lex_state = 161}, - [234] = {.lex_state = 159}, - [235] = {.lex_state = 159}, - [236] = {.lex_state = 159}, - [237] = {.lex_state = 159}, - [238] = {.lex_state = 19}, - [239] = {.lex_state = 159}, - [240] = {.lex_state = 159}, - [241] = {.lex_state = 19}, - [242] = {.lex_state = 6}, - [243] = {.lex_state = 159}, - [244] = {.lex_state = 159}, - [245] = {.lex_state = 159}, - [246] = {.lex_state = 0}, - [247] = {.lex_state = 7}, - [248] = {.lex_state = 159}, - [249] = {.lex_state = 159}, - [250] = {.lex_state = 7}, - [251] = {.lex_state = 0}, - [252] = {.lex_state = 161}, - [253] = {.lex_state = 159}, - [254] = {.lex_state = 0}, - [255] = {.lex_state = 159}, - [256] = {.lex_state = 159}, - [257] = {.lex_state = 159}, - [258] = {.lex_state = 159}, - [259] = {.lex_state = 161}, - [260] = {.lex_state = 159}, - [261] = {.lex_state = 0}, - [262] = {.lex_state = 159}, - [263] = {.lex_state = 0}, - [264] = {.lex_state = 0}, - [265] = {.lex_state = 19}, - [266] = {.lex_state = 161}, - [267] = {.lex_state = 159}, - [268] = {.lex_state = 159}, - [269] = {.lex_state = 12}, - [270] = {.lex_state = 159}, - [271] = {.lex_state = 0}, - [272] = {.lex_state = 12}, - [273] = {.lex_state = 7}, - [274] = {.lex_state = 0}, - [275] = {.lex_state = 159}, - [276] = {.lex_state = 159}, - [277] = {.lex_state = 159}, - [278] = {.lex_state = 161}, - [279] = {.lex_state = 159}, - [280] = {.lex_state = 161}, - [281] = {.lex_state = 159}, - [282] = {.lex_state = 159}, - [283] = {.lex_state = 0}, - [284] = {.lex_state = 159}, - [285] = {.lex_state = 0}, - [286] = {.lex_state = 0}, - [287] = {.lex_state = 159}, - [288] = {.lex_state = 159}, - [289] = {.lex_state = 159}, - [290] = {.lex_state = 0}, - [291] = {.lex_state = 0}, - [292] = {.lex_state = 159}, - [293] = {.lex_state = 0}, - [294] = {.lex_state = 12}, - [295] = {.lex_state = 6}, - [296] = {.lex_state = 159}, - [297] = {.lex_state = 159}, - [298] = {.lex_state = 159}, - [299] = {.lex_state = 0}, - [300] = {.lex_state = 159}, - [301] = {.lex_state = 6}, - [302] = {.lex_state = 157}, - [303] = {.lex_state = 159}, - [304] = {.lex_state = 0}, - [305] = {.lex_state = 0}, - [306] = {.lex_state = 159}, - [307] = {.lex_state = 159}, - [308] = {.lex_state = 0}, - [309] = {.lex_state = 0}, - [310] = {.lex_state = 0}, - [311] = {.lex_state = 0}, - [312] = {.lex_state = 0}, - [313] = {.lex_state = 159}, - [314] = {.lex_state = 159}, - [315] = {.lex_state = 0}, - [316] = {.lex_state = 159}, - [317] = {.lex_state = 159}, - [318] = {.lex_state = 0}, - [319] = {.lex_state = 159}, - [320] = {.lex_state = 0}, - [321] = {.lex_state = 161}, - [322] = {.lex_state = 159}, - [323] = {.lex_state = 0}, - [324] = {.lex_state = 0}, - [325] = {.lex_state = 0}, - [326] = {.lex_state = 6}, - [327] = {.lex_state = 0}, - [328] = {.lex_state = 0}, - [329] = {.lex_state = 159}, - [330] = {.lex_state = 0}, - [331] = {.lex_state = 6}, - [332] = {.lex_state = 159}, - [333] = {.lex_state = 0}, - [334] = {.lex_state = 159}, - [335] = {.lex_state = 159}, - [336] = {.lex_state = 6}, - [337] = {.lex_state = 159}, - [338] = {.lex_state = 155}, - [339] = {.lex_state = 0}, - [340] = {.lex_state = 155}, - [341] = {.lex_state = 159}, - [342] = {.lex_state = 0}, - [343] = {.lex_state = 161}, - [344] = {.lex_state = 0}, - [345] = {.lex_state = 159}, - [346] = {.lex_state = 6}, - [347] = {.lex_state = 159}, - [348] = {.lex_state = 6}, - [349] = {.lex_state = 6}, - [350] = {.lex_state = 0}, - [351] = {.lex_state = 159}, - [352] = {.lex_state = 0}, - [353] = {.lex_state = 0}, - [354] = {.lex_state = 6}, - [355] = {.lex_state = 6}, - [356] = {.lex_state = 0}, - [357] = {.lex_state = 159}, - [358] = {.lex_state = 159}, - [359] = {.lex_state = 159}, - [360] = {.lex_state = 0}, - [361] = {.lex_state = 6}, - [362] = {.lex_state = 6}, - [363] = {.lex_state = 0}, - [364] = {.lex_state = 155}, - [365] = {.lex_state = 0}, - [366] = {.lex_state = 155}, - [367] = {.lex_state = 0}, - [368] = {.lex_state = 0}, - [369] = {.lex_state = 0}, - [370] = {.lex_state = 0}, - [371] = {.lex_state = 155}, - [372] = {.lex_state = 6}, - [373] = {.lex_state = 6}, - [374] = {.lex_state = 159}, - [375] = {.lex_state = 155}, - [376] = {.lex_state = 0}, - [377] = {.lex_state = 159}, - [378] = {.lex_state = 0}, - [379] = {.lex_state = 0}, - [380] = {.lex_state = 159}, - [381] = {.lex_state = 0}, - [382] = {.lex_state = 0}, - [383] = {.lex_state = 0}, - [384] = {.lex_state = 0}, - [385] = {.lex_state = 0}, - [386] = {.lex_state = 0}, - [387] = {.lex_state = 0}, - [388] = {.lex_state = 187}, - [389] = {.lex_state = 159}, - [390] = {.lex_state = 187}, - [391] = {.lex_state = 159}, - [392] = {.lex_state = 0}, - [393] = {.lex_state = 0}, - [394] = {.lex_state = 0}, - [395] = {.lex_state = 0}, - [396] = {.lex_state = 0}, - [397] = {.lex_state = 0}, - [398] = {.lex_state = 0}, - [399] = {.lex_state = 0}, - [400] = {.lex_state = 0}, - [401] = {.lex_state = 0}, - [402] = {.lex_state = 0}, - [403] = {.lex_state = 0}, - [404] = {.lex_state = 0}, - [405] = {.lex_state = 0}, - [406] = {.lex_state = 0}, - [407] = {.lex_state = 159}, - [408] = {.lex_state = 0}, - [409] = {.lex_state = 0}, - [410] = {.lex_state = 159}, - [411] = {.lex_state = 0}, - [412] = {.lex_state = 159}, - [413] = {.lex_state = 0}, - [414] = {.lex_state = 0}, - [415] = {.lex_state = 159}, - [416] = {.lex_state = 159}, - [417] = {.lex_state = 159}, - [418] = {.lex_state = 159}, - [419] = {.lex_state = 0}, - [420] = {.lex_state = 0}, - [421] = {.lex_state = 155}, - [422] = {.lex_state = 0}, - [423] = {.lex_state = 0}, - [424] = {.lex_state = 159}, - [425] = {.lex_state = 0}, - [426] = {.lex_state = 0}, - [427] = {.lex_state = 0}, - [428] = {.lex_state = 0}, - [429] = {.lex_state = 0}, - [430] = {.lex_state = 0}, - [431] = {.lex_state = 0}, - [432] = {.lex_state = 159}, - [433] = {.lex_state = 0}, - [434] = {.lex_state = 159}, - [435] = {.lex_state = 0}, - [436] = {.lex_state = 0}, - [437] = {.lex_state = 0}, - [438] = {.lex_state = 0}, - [439] = {.lex_state = 0}, - [440] = {.lex_state = 0}, - [441] = {.lex_state = 0}, - [442] = {.lex_state = 0}, - [443] = {.lex_state = 159}, - [444] = {.lex_state = 159}, - [445] = {.lex_state = 0}, - [446] = {.lex_state = 159}, - [447] = {.lex_state = 0}, - [448] = {.lex_state = 159}, - [449] = {.lex_state = 0}, - [450] = {.lex_state = 0}, - [451] = {.lex_state = 159}, - [452] = {.lex_state = 0}, - [453] = {.lex_state = 159}, - [454] = {.lex_state = 159}, - [455] = {.lex_state = 159}, - [456] = {.lex_state = 0}, - [457] = {.lex_state = 0}, - [458] = {.lex_state = 159}, - [459] = {.lex_state = 158}, - [460] = {.lex_state = 156}, - [461] = {.lex_state = 0}, - [462] = {.lex_state = 159}, - [463] = {.lex_state = 159}, - [464] = {.lex_state = 159}, - [465] = {.lex_state = 159}, - [466] = {.lex_state = 159}, - [467] = {.lex_state = 155}, - [468] = {.lex_state = 0}, - [469] = {.lex_state = 0}, - [470] = {.lex_state = 155}, - [471] = {.lex_state = 156}, - [472] = {.lex_state = 0}, - [473] = {.lex_state = 158}, - [474] = {.lex_state = 0}, - [475] = {.lex_state = 19}, - [476] = {.lex_state = 155}, - [477] = {.lex_state = 156}, - [478] = {.lex_state = 0}, - [479] = {.lex_state = 158}, - [480] = {.lex_state = 155}, - [481] = {.lex_state = 156}, - [482] = {.lex_state = 0}, + [0] = {.lex_state = 0, .external_lex_state = 1}, + [1] = {.lex_state = 41, .external_lex_state = 2}, + [2] = {.lex_state = 4, .external_lex_state = 3}, + [3] = {.lex_state = 4, .external_lex_state = 3}, + [4] = {.lex_state = 4, .external_lex_state = 3}, + [5] = {.lex_state = 4, .external_lex_state = 3}, + [6] = {.lex_state = 41, .external_lex_state = 2}, + [7] = {.lex_state = 41, .external_lex_state = 2}, + [8] = {.lex_state = 41, .external_lex_state = 2}, + [9] = {.lex_state = 41, .external_lex_state = 2}, + [10] = {.lex_state = 41, .external_lex_state = 2}, + [11] = {.lex_state = 41, .external_lex_state = 2}, + [12] = {.lex_state = 41, .external_lex_state = 2}, + [13] = {.lex_state = 41, .external_lex_state = 2}, + [14] = {.lex_state = 41, .external_lex_state = 2}, + [15] = {.lex_state = 41, .external_lex_state = 2}, + [16] = {.lex_state = 41, .external_lex_state = 2}, + [17] = {.lex_state = 41, .external_lex_state = 2}, + [18] = {.lex_state = 41, .external_lex_state = 2}, + [19] = {.lex_state = 41, .external_lex_state = 2}, + [20] = {.lex_state = 4}, + [21] = {.lex_state = 41, .external_lex_state = 2}, + [22] = {.lex_state = 4}, + [23] = {.lex_state = 41}, + [24] = {.lex_state = 4}, + [25] = {.lex_state = 2}, + [26] = {.lex_state = 41}, + [27] = {.lex_state = 41}, + [28] = {.lex_state = 2}, + [29] = {.lex_state = 41, .external_lex_state = 2}, + [30] = {.lex_state = 41, .external_lex_state = 2}, + [31] = {.lex_state = 2}, + [32] = {.lex_state = 41, .external_lex_state = 2}, + [33] = {.lex_state = 41, .external_lex_state = 2}, + [34] = {.lex_state = 1}, + [35] = {.lex_state = 3}, + [36] = {.lex_state = 4, .external_lex_state = 3}, + [37] = {.lex_state = 41, .external_lex_state = 2}, + [38] = {.lex_state = 41, .external_lex_state = 2}, + [39] = {.lex_state = 3}, + [40] = {.lex_state = 41, .external_lex_state = 2}, + [41] = {.lex_state = 41, .external_lex_state = 2}, + [42] = {.lex_state = 4, .external_lex_state = 3}, + [43] = {.lex_state = 5}, + [44] = {.lex_state = 1}, + [45] = {.lex_state = 41, .external_lex_state = 2}, + [46] = {.lex_state = 41, .external_lex_state = 2}, + [47] = {.lex_state = 4, .external_lex_state = 3}, + [48] = {.lex_state = 5}, + [49] = {.lex_state = 4, .external_lex_state = 3}, + [50] = {.lex_state = 4, .external_lex_state = 3}, + [51] = {.lex_state = 4, .external_lex_state = 3}, + [52] = {.lex_state = 5}, + [53] = {.lex_state = 3}, + [54] = {.lex_state = 5}, + [55] = {.lex_state = 3}, + [56] = {.lex_state = 4, .external_lex_state = 3}, + [57] = {.lex_state = 4, .external_lex_state = 3}, + [58] = {.lex_state = 4, .external_lex_state = 3}, + [59] = {.lex_state = 4, .external_lex_state = 3}, + [60] = {.lex_state = 4, .external_lex_state = 3}, + [61] = {.lex_state = 41, .external_lex_state = 2}, + [62] = {.lex_state = 41, .external_lex_state = 2}, + [63] = {.lex_state = 4, .external_lex_state = 3}, + [64] = {.lex_state = 41, .external_lex_state = 2}, + [65] = {.lex_state = 4, .external_lex_state = 3}, + [66] = {.lex_state = 41}, + [67] = {.lex_state = 4, .external_lex_state = 3}, + [68] = {.lex_state = 4, .external_lex_state = 3}, + [69] = {.lex_state = 4, .external_lex_state = 3}, + [70] = {.lex_state = 41}, + [71] = {.lex_state = 41, .external_lex_state = 2}, + [72] = {.lex_state = 4, .external_lex_state = 3}, + [73] = {.lex_state = 41, .external_lex_state = 2}, + [74] = {.lex_state = 41}, + [75] = {.lex_state = 5}, + [76] = {.lex_state = 3}, + [77] = {.lex_state = 3}, + [78] = {.lex_state = 5}, + [79] = {.lex_state = 41}, + [80] = {.lex_state = 5}, + [81] = {.lex_state = 4, .external_lex_state = 3}, + [82] = {.lex_state = 41}, + [83] = {.lex_state = 3}, + [84] = {.lex_state = 41}, + [85] = {.lex_state = 41, .external_lex_state = 2}, + [86] = {.lex_state = 41}, + [87] = {.lex_state = 41}, + [88] = {.lex_state = 41}, + [89] = {.lex_state = 41}, + [90] = {.lex_state = 41}, + [91] = {.lex_state = 1}, + [92] = {.lex_state = 1}, + [93] = {.lex_state = 41}, + [94] = {.lex_state = 1}, + [95] = {.lex_state = 41}, + [96] = {.lex_state = 1}, + [97] = {.lex_state = 41}, + [98] = {.lex_state = 1}, + [99] = {.lex_state = 41}, + [100] = {.lex_state = 41}, + [101] = {.lex_state = 1}, + [102] = {.lex_state = 4}, + [103] = {.lex_state = 4}, + [104] = {.lex_state = 4}, + [105] = {.lex_state = 2}, + [106] = {.lex_state = 2}, + [107] = {.lex_state = 2}, + [108] = {.lex_state = 41, .external_lex_state = 2}, + [109] = {.lex_state = 2}, + [110] = {.lex_state = 4}, + [111] = {.lex_state = 41, .external_lex_state = 2}, + [112] = {.lex_state = 41, .external_lex_state = 2}, + [113] = {.lex_state = 41, .external_lex_state = 2}, + [114] = {.lex_state = 1}, + [115] = {.lex_state = 1}, + [116] = {.lex_state = 1}, + [117] = {.lex_state = 41, .external_lex_state = 2}, + [118] = {.lex_state = 41, .external_lex_state = 2}, + [119] = {.lex_state = 41, .external_lex_state = 2}, + [120] = {.lex_state = 1}, + [121] = {.lex_state = 1}, + [122] = {.lex_state = 1}, + [123] = {.lex_state = 1}, + [124] = {.lex_state = 41, .external_lex_state = 2}, + [125] = {.lex_state = 1}, + [126] = {.lex_state = 1}, + [127] = {.lex_state = 41}, + [128] = {.lex_state = 41}, + [129] = {.lex_state = 41, .external_lex_state = 2}, + [130] = {.lex_state = 41}, + [131] = {.lex_state = 41}, + [132] = {.lex_state = 41}, + [133] = {.lex_state = 41}, + [134] = {.lex_state = 41, .external_lex_state = 2}, + [135] = {.lex_state = 1}, + [136] = {.lex_state = 3}, + [137] = {.lex_state = 41}, + [138] = {.lex_state = 41}, + [139] = {.lex_state = 3}, + [140] = {.lex_state = 3}, + [141] = {.lex_state = 41}, + [142] = {.lex_state = 41}, + [143] = {.lex_state = 41}, + [144] = {.lex_state = 41}, + [145] = {.lex_state = 41, .external_lex_state = 2}, + [146] = {.lex_state = 5}, + [147] = {.lex_state = 5}, + [148] = {.lex_state = 5}, + [149] = {.lex_state = 41}, + [150] = {.lex_state = 41, .external_lex_state = 2}, + [151] = {.lex_state = 41, .external_lex_state = 2}, + [152] = {.lex_state = 41}, + [153] = {.lex_state = 1}, + [154] = {.lex_state = 41}, + [155] = {.lex_state = 41, .external_lex_state = 2}, + [156] = {.lex_state = 41}, + [157] = {.lex_state = 41, .external_lex_state = 2}, + [158] = {.lex_state = 41}, + [159] = {.lex_state = 41}, + [160] = {.lex_state = 41}, + [161] = {.lex_state = 41, .external_lex_state = 4}, + [162] = {.lex_state = 1, .external_lex_state = 4}, + [163] = {.lex_state = 41, .external_lex_state = 4}, + [164] = {.lex_state = 1, .external_lex_state = 4}, + [165] = {.lex_state = 41, .external_lex_state = 4}, + [166] = {.lex_state = 41, .external_lex_state = 2}, + [167] = {.lex_state = 1}, + [168] = {.lex_state = 41, .external_lex_state = 2}, + [169] = {.lex_state = 41}, + [170] = {.lex_state = 41}, + [171] = {.lex_state = 41, .external_lex_state = 2}, + [172] = {.lex_state = 41, .external_lex_state = 2}, + [173] = {.lex_state = 41, .external_lex_state = 2}, + [174] = {.lex_state = 1}, + [175] = {.lex_state = 41}, + [176] = {.lex_state = 1}, + [177] = {.lex_state = 41}, + [178] = {.lex_state = 41, .external_lex_state = 2}, + [179] = {.lex_state = 10}, + [180] = {.lex_state = 41}, + [181] = {.lex_state = 41}, + [182] = {.lex_state = 41, .external_lex_state = 2}, + [183] = {.lex_state = 41, .external_lex_state = 2}, + [184] = {.lex_state = 1, .external_lex_state = 4}, + [185] = {.lex_state = 41, .external_lex_state = 2}, + [186] = {.lex_state = 41, .external_lex_state = 2}, + [187] = {.lex_state = 41, .external_lex_state = 4}, + [188] = {.lex_state = 1}, + [189] = {.lex_state = 41, .external_lex_state = 2}, + [190] = {.lex_state = 1}, + [191] = {.lex_state = 0}, + [192] = {.lex_state = 1}, + [193] = {.lex_state = 41, .external_lex_state = 4}, + [194] = {.lex_state = 1, .external_lex_state = 4}, + [195] = {.lex_state = 1}, + [196] = {.lex_state = 41}, + [197] = {.lex_state = 1}, + [198] = {.lex_state = 41, .external_lex_state = 2}, + [199] = {.lex_state = 41}, + [200] = {.lex_state = 41}, + [201] = {.lex_state = 41}, + [202] = {.lex_state = 41}, + [203] = {.lex_state = 41}, + [204] = {.lex_state = 41}, + [205] = {.lex_state = 41}, + [206] = {.lex_state = 41, .external_lex_state = 2}, + [207] = {.lex_state = 41}, + [208] = {.lex_state = 41, .external_lex_state = 2}, + [209] = {.lex_state = 41}, + [210] = {.lex_state = 1}, + [211] = {.lex_state = 0}, + [212] = {.lex_state = 41, .external_lex_state = 2}, + [213] = {.lex_state = 41, .external_lex_state = 2}, + [214] = {.lex_state = 41}, + [215] = {.lex_state = 1, .external_lex_state = 5}, + [216] = {.lex_state = 1}, + [217] = {.lex_state = 41}, + [218] = {.lex_state = 41}, + [219] = {.lex_state = 41}, + [220] = {.lex_state = 41}, + [221] = {.lex_state = 10}, + [222] = {.lex_state = 41}, + [223] = {.lex_state = 41}, + [224] = {.lex_state = 10}, + [225] = {.lex_state = 10}, + [226] = {.lex_state = 10}, + [227] = {.lex_state = 41}, + [228] = {.lex_state = 10}, + [229] = {.lex_state = 41}, + [230] = {.lex_state = 41}, + [231] = {.lex_state = 41}, + [232] = {.lex_state = 1}, + [233] = {.lex_state = 41}, + [234] = {.lex_state = 1}, + [235] = {.lex_state = 41, .external_lex_state = 4}, + [236] = {.lex_state = 41}, + [237] = {.lex_state = 1}, + [238] = {.lex_state = 41, .external_lex_state = 4}, + [239] = {.lex_state = 41}, + [240] = {.lex_state = 41}, + [241] = {.lex_state = 41, .external_lex_state = 4}, + [242] = {.lex_state = 41}, + [243] = {.lex_state = 41}, + [244] = {.lex_state = 41}, + [245] = {.lex_state = 41}, + [246] = {.lex_state = 41}, + [247] = {.lex_state = 10}, + [248] = {.lex_state = 41}, + [249] = {.lex_state = 10}, + [250] = {.lex_state = 41}, + [251] = {.lex_state = 41}, + [252] = {.lex_state = 10}, + [253] = {.lex_state = 10}, + [254] = {.lex_state = 41}, + [255] = {.lex_state = 1}, + [256] = {.lex_state = 41}, + [257] = {.lex_state = 1}, + [258] = {.lex_state = 1}, + [259] = {.lex_state = 1}, + [260] = {.lex_state = 41}, + [261] = {.lex_state = 41}, + [262] = {.lex_state = 1}, + [263] = {.lex_state = 41}, + [264] = {.lex_state = 41}, + [265] = {.lex_state = 41}, + [266] = {.lex_state = 1}, + [267] = {.lex_state = 41}, + [268] = {.lex_state = 41}, + [269] = {.lex_state = 41, .external_lex_state = 4}, + [270] = {.lex_state = 41}, + [271] = {.lex_state = 41}, + [272] = {.lex_state = 41}, + [273] = {.lex_state = 1, .external_lex_state = 5}, + [274] = {.lex_state = 10}, + [275] = {.lex_state = 10}, + [276] = {.lex_state = 41}, + [277] = {.lex_state = 41}, + [278] = {.lex_state = 41}, + [279] = {.lex_state = 10}, + [280] = {.lex_state = 41}, + [281] = {.lex_state = 41}, + [282] = {.lex_state = 1}, + [283] = {.lex_state = 1}, + [284] = {.lex_state = 41}, + [285] = {.lex_state = 41}, + [286] = {.lex_state = 41}, + [287] = {.lex_state = 41}, + [288] = {.lex_state = 1}, + [289] = {.lex_state = 41}, + [290] = {.lex_state = 1}, + [291] = {.lex_state = 41}, + [292] = {.lex_state = 41}, + [293] = {.lex_state = 37}, + [294] = {.lex_state = 1}, + [295] = {.lex_state = 41}, + [296] = {.lex_state = 0}, + [297] = {.lex_state = 41}, + [298] = {.lex_state = 41}, + [299] = {.lex_state = 41}, + [300] = {.lex_state = 41}, + [301] = {.lex_state = 41}, + [302] = {.lex_state = 41}, + [303] = {.lex_state = 41}, + [304] = {.lex_state = 10}, + [305] = {.lex_state = 10}, + [306] = {.lex_state = 41}, + [307] = {.lex_state = 10}, + [308] = {.lex_state = 41}, + [309] = {.lex_state = 41}, + [310] = {.lex_state = 41}, + [311] = {.lex_state = 41}, + [312] = {.lex_state = 41}, + [313] = {.lex_state = 41}, + [314] = {.lex_state = 0}, + [315] = {.lex_state = 41}, + [316] = {.lex_state = 1, .external_lex_state = 6}, + [317] = {.lex_state = 10}, + [318] = {.lex_state = 41}, + [319] = {.lex_state = 41}, + [320] = {.lex_state = 41}, + [321] = {.lex_state = 41}, + [322] = {.lex_state = 41}, + [323] = {.lex_state = 41}, + [324] = {.lex_state = 41}, + [325] = {.lex_state = 41}, + [326] = {.lex_state = 41}, + [327] = {.lex_state = 41}, + [328] = {.lex_state = 1, .external_lex_state = 6}, + [329] = {.lex_state = 41}, + [330] = {.lex_state = 10}, + [331] = {.lex_state = 41}, + [332] = {.lex_state = 41}, + [333] = {.lex_state = 41}, + [334] = {.lex_state = 41}, + [335] = {.lex_state = 10}, + [336] = {.lex_state = 41}, + [337] = {.lex_state = 10}, + [338] = {.lex_state = 41}, + [339] = {.lex_state = 41}, + [340] = {.lex_state = 41}, + [341] = {.lex_state = 41}, + [342] = {.lex_state = 41}, + [343] = {.lex_state = 41}, + [344] = {.lex_state = 41}, + [345] = {.lex_state = 41}, + [346] = {.lex_state = 41}, + [347] = {.lex_state = 41}, + [348] = {.lex_state = 41}, + [349] = {.lex_state = 41}, + [350] = {.lex_state = 41}, + [351] = {.lex_state = 10}, + [352] = {.lex_state = 41}, + [353] = {.lex_state = 41}, + [354] = {.lex_state = 41}, + [355] = {.lex_state = 10}, + [356] = {.lex_state = 41}, + [357] = {.lex_state = 41}, + [358] = {.lex_state = 41}, + [359] = {.lex_state = 41}, + [360] = {.lex_state = 37}, + [361] = {.lex_state = 41}, + [362] = {.lex_state = 41}, + [363] = {.lex_state = 10}, + [364] = {.lex_state = 10}, + [365] = {.lex_state = 41}, + [366] = {.lex_state = 10}, + [367] = {.lex_state = 41}, + [368] = {.lex_state = 41}, + [369] = {.lex_state = 41}, + [370] = {.lex_state = 1}, + [371] = {.lex_state = 41}, + [372] = {.lex_state = 37}, + [373] = {.lex_state = 41}, + [374] = {.lex_state = 41}, + [375] = {.lex_state = 41}, + [376] = {.lex_state = 41}, + [377] = {.lex_state = 1}, + [378] = {.lex_state = 41}, + [379] = {.lex_state = 41}, + [380] = {.lex_state = 41}, + [381] = {.lex_state = 37}, + [382] = {.lex_state = 41}, + [383] = {.lex_state = 41}, + [384] = {.lex_state = 41}, + [385] = {.lex_state = 0}, + [386] = {.lex_state = 41}, + [387] = {.lex_state = 41}, + [388] = {.lex_state = 41}, + [389] = {.lex_state = 41}, + [390] = {.lex_state = 10}, + [391] = {.lex_state = 1}, + [392] = {.lex_state = 41}, + [393] = {.lex_state = 41}, + [394] = {.lex_state = 37}, + [395] = {.lex_state = 41}, + [396] = {.lex_state = 41}, + [397] = {.lex_state = 41}, + [398] = {.lex_state = 41}, + [399] = {.lex_state = 41}, + [400] = {.lex_state = 41}, + [401] = {.lex_state = 41}, + [402] = {.lex_state = 41}, + [403] = {.lex_state = 41}, + [404] = {.lex_state = 41}, + [405] = {.lex_state = 41}, + [406] = {.lex_state = 1}, + [407] = {.lex_state = 41}, + [408] = {.lex_state = 41}, + [409] = {.lex_state = 37}, + [410] = {.lex_state = 41}, + [411] = {.lex_state = 41}, + [412] = {.lex_state = 41}, + [413] = {.lex_state = 41}, + [414] = {.lex_state = 41}, + [415] = {.lex_state = 1}, + [416] = {.lex_state = 0, .external_lex_state = 7}, + [417] = {.lex_state = 41}, + [418] = {.lex_state = 41}, + [419] = {.lex_state = 41}, + [420] = {.lex_state = 41}, + [421] = {.lex_state = 41}, + [422] = {.lex_state = 41}, + [423] = {.lex_state = 41}, + [424] = {.lex_state = 131}, + [425] = {.lex_state = 130}, + [426] = {.lex_state = 129}, + [427] = {.lex_state = 128}, + [428] = {.lex_state = 41}, + [429] = {.lex_state = 41}, + [430] = {.lex_state = 41}, + [431] = {.lex_state = 41}, + [432] = {.lex_state = 10}, + [433] = {.lex_state = 41}, + [434] = {.lex_state = 0, .external_lex_state = 8}, + [435] = {.lex_state = 1}, + [436] = {.lex_state = 41}, + [437] = {.lex_state = 41}, + [438] = {.lex_state = 41}, + [439] = {.lex_state = 41}, + [440] = {.lex_state = 41}, + [441] = {.lex_state = 0, .external_lex_state = 9}, + [442] = {.lex_state = 0, .external_lex_state = 10}, + [443] = {.lex_state = 39}, + [444] = {.lex_state = 1}, + [445] = {.lex_state = 1}, + [446] = {.lex_state = 1}, + [447] = {.lex_state = 41}, + [448] = {.lex_state = 1}, + [449] = {.lex_state = 41}, + [450] = {.lex_state = 10}, + [451] = {.lex_state = 41}, + [452] = {.lex_state = 41}, + [453] = {.lex_state = 41}, + [454] = {.lex_state = 41}, + [455] = {.lex_state = 41}, + [456] = {.lex_state = 41}, + [457] = {.lex_state = 10}, + [458] = {.lex_state = 41}, + [459] = {.lex_state = 41}, + [460] = {.lex_state = 40}, + [461] = {.lex_state = 40}, + [462] = {.lex_state = 41}, + [463] = {.lex_state = 41}, + [464] = {.lex_state = 41}, + [465] = {.lex_state = 41}, + [466] = {.lex_state = 41}, + [467] = {.lex_state = 41}, + [468] = {.lex_state = 10}, + [469] = {.lex_state = 41}, + [470] = {.lex_state = 41}, + [471] = {.lex_state = 41}, + [472] = {.lex_state = 41}, + [473] = {.lex_state = 41}, + [474] = {.lex_state = 41}, + [475] = {.lex_state = 0, .external_lex_state = 7}, + [476] = {.lex_state = 1}, + [477] = {.lex_state = 1}, + [478] = {.lex_state = 39}, + [479] = {.lex_state = 0, .external_lex_state = 10}, + [480] = {.lex_state = 0, .external_lex_state = 9}, + [481] = {.lex_state = 0, .external_lex_state = 8}, + [482] = {.lex_state = 1}, + [483] = {.lex_state = 1}, + [484] = {.lex_state = 1}, + [485] = {.lex_state = 39}, + [486] = {.lex_state = 0, .external_lex_state = 8}, + [487] = {.lex_state = 1}, + [488] = {.lex_state = 1}, + [489] = {.lex_state = 1}, + [490] = {.lex_state = 39}, + [491] = {.lex_state = 1}, + [492] = {.lex_state = 1}, + [493] = {.lex_state = 1}, + [494] = {.lex_state = 39}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { - [0] = { - [ts_builtin_sym_end] = ACTIONS(1), - [aux_sym__name_char_token1] = ACTIONS(1), - [anon_sym_DOT] = ACTIONS(1), - [anon_sym_DASH] = ACTIONS(1), - [anon_sym_COLON] = ACTIONS(1), - [aux_sym__name_char_token2] = ACTIONS(1), - [aux_sym__name_char_token3] = ACTIONS(1), - [aux_sym__name_char_token4] = ACTIONS(1), - [aux_sym__name_char_token5] = ACTIONS(1), - [aux_sym__name_char_token6] = ACTIONS(1), - [aux_sym__name_char_token7] = ACTIONS(1), - [aux_sym__name_char_token8] = ACTIONS(1), - [aux_sym__name_char_token9] = ACTIONS(1), - [aux_sym__name_char_token10] = ACTIONS(1), - [aux_sym__name_char_token11] = ACTIONS(1), - [aux_sym__name_char_token12] = ACTIONS(1), - [aux_sym__name_char_token13] = ACTIONS(1), - [aux_sym__name_char_token14] = ACTIONS(1), - [aux_sym__name_char_token15] = ACTIONS(1), - [anon_sym__] = ACTIONS(1), - [aux_sym_names_token1] = ACTIONS(1), - [anon_sym_DQUOTE] = ACTIONS(1), - [aux_sym_entity_value_token1] = ACTIONS(1), - [anon_sym_SQUOTE] = ACTIONS(1), - [anon_sym_LT_BANG_DASH_DASH] = ACTIONS(1), - [anon_sym_LT_QMARK] = ACTIONS(1), - [sym__cdata_start] = ACTIONS(1), - [anon_sym_LT_QMARKxml] = ACTIONS(1), - [anon_sym_EQ] = ACTIONS(1), - [anon_sym_LT_BANGDOCTYPE] = ACTIONS(1), - [anon_sym_LBRACK] = ACTIONS(1), - [anon_sym_RBRACK] = ACTIONS(1), - [anon_sym_GT] = ACTIONS(1), - [aux_sym__iso639_code_token1] = ACTIONS(1), - [aux_sym__iso639_code_token2] = ACTIONS(1), - [anon_sym_i] = ACTIONS(1), - [anon_sym_I] = ACTIONS(1), - [anon_sym_x] = ACTIONS(1), - [anon_sym_X] = ACTIONS(1), - [anon_sym_LT] = ACTIONS(1), - [anon_sym_LT_SLASH] = ACTIONS(1), - [anon_sym_LT_BANGELEMENT] = ACTIONS(1), - [anon_sym_QMARK] = ACTIONS(1), - [anon_sym_STAR] = ACTIONS(1), - [anon_sym_PLUS] = ACTIONS(1), - [anon_sym_LPAREN] = ACTIONS(1), - [anon_sym_PIPE] = ACTIONS(1), - [anon_sym_RPAREN] = ACTIONS(1), - [anon_sym_COMMA] = ACTIONS(1), - [anon_sym_LT_BANGATTLIST] = ACTIONS(1), - [anon_sym_LT_BANG_LBRACK] = ACTIONS(1), - [anon_sym_AMP_POUND] = ACTIONS(1), - [anon_sym_SEMI] = ACTIONS(1), - [anon_sym_AMP_POUNDx] = ACTIONS(1), - [anon_sym_AMP] = ACTIONS(1), - [anon_sym_PERCENT] = ACTIONS(1), - [anon_sym_LT_BANGENTITY] = ACTIONS(1), - [aux_sym__enc_name_token1] = ACTIONS(1), - [aux_sym__enc_name_token2] = ACTIONS(1), - [anon_sym_LT_BANGNOTATION] = ACTIONS(1), - }, - [1] = { - [sym_document] = STATE(478), - [sym_comment] = STATE(142), - [sym_processing_instructions] = STATE(142), - [sym_prolog] = STATE(32), - [sym_xml_decl] = STATE(42), - [sym__misc] = STATE(142), - [sym_doctype_decl] = STATE(46), - [sym_element] = STATE(37), - [sym_start_tag] = STATE(25), - [sym_empty_elem_tag] = STATE(151), - [aux_sym_document_repeat1] = STATE(32), - [aux_sym_document_repeat2] = STATE(37), - [aux_sym_document_repeat3] = STATE(110), - [ts_builtin_sym_end] = ACTIONS(3), - [aux_sym_names_token1] = ACTIONS(5), - [anon_sym_LT_BANG_DASH_DASH] = ACTIONS(7), - [anon_sym_LT_QMARK] = ACTIONS(9), - [anon_sym_LT_QMARKxml] = ACTIONS(11), - [anon_sym_LT_BANGDOCTYPE] = ACTIONS(13), - [anon_sym_LT] = ACTIONS(15), - }, + [0] = { + [ts_builtin_sym_end] = ACTIONS(1), + [sym_Name] = ACTIONS(1), + [anon_sym_LT_BANG_LBRACK] = ACTIONS(1), + [anon_sym_IGNORE] = ACTIONS(1), + [anon_sym_INCLUDE] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK_RBRACK_GT] = ACTIONS(1), + [anon_sym_LT_BANG] = ACTIONS(1), + [anon_sym_ELEMENT] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_EMPTY] = ACTIONS(1), + [anon_sym_ANY] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_POUNDPCDATA] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_ATTLIST] = ACTIONS(1), + [anon_sym_CDATA] = ACTIONS(1), + [sym_TokenizedType] = ACTIONS(1), + [anon_sym_NOTATION] = ACTIONS(1), + [anon_sym_POUNDREQUIRED] = ACTIONS(1), + [anon_sym_POUNDIMPLIED] = ACTIONS(1), + [anon_sym_POUNDFIXED] = ACTIONS(1), + [anon_sym_ENTITY] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [aux_sym_EntityValue_token1] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), + [aux_sym_EntityValue_token2] = ACTIONS(1), + [anon_sym_NDATA] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [sym__S] = ACTIONS(1), + [sym_Nmtoken] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_AMP_POUND] = ACTIONS(1), + [aux_sym_CharRef_token1] = ACTIONS(1), + [anon_sym_AMP_POUNDx] = ACTIONS(1), + [aux_sym_CharRef_token2] = ACTIONS(1), + [aux_sym_AttValue_token1] = ACTIONS(1), + [aux_sym_AttValue_token2] = ACTIONS(1), + [anon_sym_SYSTEM] = ACTIONS(1), + [anon_sym_PUBLIC] = ACTIONS(1), + [anon_sym_LT_QMARK] = ACTIONS(1), + [anon_sym_xml] = ACTIONS(1), + [anon_sym_version] = ACTIONS(1), + [sym_VersionNum] = ACTIONS(1), + [anon_sym_encoding] = ACTIONS(1), + [sym_EncName] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_standalone] = ACTIONS(1), + [anon_sym_yes] = ACTIONS(1), + [anon_sym_no] = ACTIONS(1), + [anon_sym_DOCTYPE] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_SLASH_GT] = ACTIONS(1), + [anon_sym_LT_SLASH] = ACTIONS(1), + [anon_sym_xml_DASHstylesheet] = ACTIONS(1), + [anon_sym_xml_DASHmodel] = ACTIONS(1), + [sym_PITarget] = ACTIONS(1), + [sym__pi_content] = ACTIONS(1), + [sym_Comment] = ACTIONS(1), + [sym_CharData] = ACTIONS(1), + [sym_CData] = ACTIONS(1), + [sym__start_tag_name] = ACTIONS(1), + [sym__end_tag_name] = ACTIONS(1), + [sym__erroneous_end_name] = ACTIONS(1), + }, + [1] = { + [sym_document] = STATE(385), + [sym_XMLDecl] = STATE(21), + [sym_PI] = STATE(33), + [sym_prolog] = STATE(191), + [sym__Misc] = STATE(33), + [sym_doctypedecl] = STATE(41), + [sym_element] = STATE(40), + [sym_EmptyElemTag] = STATE(172), + [sym_STag] = STATE(3), + [sym_StyleSheetPI] = STATE(33), + [sym_XmlModelPI] = STATE(33), + [aux_sym_document_repeat1] = STATE(33), + [anon_sym_LT_BANG] = ACTIONS(3), + [sym__S] = ACTIONS(5), + [anon_sym_LT_QMARK] = ACTIONS(7), + [anon_sym_LT] = ACTIONS(9), + [sym_Comment] = ACTIONS(11), + }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 3, - STATE(2), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(20), - 9, - aux_sym_names_token1, - anon_sym_QMARK_GT, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_GT, - anon_sym_SLASH_GT, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_SEMI, - ACTIONS(17), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [36] = 3, - STATE(2), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(24), - 9, - aux_sym_names_token1, - anon_sym_QMARK_GT, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_GT, - anon_sym_SLASH_GT, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_SEMI, - ACTIONS(22), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [72] = 3, - STATE(5), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(28), - 7, - aux_sym_names_token1, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - ACTIONS(26), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [106] = 3, - STATE(6), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(24), - 7, - aux_sym_names_token1, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - ACTIONS(30), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [140] = 3, - STATE(6), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(20), - 7, - aux_sym_names_token1, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - ACTIONS(32), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [174] = 3, - STATE(3), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(28), - 7, - aux_sym_names_token1, - anon_sym_QMARK_GT, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_GT, - anon_sym_SLASH_GT, - anon_sym_SEMI, - ACTIONS(35), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [208] = 3, - STATE(3), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(28), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - ACTIONS(35), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [238] = 3, - STATE(12), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(28), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN_STAR, - ACTIONS(37), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [268] = 3, - STATE(2), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(39), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - ACTIONS(22), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [298] = 3, - STATE(11), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(20), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN_STAR, - ACTIONS(41), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [328] = 3, - STATE(11), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(24), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN_STAR, - ACTIONS(44), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [358] = 4, - ACTIONS(48), - 1, - aux_sym_names_token1, - STATE(228), - 1, - sym_nm_token, - STATE(10), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(46), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [389] = 4, - ACTIONS(50), - 1, - aux_sym_names_token1, - STATE(256), - 1, - sym_nm_token, - STATE(10), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(46), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [420] = 4, - ACTIONS(52), - 1, - aux_sym_names_token1, - STATE(292), - 1, - sym_nm_token, - STATE(10), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(46), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [451] = 3, - STATE(245), - 1, - sym_nm_token, - STATE(10), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(46), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [479] = 3, - STATE(206), - 1, - sym_nm_token, - STATE(10), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(46), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [507] = 3, - STATE(256), - 1, - sym_nm_token, - STATE(10), - 2, - sym__name_char, - aux_sym__name_repeat1, - ACTIONS(46), - 18, - aux_sym__name_char_token1, - anon_sym_DOT, - anon_sym_DASH, - anon_sym_COLON, - aux_sym__name_char_token2, - aux_sym__name_char_token3, - aux_sym__name_char_token4, - aux_sym__name_char_token5, - aux_sym__name_char_token6, - aux_sym__name_char_token7, - aux_sym__name_char_token8, - aux_sym__name_char_token9, - aux_sym__name_char_token10, - aux_sym__name_char_token11, - aux_sym__name_char_token12, - aux_sym__name_char_token13, - aux_sym__name_char_token14, - aux_sym__name_char_token15, - [535] = 11, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(54), - 1, - aux_sym_names_token1, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(58), - 1, - anon_sym_RBRACK, - ACTIONS(60), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(62), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(64), - 1, - anon_sym_PERCENT, - ACTIONS(66), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(68), - 1, - anon_sym_LT_BANGNOTATION, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(23), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [578] = 11, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(54), - 1, - aux_sym_names_token1, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(60), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(62), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(64), - 1, - anon_sym_PERCENT, - ACTIONS(66), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(68), - 1, - anon_sym_LT_BANGNOTATION, - ACTIONS(70), - 1, - anon_sym_RBRACK, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(23), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [621] = 11, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(60), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(62), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(64), - 1, - anon_sym_PERCENT, - ACTIONS(66), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(68), - 1, - anon_sym_LT_BANGNOTATION, - ACTIONS(72), - 1, - aux_sym_names_token1, - ACTIONS(74), - 1, - anon_sym_RBRACK, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(19), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [664] = 11, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(54), - 1, - aux_sym_names_token1, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(60), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(62), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(64), - 1, - anon_sym_PERCENT, - ACTIONS(66), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(68), - 1, - anon_sym_LT_BANGNOTATION, - ACTIONS(74), - 1, - anon_sym_RBRACK, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(23), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [707] = 11, - ACTIONS(76), - 1, - aux_sym_names_token1, - ACTIONS(79), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(82), - 1, - anon_sym_LT_QMARK, - ACTIONS(85), - 1, - anon_sym_RBRACK, - ACTIONS(87), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(90), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(93), - 1, - anon_sym_PERCENT, - ACTIONS(96), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(99), - 1, - anon_sym_LT_BANGNOTATION, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(23), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [750] = 11, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(60), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(62), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(64), - 1, - anon_sym_PERCENT, - ACTIONS(66), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(68), - 1, - anon_sym_LT_BANGNOTATION, - ACTIONS(102), - 1, - aux_sym_names_token1, - ACTIONS(104), - 1, - anon_sym_RBRACK, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(22), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [793] = 14, - ACTIONS(106), - 1, - sym__char_data, - ACTIONS(108), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(110), - 1, - anon_sym_LT_QMARK, - ACTIONS(112), - 1, - sym__cdata_start, - ACTIONS(114), - 1, - anon_sym_LT, - ACTIONS(116), - 1, - anon_sym_LT_SLASH, - ACTIONS(118), - 1, - anon_sym_AMP_POUND, - ACTIONS(120), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(122), - 1, - anon_sym_AMP, - STATE(27), - 1, - sym_start_tag, - STATE(54), - 1, - sym_empty_elem_tag, - STATE(155), - 1, - sym_end_tag, - STATE(74), - 2, - sym_char_ref, - sym_entity_ref, - STATE(31), - 6, - sym_comment, - sym_processing_instructions, - sym_cdata_sect, - sym_element, - aux_sym__content, - sym_reference, - [842] = 14, - ACTIONS(108), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(110), - 1, - anon_sym_LT_QMARK, - ACTIONS(112), - 1, - sym__cdata_start, - ACTIONS(114), - 1, - anon_sym_LT, - ACTIONS(118), - 1, - anon_sym_AMP_POUND, - ACTIONS(120), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(122), - 1, - anon_sym_AMP, - ACTIONS(124), - 1, - sym__char_data, - ACTIONS(126), - 1, - anon_sym_LT_SLASH, - STATE(27), - 1, - sym_start_tag, - STATE(54), - 1, - sym_empty_elem_tag, - STATE(71), - 1, - sym_end_tag, - STATE(74), - 2, - sym_char_ref, - sym_entity_ref, - STATE(33), - 6, - sym_comment, - sym_processing_instructions, - sym_cdata_sect, - sym_element, - aux_sym__content, - sym_reference, - [891] = 14, - ACTIONS(108), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(110), - 1, - anon_sym_LT_QMARK, - ACTIONS(112), - 1, - sym__cdata_start, - ACTIONS(114), - 1, - anon_sym_LT, - ACTIONS(118), - 1, - anon_sym_AMP_POUND, - ACTIONS(120), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(122), - 1, - anon_sym_AMP, - ACTIONS(126), - 1, - anon_sym_LT_SLASH, - ACTIONS(128), - 1, - sym__char_data, - STATE(27), - 1, - sym_start_tag, - STATE(54), - 1, - sym_empty_elem_tag, - STATE(64), - 1, - sym_end_tag, - STATE(74), - 2, - sym_char_ref, - sym_entity_ref, - STATE(26), - 6, - sym_comment, - sym_processing_instructions, - sym_cdata_sect, - sym_element, - aux_sym__content, - sym_reference, - [940] = 11, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(54), - 1, - aux_sym_names_token1, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(60), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(62), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(64), - 1, - anon_sym_PERCENT, - ACTIONS(66), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(68), - 1, - anon_sym_LT_BANGNOTATION, - ACTIONS(130), - 1, - anon_sym_RBRACK, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(23), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [983] = 11, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(58), - 1, - anon_sym_RBRACK, - ACTIONS(60), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(62), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(64), - 1, - anon_sym_PERCENT, - ACTIONS(66), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(68), - 1, - anon_sym_LT_BANGNOTATION, - ACTIONS(132), - 1, - aux_sym_names_token1, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(28), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [1026] = 11, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(60), - 1, - anon_sym_LT_BANGELEMENT, - ACTIONS(62), - 1, - anon_sym_LT_BANGATTLIST, - ACTIONS(64), - 1, - anon_sym_PERCENT, - ACTIONS(66), - 1, - anon_sym_LT_BANGENTITY, - ACTIONS(68), - 1, - anon_sym_LT_BANGNOTATION, - ACTIONS(130), - 1, - anon_sym_RBRACK, - ACTIONS(134), - 1, - aux_sym_names_token1, - STATE(79), - 2, - sym_ge_decl, - sym_pe_decl, - STATE(20), - 9, - sym_comment, - sym_processing_instructions, - sym__markup_decl, - sym_element_decl, - sym_attlist_decl, - sym_pe_reference, - sym_entity_decl, - sym_notation_decl, - aux_sym_doctype_decl_repeat1, - [1069] = 14, - ACTIONS(108), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(110), - 1, - anon_sym_LT_QMARK, - ACTIONS(112), - 1, - sym__cdata_start, - ACTIONS(114), - 1, - anon_sym_LT, - ACTIONS(116), - 1, - anon_sym_LT_SLASH, - ACTIONS(118), - 1, - anon_sym_AMP_POUND, - ACTIONS(120), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(122), - 1, - anon_sym_AMP, - ACTIONS(124), - 1, - sym__char_data, - STATE(27), - 1, - sym_start_tag, - STATE(54), - 1, - sym_empty_elem_tag, - STATE(163), - 1, - sym_end_tag, - STATE(74), - 2, - sym_char_ref, - sym_entity_ref, - STATE(33), - 6, - sym_comment, - sym_processing_instructions, - sym_cdata_sect, - sym_element, - aux_sym__content, - sym_reference, - [1118] = 15, - ACTIONS(5), - 1, - aux_sym_names_token1, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(9), - 1, - anon_sym_LT_QMARK, - ACTIONS(11), - 1, - anon_sym_LT_QMARKxml, - ACTIONS(13), - 1, - anon_sym_LT_BANGDOCTYPE, - ACTIONS(15), - 1, - anon_sym_LT, - ACTIONS(136), - 1, - ts_builtin_sym_end, - STATE(25), - 1, - sym_start_tag, - STATE(42), - 1, - sym_xml_decl, - STATE(46), - 1, - sym_doctype_decl, - STATE(96), - 1, - aux_sym_document_repeat3, - STATE(151), - 1, - sym_empty_elem_tag, - STATE(35), - 2, - sym_prolog, - aux_sym_document_repeat1, - STATE(36), - 2, - sym_element, - aux_sym_document_repeat2, - STATE(142), - 3, - sym_comment, - sym_processing_instructions, - sym__misc, - [1168] = 13, - ACTIONS(138), - 1, - sym__char_data, - ACTIONS(141), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(144), - 1, - anon_sym_LT_QMARK, - ACTIONS(147), - 1, - sym__cdata_start, - ACTIONS(150), - 1, - anon_sym_LT, - ACTIONS(153), - 1, - anon_sym_LT_SLASH, - ACTIONS(155), - 1, - anon_sym_AMP_POUND, - ACTIONS(158), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(161), - 1, - anon_sym_AMP, - STATE(27), - 1, - sym_start_tag, - STATE(54), - 1, - sym_empty_elem_tag, - STATE(74), - 2, - sym_char_ref, - sym_entity_ref, - STATE(33), - 6, - sym_comment, - sym_processing_instructions, - sym_cdata_sect, - sym_element, - aux_sym__content, - sym_reference, - [1214] = 6, - ACTIONS(164), - 1, - anon_sym_LPAREN, - ACTIONS(170), - 1, - anon_sym_NOTATION, - STATE(461), - 1, - sym_attribute_type, - ACTIONS(168), - 3, - anon_sym_ID, - anon_sym_IDREF, - anon_sym_NMTOKEN, - STATE(469), - 4, - sym__tokenized_type, - sym__enumerated_type, - sym_notation_type, - sym_enumeration, - ACTIONS(166), - 5, - sym__string_type, - anon_sym_IDREFS, - anon_sym_ENTITY, - anon_sym_ENTITIES, - anon_sym_NMTOKENS, - [1242] = 11, - ACTIONS(172), - 1, - ts_builtin_sym_end, - ACTIONS(174), - 1, - aux_sym_names_token1, - ACTIONS(177), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(180), - 1, - anon_sym_LT_QMARK, - ACTIONS(183), - 1, - anon_sym_LT_QMARKxml, - ACTIONS(186), - 1, - anon_sym_LT_BANGDOCTYPE, - ACTIONS(189), - 1, - anon_sym_LT, - STATE(42), - 1, - sym_xml_decl, - STATE(46), - 1, - sym_doctype_decl, - STATE(35), - 2, - sym_prolog, - aux_sym_document_repeat1, - STATE(318), - 3, - sym_comment, - sym_processing_instructions, - sym__misc, - [1279] = 9, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(15), - 1, - anon_sym_LT, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(191), - 1, - ts_builtin_sym_end, - ACTIONS(193), - 1, - aux_sym_names_token1, - STATE(25), - 1, - sym_start_tag, - STATE(151), - 1, - sym_empty_elem_tag, - STATE(53), - 2, - sym_element, - aux_sym_document_repeat2, - STATE(104), - 4, - sym_comment, - sym_processing_instructions, - sym__misc, - aux_sym_document_repeat3, - [1311] = 9, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(15), - 1, - anon_sym_LT, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(136), - 1, - ts_builtin_sym_end, - ACTIONS(195), - 1, - aux_sym_names_token1, - STATE(25), - 1, - sym_start_tag, - STATE(151), - 1, - sym_empty_elem_tag, - STATE(53), - 2, - sym_element, - aux_sym_document_repeat2, - STATE(96), - 4, - sym_comment, - sym_processing_instructions, - sym__misc, - aux_sym_document_repeat3, - [1343] = 8, - ACTIONS(199), - 1, - aux_sym_entity_value_token1, - ACTIONS(202), - 1, - anon_sym_AMP_POUND, - ACTIONS(205), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(208), - 1, - anon_sym_AMP, - ACTIONS(211), - 1, - anon_sym_PERCENT, - ACTIONS(197), - 2, - aux_sym_names_token1, - anon_sym_GT, - STATE(123), - 2, - sym_char_ref, - sym_entity_ref, - STATE(38), - 3, - sym_reference, - sym_pe_reference, - aux_sym_entity_value_repeat1, - [1372] = 8, - ACTIONS(216), - 1, - aux_sym_entity_value_token1, - ACTIONS(218), - 1, - anon_sym_AMP_POUND, - ACTIONS(220), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(222), - 1, - anon_sym_AMP, - ACTIONS(224), - 1, - anon_sym_PERCENT, - ACTIONS(214), - 2, - aux_sym_names_token1, - anon_sym_GT, - STATE(123), - 2, - sym_char_ref, - sym_entity_ref, - STATE(38), - 3, - sym_reference, - sym_pe_reference, - aux_sym_entity_value_repeat1, - [1401] = 8, - ACTIONS(218), - 1, - anon_sym_AMP_POUND, - ACTIONS(220), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(222), - 1, - anon_sym_AMP, - ACTIONS(224), - 1, - anon_sym_PERCENT, - ACTIONS(228), - 1, - aux_sym_entity_value_token1, - ACTIONS(226), - 2, - aux_sym_names_token1, - anon_sym_GT, - STATE(123), - 2, - sym_char_ref, - sym_entity_ref, - STATE(39), - 3, - sym_reference, - sym_pe_reference, - aux_sym_entity_value_repeat1, - [1430] = 1, - ACTIONS(230), - 11, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_LT_BANGDOCTYPE, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1444] = 8, - ACTIONS(13), - 1, - anon_sym_LT_BANGDOCTYPE, - ACTIONS(234), - 1, - aux_sym_names_token1, - ACTIONS(236), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(238), - 1, - anon_sym_LT_QMARK, - ACTIONS(240), - 1, - anon_sym_LT, - STATE(48), - 1, - sym_doctype_decl, - ACTIONS(232), - 2, - ts_builtin_sym_end, - anon_sym_LT_QMARKxml, - STATE(98), - 3, - sym_comment, - sym_processing_instructions, - sym__misc, - [1472] = 1, - ACTIONS(242), - 11, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_LT_BANGDOCTYPE, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1486] = 1, - ACTIONS(244), - 11, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_LT_BANGDOCTYPE, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1500] = 1, - ACTIONS(246), - 11, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_LT_BANGDOCTYPE, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1514] = 6, - ACTIONS(236), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(238), - 1, - anon_sym_LT_QMARK, - ACTIONS(240), - 1, - anon_sym_LT, - ACTIONS(248), - 1, - aux_sym_names_token1, - ACTIONS(232), - 3, - ts_builtin_sym_end, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - STATE(119), - 3, - sym_comment, - sym_processing_instructions, - sym__misc, - [1537] = 7, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(254), - 1, - aux_sym_names_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - ACTIONS(258), - 1, - anon_sym_POUNDPCDATA, - STATE(143), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [1562] = 6, - ACTIONS(236), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(238), - 1, - anon_sym_LT_QMARK, - ACTIONS(262), - 1, - aux_sym_names_token1, - ACTIONS(264), - 1, - anon_sym_LT, - ACTIONS(260), - 3, - ts_builtin_sym_end, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - STATE(137), - 3, - sym_comment, - sym_processing_instructions, - sym__misc, - [1585] = 6, - ACTIONS(236), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(238), - 1, - anon_sym_LT_QMARK, - ACTIONS(268), - 1, - aux_sym_names_token1, - ACTIONS(270), - 1, - anon_sym_LT, - ACTIONS(266), - 3, - ts_builtin_sym_end, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - STATE(133), - 3, - sym_comment, - sym_processing_instructions, - sym__misc, - [1608] = 2, - ACTIONS(274), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(272), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [1622] = 2, - ACTIONS(278), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(276), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [1636] = 7, - ACTIONS(280), - 1, - anon_sym_DQUOTE, - ACTIONS(282), - 1, - aux_sym_entity_value_token1, - ACTIONS(284), - 1, - anon_sym_AMP_POUND, - ACTIONS(286), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(288), - 1, - anon_sym_AMP, - STATE(68), - 2, - sym_reference, - aux_sym_attribute_value_repeat1, - STATE(177), - 2, - sym_char_ref, - sym_entity_ref, - [1660] = 5, - ACTIONS(292), - 1, - anon_sym_LT, - STATE(25), - 1, - sym_start_tag, - STATE(151), - 1, - sym_empty_elem_tag, - STATE(53), - 2, - sym_element, - aux_sym_document_repeat2, - ACTIONS(290), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [1680] = 2, - ACTIONS(297), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(295), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [1694] = 6, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - ACTIONS(299), - 1, - aux_sym_names_token1, - STATE(143), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [1716] = 6, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - ACTIONS(301), - 1, - anon_sym_POUNDPCDATA, - STATE(144), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [1738] = 1, - ACTIONS(303), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1750] = 1, - ACTIONS(305), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1762] = 1, - ACTIONS(307), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1774] = 6, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - ACTIONS(309), - 1, - aux_sym_names_token1, - STATE(275), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [1796] = 6, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - ACTIONS(311), - 1, - aux_sym_names_token1, - STATE(243), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [1818] = 2, - ACTIONS(315), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(313), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [1832] = 6, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - ACTIONS(317), - 1, - aux_sym_names_token1, - STATE(276), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [1854] = 2, - ACTIONS(321), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(319), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [1868] = 1, - ACTIONS(323), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1880] = 1, - ACTIONS(325), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1892] = 1, - ACTIONS(327), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [1904] = 7, - ACTIONS(284), - 1, - anon_sym_AMP_POUND, - ACTIONS(286), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(288), - 1, - anon_sym_AMP, - ACTIONS(329), - 1, - anon_sym_DQUOTE, - ACTIONS(331), - 1, - aux_sym_entity_value_token1, - STATE(89), - 2, - sym_reference, - aux_sym_attribute_value_repeat1, - STATE(177), - 2, - sym_char_ref, - sym_entity_ref, - [1928] = 7, - ACTIONS(329), - 1, - anon_sym_SQUOTE, - ACTIONS(333), - 1, - aux_sym_entity_value_token1, - ACTIONS(335), - 1, - anon_sym_AMP_POUND, - ACTIONS(337), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(339), - 1, - anon_sym_AMP, - STATE(83), - 2, - sym_reference, - aux_sym_attribute_value_repeat1, - STATE(175), - 2, - sym_char_ref, - sym_entity_ref, - [1952] = 7, - ACTIONS(280), - 1, - anon_sym_SQUOTE, - ACTIONS(335), - 1, - anon_sym_AMP_POUND, - ACTIONS(337), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(339), - 1, - anon_sym_AMP, - ACTIONS(341), - 1, - aux_sym_entity_value_token1, - STATE(69), - 2, - sym_reference, - aux_sym_attribute_value_repeat1, - STATE(175), - 2, - sym_char_ref, - sym_entity_ref, - [1976] = 2, - ACTIONS(345), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(343), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [1990] = 2, - ACTIONS(349), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(347), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2004] = 6, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - ACTIONS(351), - 1, - aux_sym_names_token1, - STATE(244), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [2026] = 2, - ACTIONS(355), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(353), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2040] = 1, - ACTIONS(357), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [2052] = 1, - ACTIONS(359), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [2064] = 2, - ACTIONS(363), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(361), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2078] = 2, - ACTIONS(367), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(365), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2092] = 1, - ACTIONS(369), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [2104] = 1, - ACTIONS(371), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [2116] = 2, - ACTIONS(375), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(373), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2130] = 2, - ACTIONS(379), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(377), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2144] = 7, - ACTIONS(381), - 1, - aux_sym_entity_value_token1, - ACTIONS(384), - 1, - anon_sym_SQUOTE, - ACTIONS(386), - 1, - anon_sym_AMP_POUND, - ACTIONS(389), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(392), - 1, - anon_sym_AMP, - STATE(83), - 2, - sym_reference, - aux_sym_attribute_value_repeat1, - STATE(175), - 2, - sym_char_ref, - sym_entity_ref, - [2168] = 2, - ACTIONS(397), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(395), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2182] = 2, - ACTIONS(399), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(230), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2196] = 2, - ACTIONS(401), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(242), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2210] = 2, - ACTIONS(405), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(403), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2224] = 2, - ACTIONS(409), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(407), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2238] = 7, - ACTIONS(384), - 1, - anon_sym_DQUOTE, - ACTIONS(411), - 1, - aux_sym_entity_value_token1, - ACTIONS(414), - 1, - anon_sym_AMP_POUND, - ACTIONS(417), - 1, - anon_sym_AMP_POUNDx, - ACTIONS(420), - 1, - anon_sym_AMP, - STATE(89), - 2, - sym_reference, - aux_sym_attribute_value_repeat1, - STATE(177), - 2, - sym_char_ref, - sym_entity_ref, - [2262] = 1, - ACTIONS(423), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [2274] = 1, - ACTIONS(425), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [2286] = 1, - ACTIONS(427), - 9, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - anon_sym_RBRACK, - anon_sym_LT_BANGELEMENT, - anon_sym_LT_BANGATTLIST, - anon_sym_PERCENT, - anon_sym_LT_BANGENTITY, - anon_sym_LT_BANGNOTATION, - [2298] = 2, - ACTIONS(429), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(246), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2312] = 2, - ACTIONS(431), - 3, - anon_sym_LT, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(244), - 6, - sym__char_data, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - sym__cdata_start, - anon_sym_LT_SLASH, - anon_sym_AMP_POUNDx, - [2326] = 5, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - STATE(144), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [2345] = 5, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(191), - 1, - ts_builtin_sym_end, - ACTIONS(433), - 1, - aux_sym_names_token1, - STATE(99), - 4, - sym_comment, - sym_processing_instructions, - sym__misc, - aux_sym_document_repeat3, - [2364] = 5, - ACTIONS(437), - 1, - anon_sym_LPAREN, - STATE(327), - 1, - sym_content_spec, - ACTIONS(435), - 2, - anon_sym_EMPTY, - anon_sym_ANY, - STATE(164), - 2, - sym_element_choice, - sym_element_seq, - STATE(328), - 2, - sym_children, - sym_mixed, - [2383] = 4, - ACTIONS(13), - 1, - anon_sym_LT_BANGDOCTYPE, - STATE(49), - 1, - sym_doctype_decl, - ACTIONS(264), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(260), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - [2400] = 5, - ACTIONS(439), - 1, - ts_builtin_sym_end, - ACTIONS(441), - 1, - aux_sym_names_token1, - ACTIONS(444), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(447), - 1, - anon_sym_LT_QMARK, - STATE(99), - 4, - sym_comment, - sym_processing_instructions, - sym__misc, - aux_sym_document_repeat3, - [2419] = 1, - ACTIONS(450), - 8, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [2430] = 1, - ACTIONS(452), - 8, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [2441] = 5, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - STATE(275), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [2460] = 5, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - STATE(279), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [2479] = 5, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(433), - 1, - aux_sym_names_token1, - ACTIONS(454), - 1, - ts_builtin_sym_end, - STATE(99), - 4, - sym_comment, - sym_processing_instructions, - sym__misc, - aux_sym_document_repeat3, - [2498] = 1, - ACTIONS(456), - 8, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [2509] = 1, - ACTIONS(458), - 8, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [2520] = 5, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - STATE(282), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [2539] = 5, - ACTIONS(250), - 1, - aux_sym__name_char_token1, - ACTIONS(256), - 1, - anon_sym_LPAREN, - STATE(276), - 1, - sym_cp, - ACTIONS(252), - 2, - anon_sym_COLON, - anon_sym__, - STATE(125), - 3, - sym__name, - sym_element_choice, - sym_element_seq, - [2558] = 1, - ACTIONS(460), - 8, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [2569] = 5, - ACTIONS(7), - 1, - anon_sym_LT_BANG_DASH_DASH, - ACTIONS(56), - 1, - anon_sym_LT_QMARK, - ACTIONS(136), - 1, - ts_builtin_sym_end, - ACTIONS(433), - 1, - aux_sym_names_token1, - STATE(99), - 4, - sym_comment, - sym_processing_instructions, - sym__misc, - aux_sym_document_repeat3, - [2588] = 1, - ACTIONS(462), - 8, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [2599] = 1, - ACTIONS(464), - 8, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [2610] = 2, - ACTIONS(468), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(466), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2622] = 2, - ACTIONS(429), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(246), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2634] = 2, - ACTIONS(472), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(470), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2646] = 6, - ACTIONS(474), - 1, - anon_sym_DQUOTE, - ACTIONS(476), - 1, - anon_sym_SQUOTE, - ACTIONS(480), - 1, - anon_sym_POUNDFIXED, - STATE(363), - 1, - sym_attribute_value, - STATE(365), - 1, - sym_default_decl, - ACTIONS(478), - 2, - anon_sym_POUNDREQUIRED, - anon_sym_POUNDIMPLIED, - [2666] = 2, - ACTIONS(484), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(482), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2678] = 2, - ACTIONS(405), - 3, - aux_sym_entity_value_token1, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(403), - 4, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_AMP_POUNDx, - anon_sym_PERCENT, - [2690] = 2, - ACTIONS(264), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(260), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2702] = 2, - ACTIONS(488), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(486), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2714] = 2, - ACTIONS(492), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(490), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2726] = 2, - ACTIONS(496), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(494), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2738] = 2, - ACTIONS(355), - 3, - aux_sym_entity_value_token1, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(353), - 4, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_AMP_POUNDx, - anon_sym_PERCENT, - [2750] = 2, - ACTIONS(409), - 3, - aux_sym_entity_value_token1, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(407), - 4, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_AMP_POUNDx, - anon_sym_PERCENT, - [2762] = 2, - ACTIONS(500), - 3, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - ACTIONS(498), - 4, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [2774] = 2, - ACTIONS(431), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(244), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2786] = 2, - ACTIONS(399), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(230), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2798] = 2, - ACTIONS(504), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(502), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2810] = 6, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - ACTIONS(510), - 1, - anon_sym_GT, - ACTIONS(512), - 1, - anon_sym_SLASH_GT, - STATE(262), - 1, - sym_attribute, - STATE(322), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [2830] = 2, - ACTIONS(516), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(514), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2842] = 6, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - ACTIONS(510), - 1, - anon_sym_GT, - ACTIONS(518), - 1, - anon_sym_SLASH_GT, - STATE(262), - 1, - sym_attribute, - STATE(322), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [2862] = 2, - ACTIONS(520), - 3, - aux_sym_entity_value_token1, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(325), - 4, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_AMP_POUNDx, - anon_sym_PERCENT, - [2874] = 2, - ACTIONS(524), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(522), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2886] = 2, - ACTIONS(401), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(242), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2898] = 6, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - ACTIONS(526), - 1, - anon_sym_GT, - ACTIONS(528), - 1, - anon_sym_SLASH_GT, - STATE(262), - 1, - sym_attribute, - STATE(322), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [2918] = 2, - ACTIONS(532), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(530), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2930] = 2, - ACTIONS(270), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(266), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2942] = 6, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - ACTIONS(526), - 1, - anon_sym_GT, - ACTIONS(534), - 1, - anon_sym_SLASH_GT, - STATE(262), - 1, - sym_attribute, - STATE(322), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [2962] = 2, - ACTIONS(538), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(536), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2974] = 2, - ACTIONS(542), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(540), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2986] = 2, - ACTIONS(546), - 2, - anon_sym_LT_QMARK, - anon_sym_LT, - ACTIONS(544), - 5, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARKxml, - anon_sym_LT_BANGDOCTYPE, - [2998] = 3, - ACTIONS(13), - 1, - anon_sym_LT_BANGDOCTYPE, - STATE(48), - 1, - sym_doctype_decl, - ACTIONS(548), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3011] = 6, - ACTIONS(550), - 1, - aux_sym_names_token1, - ACTIONS(552), - 1, - anon_sym_PIPE, - ACTIONS(554), - 1, - anon_sym_RPAREN, - ACTIONS(556), - 1, - anon_sym_COMMA, - STATE(192), - 1, - aux_sym_element_seq_repeat1, - STATE(193), - 1, - aux_sym_element_choice_repeat1, - [3030] = 6, - ACTIONS(552), - 1, - anon_sym_PIPE, - ACTIONS(556), - 1, - anon_sym_COMMA, - ACTIONS(558), - 1, - aux_sym_names_token1, - ACTIONS(560), - 1, - anon_sym_RPAREN, - STATE(180), - 1, - aux_sym_element_choice_repeat1, - STATE(230), - 1, - aux_sym_element_seq_repeat1, - [3049] = 5, - ACTIONS(562), - 1, - anon_sym_DQUOTE, - ACTIONS(564), - 1, - anon_sym_SYSTEM, - ACTIONS(566), - 1, - anon_sym_PUBLIC, - STATE(305), - 1, - sym_pe_def, - STATE(304), - 2, - sym_entity_value, - sym_external_id, - [3066] = 6, - ACTIONS(562), - 1, - anon_sym_DQUOTE, - ACTIONS(564), - 1, - anon_sym_SYSTEM, - ACTIONS(566), - 1, - anon_sym_PUBLIC, - STATE(251), - 1, - sym_external_id, - STATE(323), - 1, - sym_entity_def, - STATE(324), - 1, - sym_entity_value, - [3085] = 5, - ACTIONS(564), - 1, - anon_sym_SYSTEM, - ACTIONS(566), - 1, - anon_sym_PUBLIC, - ACTIONS(568), - 1, - anon_sym_LBRACK, - ACTIONS(570), - 1, - anon_sym_GT, - STATE(270), - 1, - sym_external_id, - [3101] = 4, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - ACTIONS(572), - 1, - anon_sym_GT, - STATE(438), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3115] = 4, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(297), - 1, - sym__name, - STATE(298), - 1, - sym_pi_target, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3129] = 4, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(297), - 1, - sym__name, - STATE(303), - 1, - sym_pi_target, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3143] = 2, - ACTIONS(297), - 1, - anon_sym_LT, - ACTIONS(295), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3153] = 4, - ACTIONS(574), - 1, - aux_sym__name_char_token1, - ACTIONS(578), - 1, - aux_sym_names_token1, - STATE(252), - 1, - sym__name, - ACTIONS(576), - 2, - anon_sym_COLON, - anon_sym__, - [3167] = 5, - ACTIONS(580), - 1, - aux_sym_names_token1, - ACTIONS(582), - 1, - anon_sym_PIPE, - ACTIONS(584), - 1, - anon_sym_RPAREN, - ACTIONS(586), - 1, - anon_sym_RPAREN_STAR, - STATE(227), - 1, - aux_sym_mixed_repeat1, - [3183] = 4, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(297), - 1, - sym__name, - STATE(316), - 1, - sym_pi_target, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3197] = 2, - ACTIONS(321), - 1, - anon_sym_LT, - ACTIONS(319), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3207] = 5, - ACTIONS(582), - 1, - anon_sym_PIPE, - ACTIONS(588), - 1, - aux_sym_names_token1, - ACTIONS(590), - 1, - anon_sym_RPAREN, - ACTIONS(592), - 1, - anon_sym_RPAREN_STAR, - STATE(198), - 1, - aux_sym_mixed_repeat1, - [3223] = 3, - STATE(157), - 1, - aux_sym__enc_name_repeat1, - ACTIONS(594), - 2, - anon_sym_DASH, - aux_sym__enc_name_token2, - ACTIONS(597), - 2, - anon_sym_DQUOTE, - anon_sym_SQUOTE, - [3235] = 4, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - ACTIONS(599), - 1, - anon_sym_PERCENT, - STATE(384), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3249] = 4, - ACTIONS(574), - 1, - aux_sym__name_char_token1, - ACTIONS(601), - 1, - aux_sym_names_token1, - STATE(266), - 1, - sym__name, - ACTIONS(576), - 2, - anon_sym_COLON, - anon_sym__, - [3263] = 4, - ACTIONS(603), - 1, - aux_sym__name_char_token1, - ACTIONS(607), - 1, - aux_sym_names_token1, - STATE(277), - 1, - sym__name, - ACTIONS(605), - 2, - anon_sym_COLON, - anon_sym__, - [3277] = 2, - ACTIONS(278), - 1, - anon_sym_LT, - ACTIONS(276), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3287] = 4, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - ACTIONS(609), - 1, - anon_sym_GT, - STATE(438), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3301] = 2, - ACTIONS(345), - 1, - anon_sym_LT, - ACTIONS(343), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3311] = 2, - ACTIONS(611), - 2, - aux_sym_names_token1, - anon_sym_GT, - ACTIONS(613), - 3, - anon_sym_QMARK, - anon_sym_STAR, - anon_sym_PLUS, - [3321] = 4, - ACTIONS(603), - 1, - aux_sym__name_char_token1, - ACTIONS(615), - 1, - aux_sym_names_token1, - STATE(260), - 1, - sym__name, - ACTIONS(605), - 2, - anon_sym_COLON, - anon_sym__, - [3335] = 3, - STATE(157), - 1, - aux_sym__enc_name_repeat1, - ACTIONS(617), - 2, - anon_sym_DASH, - aux_sym__enc_name_token2, - ACTIONS(619), - 2, - anon_sym_DQUOTE, - anon_sym_SQUOTE, - [3347] = 2, - ACTIONS(349), - 1, - anon_sym_LT, - ACTIONS(347), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3357] = 2, - ACTIONS(274), - 1, - anon_sym_LT, - ACTIONS(272), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3367] = 2, - ACTIONS(405), - 2, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(403), - 3, - anon_sym_DQUOTE, - aux_sym_entity_value_token1, - anon_sym_AMP_POUNDx, - [3377] = 2, - ACTIONS(379), - 1, - anon_sym_LT, - ACTIONS(377), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3387] = 4, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(262), - 1, - sym_attribute, - STATE(322), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3401] = 2, - ACTIONS(409), - 2, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(407), - 3, - anon_sym_DQUOTE, - aux_sym_entity_value_token1, - anon_sym_AMP_POUNDx, - [3411] = 4, - ACTIONS(603), - 1, - aux_sym__name_char_token1, - ACTIONS(621), - 1, - aux_sym_names_token1, - STATE(187), - 1, - sym__name, - ACTIONS(605), - 2, - anon_sym_COLON, - anon_sym__, - [3425] = 3, - STATE(166), - 1, - aux_sym__enc_name_repeat1, - ACTIONS(623), - 2, - anon_sym_DASH, - aux_sym__enc_name_token2, - ACTIONS(625), - 2, - anon_sym_DQUOTE, - anon_sym_SQUOTE, - [3437] = 2, - ACTIONS(353), - 2, - anon_sym_SQUOTE, - anon_sym_AMP_POUNDx, - ACTIONS(355), - 3, - aux_sym_entity_value_token1, - anon_sym_AMP_POUND, - anon_sym_AMP, - [3447] = 2, - ACTIONS(375), - 1, - anon_sym_LT, - ACTIONS(373), - 4, - ts_builtin_sym_end, - aux_sym_names_token1, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_QMARK, - [3457] = 2, - ACTIONS(355), - 2, - anon_sym_AMP_POUND, - anon_sym_AMP, - ACTIONS(353), - 3, - anon_sym_DQUOTE, - aux_sym_entity_value_token1, - anon_sym_AMP_POUNDx, - [3467] = 2, - ACTIONS(403), - 2, - anon_sym_SQUOTE, - anon_sym_AMP_POUNDx, - ACTIONS(405), - 3, - aux_sym_entity_value_token1, - anon_sym_AMP_POUND, - anon_sym_AMP, - [3477] = 2, - ACTIONS(407), - 2, - anon_sym_SQUOTE, - anon_sym_AMP_POUNDx, - ACTIONS(409), - 3, - aux_sym_entity_value_token1, - anon_sym_AMP_POUND, - anon_sym_AMP, - [3487] = 4, - ACTIONS(552), - 1, - anon_sym_PIPE, - ACTIONS(627), - 1, - aux_sym_names_token1, - ACTIONS(629), - 1, - anon_sym_RPAREN, - STATE(234), - 1, - aux_sym_element_choice_repeat1, - [3500] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(438), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3511] = 4, - ACTIONS(474), - 1, - anon_sym_DQUOTE, - ACTIONS(476), - 1, - anon_sym_SQUOTE, - ACTIONS(631), - 1, - aux_sym_names_token1, - STATE(289), - 1, - sym_attribute_value, - [3524] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(466), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3535] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(463), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3546] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(188), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3557] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(383), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3568] = 4, - ACTIONS(633), - 1, - aux_sym_names_token1, - ACTIONS(635), - 1, - anon_sym_PIPE, - ACTIONS(637), - 1, - anon_sym_RPAREN, - STATE(240), - 1, - aux_sym_notation_type_repeat1, - [3581] = 3, - ACTIONS(639), - 1, - aux_sym_names_token1, - ACTIONS(641), - 1, - anon_sym_GT, - STATE(215), - 2, - sym_attribute_def, - aux_sym_attlist_decl_repeat1, - [3592] = 3, - ACTIONS(603), - 1, - aux_sym__name_char_token1, - STATE(239), - 1, - sym__name, - ACTIONS(605), - 2, - anon_sym_COLON, - anon_sym__, - [3603] = 4, - ACTIONS(643), - 1, - aux_sym_names_token1, - ACTIONS(646), - 1, - anon_sym_PIPE, - ACTIONS(649), - 1, - anon_sym_RPAREN, - STATE(190), - 1, - aux_sym_enumeration_repeat1, - [3616] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(208), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3627] = 4, - ACTIONS(556), - 1, - anon_sym_COMMA, - ACTIONS(560), - 1, - anon_sym_RPAREN, - ACTIONS(651), - 1, - aux_sym_names_token1, - STATE(231), - 1, - aux_sym_element_seq_repeat1, - [3640] = 4, - ACTIONS(552), - 1, - anon_sym_PIPE, - ACTIONS(653), - 1, - aux_sym_names_token1, - ACTIONS(655), - 1, - anon_sym_RPAREN, - STATE(234), - 1, - aux_sym_element_choice_repeat1, - [3653] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(458), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3664] = 4, - ACTIONS(657), - 1, - anon_sym_DASH, - ACTIONS(659), - 1, - aux_sym_comment_token1, - ACTIONS(661), - 1, - anon_sym_DASH_DASH_GT, - STATE(220), - 1, - aux_sym_comment_repeat1, - [3677] = 4, - ACTIONS(657), - 1, - anon_sym_DASH, - ACTIONS(663), - 1, - aux_sym_comment_token1, - ACTIONS(665), - 1, - anon_sym_DASH_DASH_GT, - STATE(195), - 1, - aux_sym_comment_repeat1, - [3690] = 1, - ACTIONS(667), - 4, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - anon_sym_COMMA, - [3697] = 4, - ACTIONS(582), - 1, - anon_sym_PIPE, - ACTIONS(586), - 1, - anon_sym_RPAREN_STAR, - ACTIONS(669), - 1, - aux_sym_names_token1, - STATE(233), - 1, - aux_sym_mixed_repeat1, - [3710] = 4, - ACTIONS(671), - 1, - aux_sym_names_token1, - ACTIONS(673), - 1, - anon_sym_PIPE, - ACTIONS(675), - 1, - anon_sym_RPAREN, - STATE(190), - 1, - aux_sym_enumeration_repeat1, - [3723] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(454), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3734] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(308), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3745] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(237), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3756] = 4, - ACTIONS(474), - 1, - anon_sym_DQUOTE, - ACTIONS(476), - 1, - anon_sym_SQUOTE, - ACTIONS(677), - 1, - aux_sym_names_token1, - STATE(381), - 1, - sym_attribute_value, - [3769] = 4, - ACTIONS(673), - 1, - anon_sym_PIPE, - ACTIONS(679), - 1, - aux_sym_names_token1, - ACTIONS(681), - 1, - anon_sym_RPAREN, - STATE(190), - 1, - aux_sym_enumeration_repeat1, - [3782] = 4, - ACTIONS(474), - 1, - anon_sym_DQUOTE, - ACTIONS(476), - 1, - anon_sym_SQUOTE, - ACTIONS(683), - 1, - aux_sym_names_token1, - STATE(287), - 1, - sym_attribute_value, - [3795] = 4, - ACTIONS(673), - 1, - anon_sym_PIPE, - ACTIONS(679), - 1, - aux_sym_names_token1, - ACTIONS(681), - 1, - anon_sym_RPAREN, - STATE(199), - 1, - aux_sym_enumeration_repeat1, - [3808] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(257), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3819] = 4, - ACTIONS(685), - 1, - aux_sym_names_token1, - ACTIONS(687), - 1, - anon_sym_GT, - ACTIONS(689), - 1, - anon_sym_SLASH_GT, - STATE(236), - 1, - aux_sym_start_tag_repeat1, - [3832] = 3, - ACTIONS(603), - 1, - aux_sym__name_char_token1, - STATE(281), - 1, - sym__name, - ACTIONS(605), - 2, - anon_sym_COLON, - anon_sym__, - [3843] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(315), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3854] = 3, - ACTIONS(691), - 1, - aux_sym_names_token1, - ACTIONS(694), - 1, - anon_sym_GT, - STATE(211), - 2, - sym_attribute_def, - aux_sym_attlist_decl_repeat1, - [3865] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(412), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3876] = 4, - ACTIONS(657), - 1, - anon_sym_DASH, - ACTIONS(659), - 1, - aux_sym_comment_token1, - ACTIONS(696), - 1, - anon_sym_DASH_DASH_GT, - STATE(220), - 1, - aux_sym_comment_repeat1, - [3889] = 4, - ACTIONS(657), - 1, - anon_sym_DASH, - ACTIONS(698), - 1, - aux_sym_comment_token1, - ACTIONS(700), - 1, - anon_sym_DASH_DASH_GT, - STATE(213), - 1, - aux_sym_comment_repeat1, - [3902] = 3, - ACTIONS(572), - 1, - anon_sym_GT, - ACTIONS(702), - 1, - aux_sym_names_token1, - STATE(211), - 2, - sym_attribute_def, - aux_sym_attlist_decl_repeat1, - [3913] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(439), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3924] = 3, - ACTIONS(564), - 1, - anon_sym_SYSTEM, - ACTIONS(704), - 1, - anon_sym_PUBLIC, - STATE(320), - 2, - sym_external_id, - sym_public_id, - [3935] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(446), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [3946] = 4, - ACTIONS(706), - 1, - aux_sym_names_token1, - ACTIONS(709), - 1, - anon_sym_PIPE, - ACTIONS(712), - 1, - anon_sym_RPAREN, - STATE(219), - 1, - aux_sym_notation_type_repeat1, - [3959] = 4, - ACTIONS(714), - 1, - anon_sym_DASH, - ACTIONS(717), - 1, - aux_sym_comment_token1, - ACTIONS(720), - 1, - anon_sym_DASH_DASH_GT, - STATE(220), - 1, - aux_sym_comment_repeat1, - [3972] = 3, - ACTIONS(574), - 1, - aux_sym__name_char_token1, - STATE(278), - 1, - sym__name, - ACTIONS(576), - 2, - anon_sym_COLON, - anon_sym__, - [3983] = 4, - ACTIONS(526), - 1, - anon_sym_GT, - ACTIONS(528), - 1, - anon_sym_SLASH_GT, - ACTIONS(722), - 1, - aux_sym_names_token1, - STATE(225), - 1, - aux_sym_start_tag_repeat1, - [3996] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(386), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [4007] = 3, - ACTIONS(506), - 1, - aux_sym__name_char_token1, - STATE(367), - 1, - sym__name, - ACTIONS(508), - 2, - anon_sym_COLON, - anon_sym__, - [4018] = 3, - ACTIONS(724), - 1, - aux_sym_names_token1, - STATE(225), - 1, - aux_sym_start_tag_repeat1, - ACTIONS(727), - 2, - anon_sym_GT, - anon_sym_SLASH_GT, - [4029] = 4, - ACTIONS(729), - 1, - aux_sym_names_token1, - ACTIONS(731), - 1, - anon_sym_QMARK_GT, - STATE(255), - 1, - sym_encoding_decl, - STATE(319), - 1, - sym_standalone_decl, - [4042] = 4, - ACTIONS(582), - 1, - anon_sym_PIPE, - ACTIONS(733), - 1, - aux_sym_names_token1, - ACTIONS(735), - 1, - anon_sym_RPAREN_STAR, - STATE(233), - 1, - aux_sym_mixed_repeat1, - [4055] = 4, - ACTIONS(673), - 1, - anon_sym_PIPE, - ACTIONS(737), - 1, - aux_sym_names_token1, - ACTIONS(739), - 1, - anon_sym_RPAREN, - STATE(204), - 1, - aux_sym_enumeration_repeat1, - [4068] = 3, - ACTIONS(603), - 1, - aux_sym__name_char_token1, - STATE(277), - 1, - sym__name, - ACTIONS(605), - 2, - anon_sym_COLON, - anon_sym__, - [4079] = 4, - ACTIONS(556), - 1, - anon_sym_COMMA, - ACTIONS(741), - 1, - aux_sym_names_token1, - ACTIONS(743), - 1, - anon_sym_RPAREN, - STATE(231), - 1, - aux_sym_element_seq_repeat1, - [4092] = 4, - ACTIONS(745), - 1, - aux_sym_names_token1, - ACTIONS(748), - 1, - anon_sym_RPAREN, - ACTIONS(750), - 1, - anon_sym_COMMA, - STATE(231), - 1, - aux_sym_element_seq_repeat1, - [4105] = 3, - ACTIONS(574), - 1, - aux_sym__name_char_token1, - STATE(266), - 1, - sym__name, - ACTIONS(576), - 2, - anon_sym_COLON, - anon_sym__, - [4116] = 4, - ACTIONS(753), - 1, - aux_sym_names_token1, - ACTIONS(756), - 1, - anon_sym_PIPE, - ACTIONS(759), - 1, - anon_sym_RPAREN_STAR, - STATE(233), - 1, - aux_sym_mixed_repeat1, - [4129] = 4, - ACTIONS(761), - 1, - aux_sym_names_token1, - ACTIONS(764), - 1, - anon_sym_PIPE, - ACTIONS(767), - 1, - anon_sym_RPAREN, - STATE(234), - 1, - aux_sym_element_choice_repeat1, - [4142] = 4, - ACTIONS(633), - 1, - aux_sym_names_token1, - ACTIONS(635), - 1, - anon_sym_PIPE, - ACTIONS(769), - 1, - anon_sym_RPAREN, - STATE(219), - 1, - aux_sym_notation_type_repeat1, - [4155] = 4, - ACTIONS(526), - 1, - anon_sym_GT, - ACTIONS(534), - 1, - anon_sym_SLASH_GT, - ACTIONS(771), - 1, - aux_sym_names_token1, - STATE(225), - 1, - aux_sym_start_tag_repeat1, - [4168] = 4, - ACTIONS(687), - 1, - anon_sym_GT, - ACTIONS(773), - 1, - aux_sym_names_token1, - ACTIONS(775), - 1, - anon_sym_SLASH_GT, - STATE(222), - 1, - aux_sym_start_tag_repeat1, - [4181] = 4, - ACTIONS(657), - 1, - anon_sym_DASH, - ACTIONS(777), - 1, - aux_sym_comment_token1, - ACTIONS(779), - 1, - anon_sym_DASH_DASH_GT, - STATE(241), - 1, - aux_sym_comment_repeat1, - [4194] = 4, - ACTIONS(633), - 1, - aux_sym_names_token1, - ACTIONS(635), - 1, - anon_sym_PIPE, - ACTIONS(781), - 1, - anon_sym_RPAREN, - STATE(235), - 1, - aux_sym_notation_type_repeat1, - [4207] = 4, - ACTIONS(633), - 1, - aux_sym_names_token1, - ACTIONS(635), - 1, - anon_sym_PIPE, - ACTIONS(783), - 1, - anon_sym_RPAREN, - STATE(219), - 1, - aux_sym_notation_type_repeat1, - [4220] = 4, - ACTIONS(657), - 1, - anon_sym_DASH, - ACTIONS(659), - 1, - aux_sym_comment_token1, - ACTIONS(785), - 1, - anon_sym_DASH_DASH_GT, - STATE(220), - 1, - aux_sym_comment_repeat1, - [4233] = 3, - ACTIONS(787), - 1, - anon_sym_QMARK_GT, - ACTIONS(789), - 1, - anon_sym_standalone, - ACTIONS(791), - 1, - anon_sym_encoding, - [4243] = 1, - ACTIONS(748), - 3, - aux_sym_names_token1, - anon_sym_RPAREN, - anon_sym_COMMA, - [4249] = 1, - ACTIONS(767), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4255] = 1, - ACTIONS(793), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4261] = 3, - ACTIONS(795), - 1, - aux_sym_names_token1, - ACTIONS(797), - 1, - anon_sym_DQUOTE, - ACTIONS(799), - 1, - anon_sym_SQUOTE, - [4271] = 3, - ACTIONS(801), - 1, - anon_sym_DQUOTE, - ACTIONS(803), - 1, - sym_pubid_char, - STATE(273), - 1, - aux_sym_pubid_literal_repeat1, - [4281] = 1, - ACTIONS(805), - 3, - aux_sym_names_token1, - anon_sym_LBRACK, - anon_sym_GT, - [4287] = 1, - ACTIONS(807), - 3, - aux_sym_names_token1, - anon_sym_LBRACK, - anon_sym_GT, - [4293] = 3, - ACTIONS(809), - 1, - anon_sym_DQUOTE, - ACTIONS(811), - 1, - sym_pubid_char, - STATE(250), - 1, - aux_sym_pubid_literal_repeat1, - [4303] = 2, - STATE(311), - 1, - sym_ndata_decl, - ACTIONS(814), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4311] = 1, - ACTIONS(759), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN_STAR, - [4317] = 1, - ACTIONS(816), - 3, - aux_sym_names_token1, - anon_sym_LBRACK, - anon_sym_GT, - [4323] = 3, - ACTIONS(818), - 1, - aux_sym_names_token1, - ACTIONS(820), - 1, - anon_sym_DQUOTE, - ACTIONS(822), - 1, - anon_sym_SQUOTE, - [4333] = 3, - ACTIONS(787), - 1, - anon_sym_QMARK_GT, - ACTIONS(824), - 1, - aux_sym_names_token1, - STATE(337), - 1, - sym_standalone_decl, - [4343] = 1, - ACTIONS(826), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4349] = 3, - ACTIONS(828), - 1, - aux_sym_names_token1, - ACTIONS(830), - 1, - anon_sym_LBRACK, - ACTIONS(832), - 1, - anon_sym_GT, - [4359] = 3, - ACTIONS(743), - 1, - anon_sym_RPAREN, - ACTIONS(834), - 1, - anon_sym_PIPE, - ACTIONS(836), - 1, - anon_sym_COMMA, - [4369] = 3, - ACTIONS(735), - 1, - anon_sym_RPAREN_STAR, - ACTIONS(838), - 1, - anon_sym_PIPE, - ACTIONS(840), - 1, - anon_sym_RPAREN, - [4379] = 1, - ACTIONS(842), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4385] = 3, - ACTIONS(844), - 1, - anon_sym_DQUOTE, - ACTIONS(846), - 1, - anon_sym_SQUOTE, - STATE(248), - 1, - sym_system_literal, - [4395] = 1, - ACTIONS(727), - 3, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_SLASH_GT, - [4401] = 3, - ACTIONS(848), - 1, - aux_sym_names_token1, - ACTIONS(850), - 1, - anon_sym_DQUOTE, - ACTIONS(852), - 1, - anon_sym_SQUOTE, - [4411] = 3, - ACTIONS(854), - 1, - aux_sym_names_token1, - ACTIONS(856), - 1, - anon_sym_DQUOTE, - ACTIONS(858), - 1, - anon_sym_SQUOTE, - [4421] = 2, - ACTIONS(860), - 1, - anon_sym_DASH, - ACTIONS(720), - 2, - aux_sym_comment_token1, - anon_sym_DASH_DASH_GT, - [4429] = 1, - ACTIONS(862), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN_STAR, - [4435] = 1, - ACTIONS(864), - 3, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_SLASH_GT, - [4441] = 1, - ACTIONS(866), - 3, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_SLASH_GT, - [4447] = 3, - ACTIONS(809), - 1, - anon_sym_SQUOTE, - ACTIONS(868), - 1, - sym_pubid_char, - STATE(269), - 1, - aux_sym_pubid_literal_repeat1, - [4457] = 3, - ACTIONS(871), - 1, - aux_sym_names_token1, - ACTIONS(873), - 1, - anon_sym_LBRACK, - ACTIONS(875), - 1, - anon_sym_GT, - [4467] = 3, - ACTIONS(844), - 1, - anon_sym_DQUOTE, - ACTIONS(846), - 1, - anon_sym_SQUOTE, - STATE(249), - 1, - sym_system_literal, - [4477] = 3, - ACTIONS(877), - 1, - anon_sym_SQUOTE, - ACTIONS(879), - 1, - sym_pubid_char, - STATE(269), - 1, - aux_sym_pubid_literal_repeat1, - [4487] = 3, - ACTIONS(877), - 1, - anon_sym_DQUOTE, - ACTIONS(881), - 1, - sym_pubid_char, - STATE(250), - 1, - aux_sym_pubid_literal_repeat1, - [4497] = 3, - ACTIONS(883), - 1, - anon_sym_DQUOTE, - ACTIONS(885), - 1, - anon_sym_SQUOTE, - STATE(309), - 1, - sym_pubid_literal, - [4507] = 1, - ACTIONS(887), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4513] = 1, - ACTIONS(889), - 3, - aux_sym_names_token1, - anon_sym_RPAREN, - anon_sym_COMMA, - [4519] = 1, - ACTIONS(891), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4525] = 1, - ACTIONS(893), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN_STAR, - [4531] = 1, - ACTIONS(895), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4537] = 3, - ACTIONS(584), - 1, - anon_sym_RPAREN, - ACTIONS(586), - 1, - anon_sym_RPAREN_STAR, - ACTIONS(838), - 1, - anon_sym_PIPE, - [4547] = 1, - ACTIONS(897), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4553] = 1, - ACTIONS(899), - 3, - aux_sym_names_token1, - anon_sym_RPAREN, - anon_sym_COMMA, - [4559] = 3, - ACTIONS(901), - 1, - aux_sym_names_token1, - ACTIONS(903), - 1, - anon_sym_DQUOTE, - ACTIONS(905), - 1, - anon_sym_SQUOTE, - [4569] = 3, - ACTIONS(560), - 1, - anon_sym_RPAREN, - ACTIONS(834), - 1, - anon_sym_PIPE, - ACTIONS(836), - 1, - anon_sym_COMMA, - [4579] = 3, - ACTIONS(907), - 1, - aux_sym_names_token1, - ACTIONS(909), - 1, - anon_sym_DQUOTE, - ACTIONS(911), - 1, - anon_sym_SQUOTE, - [4589] = 3, - ACTIONS(883), - 1, - anon_sym_DQUOTE, - ACTIONS(885), - 1, - anon_sym_SQUOTE, - STATE(387), - 1, - sym_pubid_literal, - [4599] = 1, - ACTIONS(913), - 3, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_SLASH_GT, - [4605] = 1, - ACTIONS(915), - 3, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_SLASH_GT, - [4611] = 1, - ACTIONS(917), - 3, - aux_sym_names_token1, - anon_sym_GT, - anon_sym_SLASH_GT, - [4617] = 3, - ACTIONS(474), - 1, - anon_sym_DQUOTE, - ACTIONS(476), - 1, - anon_sym_SQUOTE, - STATE(289), - 1, - sym_attribute_value, - [4627] = 3, - ACTIONS(474), - 1, - anon_sym_DQUOTE, - ACTIONS(476), - 1, - anon_sym_SQUOTE, - STATE(268), - 1, - sym_attribute_value, - [4637] = 1, - ACTIONS(649), - 3, - aux_sym_names_token1, - anon_sym_PIPE, - anon_sym_RPAREN, - [4643] = 3, - ACTIONS(474), - 1, - anon_sym_DQUOTE, - ACTIONS(476), - 1, - anon_sym_SQUOTE, - STATE(378), - 1, - sym_attribute_value, - [4653] = 3, - ACTIONS(801), - 1, - anon_sym_SQUOTE, - ACTIONS(919), - 1, - sym_pubid_char, - STATE(272), - 1, - aux_sym_pubid_literal_repeat1, - [4663] = 2, - ACTIONS(921), - 1, - anon_sym_1_DOT, - STATE(408), - 1, - sym__version_num, - [4670] = 2, - ACTIONS(923), - 1, - aux_sym_names_token1, - ACTIONS(925), - 1, - anon_sym_EQ, - [4677] = 1, - ACTIONS(927), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [4682] = 2, - ACTIONS(929), - 1, - aux_sym_names_token1, - ACTIONS(931), - 1, - anon_sym_QMARK_GT, - [4689] = 1, - ACTIONS(933), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4694] = 1, - ACTIONS(935), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [4699] = 2, - ACTIONS(937), - 1, - anon_sym_version, - STATE(226), - 1, - sym_version_info, - [4706] = 2, - ACTIONS(939), - 1, - aux_sym_cdata_token1, - STATE(313), - 1, - sym_cdata, - [4713] = 2, - ACTIONS(941), - 1, - aux_sym_names_token1, - ACTIONS(943), - 1, - anon_sym_QMARK_GT, - [4720] = 1, - ACTIONS(945), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4725] = 2, - ACTIONS(947), - 1, - aux_sym_names_token1, - ACTIONS(949), - 1, - anon_sym_GT, - [4732] = 1, - ACTIONS(951), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [4737] = 2, - ACTIONS(953), - 1, - aux_sym_names_token1, - ACTIONS(955), - 1, - anon_sym_EQ, - [4744] = 2, - ACTIONS(957), - 1, - aux_sym_names_token1, - ACTIONS(959), - 1, - anon_sym_GT, - [4751] = 1, - ACTIONS(961), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4756] = 1, - ACTIONS(963), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4761] = 1, - ACTIONS(965), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4766] = 1, - ACTIONS(967), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4771] = 2, - ACTIONS(969), - 1, - anon_sym_RBRACK_RBRACK_GT, - STATE(84), - 1, - sym__cdata_end, - [4778] = 1, - ACTIONS(971), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [4783] = 2, - ACTIONS(973), - 1, - aux_sym_names_token1, - ACTIONS(975), - 1, - anon_sym_GT, - [4790] = 2, - ACTIONS(977), - 1, - aux_sym_names_token1, - ACTIONS(979), - 1, - anon_sym_QMARK_GT, - [4797] = 1, - ACTIONS(981), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [4802] = 2, - ACTIONS(13), - 1, - anon_sym_LT_BANGDOCTYPE, - STATE(48), - 1, - sym_doctype_decl, - [4809] = 2, - ACTIONS(787), - 1, - anon_sym_QMARK_GT, - ACTIONS(983), - 1, - aux_sym_names_token1, - [4816] = 2, - ACTIONS(985), - 1, - aux_sym_names_token1, - ACTIONS(987), - 1, - anon_sym_GT, - [4823] = 2, - ACTIONS(735), - 1, - anon_sym_RPAREN_STAR, - ACTIONS(838), - 1, - anon_sym_PIPE, - [4830] = 2, - ACTIONS(989), - 1, - aux_sym_names_token1, - ACTIONS(991), - 1, - anon_sym_EQ, - [4837] = 2, - ACTIONS(993), - 1, - aux_sym_names_token1, - ACTIONS(995), - 1, - anon_sym_GT, - [4844] = 1, - ACTIONS(814), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4849] = 2, - ACTIONS(850), - 1, - anon_sym_DQUOTE, - ACTIONS(852), - 1, - anon_sym_SQUOTE, - [4856] = 2, - ACTIONS(921), - 1, - anon_sym_1_DOT, - STATE(420), - 1, - sym__version_num, - [4863] = 2, - ACTIONS(997), - 1, - aux_sym_names_token1, - ACTIONS(999), - 1, - anon_sym_GT, - [4870] = 1, - ACTIONS(1001), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4875] = 2, - ACTIONS(629), - 1, - anon_sym_RPAREN, - ACTIONS(834), - 1, - anon_sym_PIPE, - [4882] = 2, - ACTIONS(1003), - 1, - aux_sym_names_token1, - ACTIONS(1005), - 1, - anon_sym_GT, - [4889] = 2, - ACTIONS(921), - 1, - anon_sym_1_DOT, - STATE(419), - 1, - sym__version_num, - [4896] = 2, - ACTIONS(743), - 1, - anon_sym_RPAREN, - ACTIONS(836), - 1, - anon_sym_COMMA, - [4903] = 1, - ACTIONS(1007), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4908] = 1, - ACTIONS(1009), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [4913] = 2, - ACTIONS(1011), - 1, - aux_sym_names_token1, - ACTIONS(1013), - 1, - anon_sym_EQ, - [4920] = 2, - ACTIONS(789), - 1, - anon_sym_standalone, - ACTIONS(1015), - 1, - anon_sym_QMARK_GT, - [4927] = 2, - ACTIONS(1015), - 1, - anon_sym_QMARK_GT, - ACTIONS(1017), - 1, - aux_sym_names_token1, - [4934] = 2, - ACTIONS(1019), - 1, - aux_sym__enc_name_token1, - STATE(449), - 1, - sym__enc_name, - [4941] = 2, - ACTIONS(875), - 1, - anon_sym_GT, - ACTIONS(1021), - 1, - aux_sym_names_token1, - [4948] = 2, - ACTIONS(1019), - 1, - aux_sym__enc_name_token1, - STATE(447), - 1, - sym__enc_name, - [4955] = 1, - ACTIONS(1023), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [4960] = 1, - ACTIONS(1025), - 2, - aux_sym_names_token1, - anon_sym_GT, - [4965] = 2, - ACTIONS(838), - 1, - anon_sym_PIPE, - ACTIONS(1027), - 1, - anon_sym_RPAREN_STAR, - [4972] = 2, - ACTIONS(1029), - 1, - anon_sym_DQUOTE, - ACTIONS(1031), - 1, - anon_sym_SQUOTE, - [4979] = 2, - ACTIONS(834), - 1, - anon_sym_PIPE, - ACTIONS(1033), - 1, - anon_sym_RPAREN, - [4986] = 2, - ACTIONS(921), - 1, - anon_sym_1_DOT, - STATE(409), - 1, - sym__version_num, - [4993] = 2, - ACTIONS(836), - 1, - anon_sym_COMMA, - ACTIONS(1035), - 1, - anon_sym_RPAREN, - [5000] = 1, - ACTIONS(1037), - 2, - anon_sym_yes, - anon_sym_no, - [5005] = 1, - ACTIONS(1039), - 2, - anon_sym_yes, - anon_sym_no, - [5010] = 2, - ACTIONS(1041), - 1, - aux_sym_names_token1, - ACTIONS(1043), - 1, - anon_sym_GT, - [5017] = 1, - ACTIONS(1045), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [5022] = 2, - ACTIONS(1047), - 1, - aux_sym_names_token1, - ACTIONS(1049), - 1, - anon_sym_GT, - [5029] = 1, - ACTIONS(1051), - 2, - aux_sym_names_token1, - anon_sym_GT, - [5034] = 2, - ACTIONS(921), - 1, - anon_sym_1_DOT, - STATE(392), - 1, - sym__version_num, - [5041] = 2, - ACTIONS(921), - 1, - anon_sym_1_DOT, - STATE(395), - 1, - sym__version_num, - [5048] = 1, - ACTIONS(1053), - 2, - anon_sym_DQUOTE, - anon_sym_SQUOTE, - [5053] = 2, - ACTIONS(1043), - 1, - anon_sym_GT, - ACTIONS(1055), - 1, - anon_sym_LBRACK, - [5060] = 2, - ACTIONS(681), - 1, - anon_sym_RPAREN, - ACTIONS(1057), - 1, - anon_sym_PIPE, - [5067] = 1, - ACTIONS(1059), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [5072] = 2, - ACTIONS(856), - 1, - anon_sym_DQUOTE, - ACTIONS(858), - 1, - anon_sym_SQUOTE, - [5079] = 1, - ACTIONS(1061), - 2, - anon_sym_yes, - anon_sym_no, - [5084] = 1, - ACTIONS(1063), - 2, - anon_sym_yes, - anon_sym_no, - [5089] = 1, - ACTIONS(1065), - 2, - aux_sym_names_token1, - anon_sym_GT, - [5094] = 2, - ACTIONS(1019), - 1, - aux_sym__enc_name_token1, - STATE(436), - 1, - sym__enc_name, - [5101] = 1, - ACTIONS(1067), - 2, - aux_sym_names_token1, - anon_sym_GT, - [5106] = 2, - ACTIONS(1019), - 1, - aux_sym__enc_name_token1, - STATE(433), - 1, - sym__enc_name, - [5113] = 1, - ACTIONS(1069), - 2, - aux_sym_names_token1, - anon_sym_GT, - [5118] = 1, - ACTIONS(1071), - 2, - aux_sym_names_token1, - anon_sym_GT, - [5123] = 2, - ACTIONS(1073), - 1, - anon_sym_DQUOTE, - ACTIONS(1075), - 1, - anon_sym_SQUOTE, - [5130] = 2, - ACTIONS(820), - 1, - anon_sym_DQUOTE, - ACTIONS(822), - 1, - anon_sym_SQUOTE, - [5137] = 2, - ACTIONS(1019), - 1, - aux_sym__enc_name_token1, - STATE(401), - 1, - sym__enc_name, - [5144] = 1, - ACTIONS(1077), - 2, - anon_sym_yes, - anon_sym_no, - [5149] = 1, - ACTIONS(1079), - 2, - anon_sym_yes, - anon_sym_no, - [5154] = 2, - ACTIONS(675), - 1, - anon_sym_RPAREN, - ACTIONS(1057), - 1, - anon_sym_PIPE, - [5161] = 2, - ACTIONS(1019), - 1, - aux_sym__enc_name_token1, - STATE(402), - 1, - sym__enc_name, - [5168] = 2, - ACTIONS(1081), - 1, - anon_sym_DQUOTE, - ACTIONS(1083), - 1, - anon_sym_SQUOTE, - [5175] = 1, - ACTIONS(1085), - 2, - aux_sym_names_token1, - anon_sym_QMARK_GT, - [5180] = 1, - ACTIONS(1087), - 2, - aux_sym_names_token1, - anon_sym_GT, - [5185] = 2, - ACTIONS(1089), - 1, - aux_sym_names_token1, - ACTIONS(1091), - 1, - anon_sym_GT, - [5192] = 2, - ACTIONS(1057), - 1, - anon_sym_PIPE, - ACTIONS(1093), - 1, - anon_sym_RPAREN, - [5199] = 1, - ACTIONS(1095), - 2, - aux_sym_names_token1, - anon_sym_GT, - [5204] = 1, - ACTIONS(1097), - 1, - aux_sym_names_token1, - [5208] = 1, - ACTIONS(1099), - 1, - aux_sym_names_token1, - [5212] = 1, - ACTIONS(1101), - 1, - aux_sym_names_token1, - [5216] = 1, - ACTIONS(1103), - 1, - aux_sym_names_token1, - [5220] = 1, - ACTIONS(1105), - 1, - aux_sym_names_token1, - [5224] = 1, - ACTIONS(1107), - 1, - aux_sym_names_token1, - [5228] = 1, - ACTIONS(1109), - 1, - aux_sym_system_literal_token1, - [5232] = 1, - ACTIONS(1057), - 1, - anon_sym_PIPE, - [5236] = 1, - ACTIONS(1111), - 1, - aux_sym_system_literal_token1, - [5240] = 1, - ACTIONS(1113), - 1, - anon_sym_PIPE, - [5244] = 1, - ACTIONS(1115), - 1, - anon_sym_DQUOTE, - [5248] = 1, - ACTIONS(1117), - 1, - aux_sym_names_token1, - [5252] = 1, - ACTIONS(1091), - 1, - anon_sym_GT, - [5256] = 1, - ACTIONS(1115), - 1, - anon_sym_SQUOTE, - [5260] = 1, - ACTIONS(1119), - 1, - aux_sym_names_token1, - [5264] = 1, - ACTIONS(1121), - 1, - aux_sym_names_token1, - [5268] = 1, - ACTIONS(1123), - 1, - aux_sym_names_token1, - [5272] = 1, - ACTIONS(1125), - 1, - anon_sym_DQUOTE, - [5276] = 1, - ACTIONS(1125), - 1, - anon_sym_SQUOTE, - [5280] = 1, - ACTIONS(1127), - 1, - anon_sym_DQUOTE, - [5284] = 1, - ACTIONS(1127), - 1, - anon_sym_SQUOTE, - [5288] = 1, - ACTIONS(1129), - 1, - aux_sym_names_token1, - [5292] = 1, - ACTIONS(1131), - 1, - aux_sym_names_token1, - [5296] = 1, - ACTIONS(1133), - 1, - aux_sym_names_token1, - [5300] = 1, - ACTIONS(1049), - 1, - anon_sym_GT, - [5304] = 1, - ACTIONS(836), - 1, - anon_sym_COMMA, - [5308] = 1, - ACTIONS(1135), - 1, - anon_sym_SQUOTE, - [5312] = 1, - ACTIONS(1135), - 1, - anon_sym_DQUOTE, - [5316] = 1, - ACTIONS(834), - 1, - anon_sym_PIPE, - [5320] = 1, - ACTIONS(1137), - 1, - anon_sym_SQUOTE, - [5324] = 1, - ACTIONS(1139), - 1, - anon_sym_SEMI, - [5328] = 1, - ACTIONS(1043), - 1, - anon_sym_GT, - [5332] = 1, - ACTIONS(1141), - 1, - aux_sym_names_token1, - [5336] = 1, - ACTIONS(838), - 1, - anon_sym_PIPE, - [5340] = 1, - ACTIONS(1143), - 1, - anon_sym_QMARK_GT, - [5344] = 1, - ACTIONS(1145), - 1, - anon_sym_EQ, - [5348] = 1, - ACTIONS(1147), - 1, - anon_sym_EQ, - [5352] = 1, - ACTIONS(1149), - 1, - anon_sym_SQUOTE, - [5356] = 1, - ACTIONS(1149), - 1, - anon_sym_DQUOTE, - [5360] = 1, - ACTIONS(1151), - 1, - aux_sym__version_num_token1, - [5364] = 1, - ACTIONS(1153), - 1, - anon_sym_DQUOTE, - [5368] = 1, - ACTIONS(1153), - 1, - anon_sym_SQUOTE, - [5372] = 1, - ACTIONS(1155), - 1, - anon_sym_EQ, - [5376] = 1, - ACTIONS(1157), - 1, - aux_sym_names_token1, - [5380] = 1, - ACTIONS(1159), - 1, - aux_sym_names_token1, - [5384] = 1, - ACTIONS(1161), - 1, - aux_sym_names_token1, - [5388] = 1, - ACTIONS(1163), - 1, - aux_sym_names_token1, - [5392] = 1, - ACTIONS(1165), - 1, - anon_sym_GT, - [5396] = 1, - ACTIONS(1167), - 1, - aux_sym_names_token1, - [5400] = 1, - ACTIONS(1169), - 1, - aux_sym_names_token1, - [5404] = 1, - ACTIONS(1171), - 1, - anon_sym_LPAREN, - [5408] = 1, - ACTIONS(1173), - 1, - anon_sym_DQUOTE, - [5412] = 1, - ACTIONS(1015), - 1, - anon_sym_QMARK_GT, - [5416] = 1, - ACTIONS(1175), - 1, - anon_sym_GT, - [5420] = 1, - ACTIONS(1173), - 1, - anon_sym_SQUOTE, - [5424] = 1, - ACTIONS(1005), - 1, - anon_sym_GT, - [5428] = 1, - ACTIONS(1177), - 1, - aux_sym_names_token1, - [5432] = 1, - ACTIONS(1179), - 1, - aux_sym_names_token1, - [5436] = 1, - ACTIONS(1181), - 1, - anon_sym_GT, - [5440] = 1, - ACTIONS(1183), - 1, - aux_sym_names_token1, - [5444] = 1, - ACTIONS(1185), - 1, - anon_sym_DQUOTE, - [5448] = 1, - ACTIONS(1187), - 1, - anon_sym_EQ, - [5452] = 1, - ACTIONS(1189), - 1, - anon_sym_QMARK_GT, - [5456] = 1, - ACTIONS(1185), - 1, - anon_sym_SQUOTE, - [5460] = 1, - ACTIONS(1191), - 1, - anon_sym_SEMI, - [5464] = 1, - ACTIONS(1193), - 1, - anon_sym_DQUOTE, - [5468] = 1, - ACTIONS(1195), - 1, - anon_sym_SEMI, - [5472] = 1, - ACTIONS(1193), - 1, - anon_sym_SQUOTE, - [5476] = 1, - ACTIONS(1137), - 1, - anon_sym_DQUOTE, - [5480] = 1, - ACTIONS(1197), - 1, - anon_sym_RBRACK_RBRACK_GT, - [5484] = 1, - ACTIONS(1199), - 1, - aux_sym_names_token1, - [5488] = 1, - ACTIONS(1201), - 1, - anon_sym_SEMI, - [5492] = 1, - ACTIONS(1203), - 1, - anon_sym_SEMI, - [5496] = 1, - ACTIONS(1205), - 1, - anon_sym_QMARK_GT, - [5500] = 1, - ACTIONS(1207), - 1, - anon_sym_GT, - [5504] = 1, - ACTIONS(1209), - 1, - anon_sym_GT, - [5508] = 1, - ACTIONS(1211), - 1, - anon_sym_SEMI, - [5512] = 1, - ACTIONS(1213), - 1, - aux_sym_processing_instructions_token1, - [5516] = 1, - ACTIONS(1215), - 1, - aux_sym_char_ref_token1, - [5520] = 1, - ACTIONS(1217), - 1, - aux_sym_names_token1, - [5524] = 1, - ACTIONS(1219), - 1, - anon_sym_SEMI, - [5528] = 1, - ACTIONS(1221), - 1, - anon_sym_SEMI, - [5532] = 1, - ACTIONS(1223), - 1, - anon_sym_QMARK_GT, - [5536] = 1, - ACTIONS(1225), - 1, - anon_sym_SEMI, - [5540] = 1, - ACTIONS(1227), - 1, - anon_sym_SEMI, - [5544] = 1, - ACTIONS(1215), - 1, - aux_sym__version_num_token1, - [5548] = 1, - ACTIONS(1229), - 1, - aux_sym_names_token1, - [5552] = 1, - ACTIONS(1231), - 1, - aux_sym_names_token1, - [5556] = 1, - ACTIONS(1233), - 1, - aux_sym__version_num_token1, - [5560] = 1, - ACTIONS(1233), - 1, - aux_sym_char_ref_token1, - [5564] = 1, - ACTIONS(1235), - 1, - anon_sym_GT, - [5568] = 1, - ACTIONS(1237), - 1, - aux_sym_processing_instructions_token1, - [5572] = 1, - ACTIONS(1239), - 1, - anon_sym_GT, - [5576] = 1, - ACTIONS(1241), - 1, - aux_sym_comment_token1, - [5580] = 1, - ACTIONS(1243), - 1, - aux_sym__version_num_token1, - [5584] = 1, - ACTIONS(1243), - 1, - aux_sym_char_ref_token1, - [5588] = 1, - ACTIONS(1245), - 1, - ts_builtin_sym_end, - [5592] = 1, - ACTIONS(1247), - 1, - aux_sym_processing_instructions_token1, - [5596] = 1, - ACTIONS(1249), - 1, - aux_sym__version_num_token1, - [5600] = 1, - ACTIONS(1249), - 1, - aux_sym_char_ref_token1, - [5604] = 1, - ACTIONS(1251), - 1, - aux_sym_names_token1, + [0] = 15, + ACTIONS(13), 1, + anon_sym_LT_BANG_LBRACK, + ACTIONS(15), 1, + anon_sym_AMP, + ACTIONS(17), 1, + anon_sym_AMP_POUND, + ACTIONS(19), 1, + anon_sym_AMP_POUNDx, + ACTIONS(21), 1, + anon_sym_LT_QMARK, + ACTIONS(23), 1, + anon_sym_LT, + ACTIONS(25), 1, + anon_sym_LT_SLASH, + STATE(2), 1, + sym_STag, + STATE(63), 1, + sym_ETag, + STATE(65), 1, + sym_EmptyElemTag, + STATE(296), 1, + sym_content, + STATE(316), 1, + sym_CDStart, + ACTIONS(27), 2, + sym_Comment, + sym_CharData, + STATE(42), 2, + sym_EntityRef, + sym_CharRef, + STATE(5), 5, + sym__Reference, + sym_PI, + sym_element, + sym_CDSect, + aux_sym_content_repeat1, + [52] = 15, + ACTIONS(13), 1, + anon_sym_LT_BANG_LBRACK, + ACTIONS(15), 1, + anon_sym_AMP, + ACTIONS(17), 1, + anon_sym_AMP_POUND, + ACTIONS(19), 1, + anon_sym_AMP_POUNDx, + ACTIONS(21), 1, + anon_sym_LT_QMARK, + ACTIONS(23), 1, + anon_sym_LT, + ACTIONS(29), 1, + anon_sym_LT_SLASH, + STATE(2), 1, + sym_STag, + STATE(65), 1, + sym_EmptyElemTag, + STATE(173), 1, + sym_ETag, + STATE(314), 1, + sym_content, + STATE(316), 1, + sym_CDStart, + ACTIONS(27), 2, + sym_Comment, + sym_CharData, + STATE(42), 2, + sym_EntityRef, + sym_CharRef, + STATE(5), 5, + sym__Reference, + sym_PI, + sym_element, + sym_CDSect, + aux_sym_content_repeat1, + [104] = 13, + ACTIONS(31), 1, + anon_sym_LT_BANG_LBRACK, + ACTIONS(34), 1, + anon_sym_AMP, + ACTIONS(37), 1, + anon_sym_AMP_POUND, + ACTIONS(40), 1, + anon_sym_AMP_POUNDx, + ACTIONS(43), 1, + anon_sym_LT_QMARK, + ACTIONS(46), 1, + anon_sym_LT, + ACTIONS(49), 1, + anon_sym_LT_SLASH, + STATE(2), 1, + sym_STag, + STATE(65), 1, + sym_EmptyElemTag, + STATE(316), 1, + sym_CDStart, + ACTIONS(51), 2, + sym_Comment, + sym_CharData, + STATE(42), 2, + sym_EntityRef, + sym_CharRef, + STATE(4), 5, + sym__Reference, + sym_PI, + sym_element, + sym_CDSect, + aux_sym_content_repeat1, + [150] = 13, + ACTIONS(13), 1, + anon_sym_LT_BANG_LBRACK, + ACTIONS(15), 1, + anon_sym_AMP, + ACTIONS(17), 1, + anon_sym_AMP_POUND, + ACTIONS(19), 1, + anon_sym_AMP_POUNDx, + ACTIONS(21), 1, + anon_sym_LT_QMARK, + ACTIONS(23), 1, + anon_sym_LT, + ACTIONS(54), 1, + anon_sym_LT_SLASH, + STATE(2), 1, + sym_STag, + STATE(65), 1, + sym_EmptyElemTag, + STATE(316), 1, + sym_CDStart, + ACTIONS(56), 2, + sym_Comment, + sym_CharData, + STATE(42), 2, + sym_EntityRef, + sym_CharRef, + STATE(4), 5, + sym__Reference, + sym_PI, + sym_element, + sym_CDSect, + aux_sym_content_repeat1, + [196] = 11, + ACTIONS(3), 1, + anon_sym_LT_BANG, + ACTIONS(7), 1, + anon_sym_LT_QMARK, + ACTIONS(9), 1, + anon_sym_LT, + STATE(3), 1, + sym_STag, + STATE(21), 1, + sym_XMLDecl, + STATE(41), 1, + sym_doctypedecl, + STATE(64), 1, + sym_element, + STATE(172), 1, + sym_EmptyElemTag, + STATE(211), 1, + sym_prolog, + ACTIONS(11), 2, + sym_Comment, + sym__S, + STATE(33), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [235] = 9, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(60), 1, + sym__S, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(64), 1, + anon_sym_RBRACK, + ACTIONS(66), 1, + sym_Comment, + STATE(13), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [268] = 9, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(60), 1, + sym__S, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(68), 1, + anon_sym_RBRACK, + STATE(13), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [301] = 9, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(70), 1, + sym__S, + ACTIONS(72), 1, + anon_sym_RBRACK, + STATE(8), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [334] = 9, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(60), 1, + sym__S, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(72), 1, + anon_sym_RBRACK, + STATE(13), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [367] = 9, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(74), 1, + sym__S, + ACTIONS(76), 1, + anon_sym_RBRACK, + STATE(10), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [400] = 9, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(60), 1, + sym__S, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(76), 1, + anon_sym_RBRACK, + STATE(13), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [433] = 9, + ACTIONS(78), 1, + anon_sym_LT_BANG, + ACTIONS(81), 1, + sym__S, + ACTIONS(84), 1, + anon_sym_LT_QMARK, + ACTIONS(87), 1, + anon_sym_RBRACK, + ACTIONS(89), 1, + sym_Comment, + STATE(13), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [466] = 9, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(92), 1, + sym__S, + ACTIONS(94), 1, + anon_sym_RBRACK, + STATE(7), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [499] = 9, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(64), 1, + anon_sym_RBRACK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(96), 1, + sym__S, + STATE(12), 1, + aux_sym__intSubset, + STATE(170), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [532] = 7, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(68), 1, + anon_sym_RBRACK, + STATE(199), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [559] = 7, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(72), 1, + anon_sym_RBRACK, + STATE(199), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [586] = 7, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + ACTIONS(76), 1, + anon_sym_RBRACK, + STATE(199), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [613] = 7, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(64), 1, + anon_sym_RBRACK, + ACTIONS(66), 1, + sym_Comment, + STATE(199), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [640] = 8, + ACTIONS(98), 1, + anon_sym_PERCENT, + ACTIONS(100), 1, + anon_sym_SQUOTE, + ACTIONS(102), 1, + aux_sym_EntityValue_token2, + ACTIONS(104), 1, + anon_sym_AMP, + ACTIONS(106), 1, + anon_sym_AMP_POUND, + ACTIONS(108), 1, + anon_sym_AMP_POUNDx, + STATE(103), 2, + sym_EntityRef, + sym_CharRef, + STATE(24), 3, + sym_PEReference, + sym__Reference, + aux_sym_EntityValue_repeat2, + [668] = 6, + ACTIONS(3), 1, + anon_sym_LT_BANG, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(114), 1, + anon_sym_LT, + STATE(85), 1, + sym_doctypedecl, + ACTIONS(110), 2, + sym_Comment, + sym__S, + STATE(30), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [692] = 8, + ACTIONS(116), 1, + anon_sym_PERCENT, + ACTIONS(119), 1, + anon_sym_SQUOTE, + ACTIONS(121), 1, + aux_sym_EntityValue_token2, + ACTIONS(124), 1, + anon_sym_AMP, + ACTIONS(127), 1, + anon_sym_AMP_POUND, + ACTIONS(130), 1, + anon_sym_AMP_POUNDx, + STATE(103), 2, + sym_EntityRef, + sym_CharRef, + STATE(22), 3, + sym_PEReference, + sym__Reference, + aux_sym_EntityValue_repeat2, + [720] = 5, + STATE(99), 1, + aux_sym_Mixed_repeat1, + STATE(177), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + ACTIONS(135), 3, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + ACTIONS(133), 5, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [742] = 8, + ACTIONS(98), 1, + anon_sym_PERCENT, + ACTIONS(104), 1, + anon_sym_AMP, + ACTIONS(106), 1, + anon_sym_AMP_POUND, + ACTIONS(108), 1, + anon_sym_AMP_POUNDx, + ACTIONS(137), 1, + anon_sym_SQUOTE, + ACTIONS(139), 1, + aux_sym_EntityValue_token2, + STATE(103), 2, + sym_EntityRef, + sym_CharRef, + STATE(22), 3, + sym_PEReference, + sym__Reference, + aux_sym_EntityValue_repeat2, + [770] = 8, + ACTIONS(137), 1, + anon_sym_DQUOTE, + ACTIONS(141), 1, + anon_sym_PERCENT, + ACTIONS(143), 1, + aux_sym_EntityValue_token1, + ACTIONS(145), 1, + anon_sym_AMP, + ACTIONS(147), 1, + anon_sym_AMP_POUND, + ACTIONS(149), 1, + anon_sym_AMP_POUNDx, + STATE(107), 2, + sym_EntityRef, + sym_CharRef, + STATE(31), 3, + sym_PEReference, + sym__Reference, + aux_sym_EntityValue_repeat1, + [798] = 5, + STATE(95), 1, + aux_sym_Mixed_repeat1, + STATE(169), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + ACTIONS(135), 3, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + ACTIONS(133), 5, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [820] = 8, + ACTIONS(151), 1, + anon_sym_LPAREN, + ACTIONS(153), 1, + anon_sym_CDATA, + ACTIONS(155), 1, + sym_TokenizedType, + ACTIONS(157), 1, + anon_sym_NOTATION, + ACTIONS(159), 1, + anon_sym_PERCENT, + STATE(297), 1, + sym__AttType, + STATE(298), 2, + sym_NotationType, + sym_Enumeration, + STATE(295), 3, + sym_StringType, + sym__EnumeratedType, + sym_PEReference, + [848] = 8, + ACTIONS(100), 1, + anon_sym_DQUOTE, + ACTIONS(141), 1, + anon_sym_PERCENT, + ACTIONS(145), 1, + anon_sym_AMP, + ACTIONS(147), 1, + anon_sym_AMP_POUND, + ACTIONS(149), 1, + anon_sym_AMP_POUNDx, + ACTIONS(161), 1, + aux_sym_EntityValue_token1, + STATE(107), 2, + sym_EntityRef, + sym_CharRef, + STATE(25), 3, + sym_PEReference, + sym__Reference, + aux_sym_EntityValue_repeat1, + [876] = 6, + ACTIONS(58), 1, + anon_sym_LT_BANG, + ACTIONS(62), 1, + anon_sym_LT_QMARK, + ACTIONS(66), 1, + sym_Comment, + STATE(199), 1, + sym__markupdecl, + STATE(285), 2, + sym_GEDecl, + sym_PEDecl, + STATE(287), 5, + sym_elementdecl, + sym_AttlistDecl, + sym__EntityDecl, + sym_NotationDecl, + sym_PI, + [900] = 6, + ACTIONS(3), 1, + anon_sym_LT_BANG, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(165), 1, + anon_sym_LT, + STATE(62), 1, + sym_doctypedecl, + ACTIONS(163), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [924] = 8, + ACTIONS(167), 1, + anon_sym_PERCENT, + ACTIONS(170), 1, + anon_sym_DQUOTE, + ACTIONS(172), 1, + aux_sym_EntityValue_token1, + ACTIONS(175), 1, + anon_sym_AMP, + ACTIONS(178), 1, + anon_sym_AMP_POUND, + ACTIONS(181), 1, + anon_sym_AMP_POUNDx, + STATE(107), 2, + sym_EntityRef, + sym_CharRef, + STATE(31), 3, + sym_PEReference, + sym__Reference, + aux_sym_EntityValue_repeat1, + [952] = 5, + ACTIONS(189), 1, + anon_sym_LT_QMARK, + ACTIONS(192), 1, + anon_sym_LT, + ACTIONS(184), 2, + ts_builtin_sym_end, + anon_sym_LT_BANG, + ACTIONS(186), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [974] = 6, + ACTIONS(3), 1, + anon_sym_LT_BANG, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(114), 1, + anon_sym_LT, + STATE(85), 1, + sym_doctypedecl, + ACTIONS(163), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [998] = 1, + ACTIONS(194), 10, + anon_sym_GT, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + sym_Name, + [1011] = 7, + ACTIONS(196), 1, + anon_sym_DQUOTE, + ACTIONS(198), 1, + anon_sym_AMP, + ACTIONS(201), 1, + anon_sym_AMP_POUND, + ACTIONS(204), 1, + anon_sym_AMP_POUNDx, + ACTIONS(207), 1, + aux_sym_AttValue_token1, + STATE(35), 2, + sym__Reference, + aux_sym_AttValue_repeat1, + STATE(136), 2, + sym_EntityRef, + sym_CharRef, + [1035] = 2, + ACTIONS(212), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(210), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1049] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(165), 1, + anon_sym_LT, + ACTIONS(163), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1067] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(214), 1, + ts_builtin_sym_end, + ACTIONS(163), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1085] = 7, + ACTIONS(216), 1, + anon_sym_DQUOTE, + ACTIONS(218), 1, + anon_sym_AMP, + ACTIONS(220), 1, + anon_sym_AMP_POUND, + ACTIONS(222), 1, + anon_sym_AMP_POUNDx, + ACTIONS(224), 1, + aux_sym_AttValue_token1, + STATE(35), 2, + sym__Reference, + aux_sym_AttValue_repeat1, + STATE(136), 2, + sym_EntityRef, + sym_CharRef, + [1109] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(226), 1, + ts_builtin_sym_end, + ACTIONS(228), 2, + sym_Comment, + sym__S, + STATE(38), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1127] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(114), 1, + anon_sym_LT, + ACTIONS(230), 2, + sym_Comment, + sym__S, + STATE(37), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1145] = 2, + ACTIONS(234), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(232), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1159] = 7, + ACTIONS(236), 1, + anon_sym_SQUOTE, + ACTIONS(238), 1, + anon_sym_AMP, + ACTIONS(241), 1, + anon_sym_AMP_POUND, + ACTIONS(244), 1, + anon_sym_AMP_POUNDx, + ACTIONS(247), 1, + aux_sym_AttValue_token2, + STATE(43), 2, + sym__Reference, + aux_sym_AttValue_repeat2, + STATE(146), 2, + sym_EntityRef, + sym_CharRef, + [1183] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(252), 1, + anon_sym_LPAREN, + STATE(138), 1, + sym__choice, + STATE(345), 1, + sym_contentspec, + ACTIONS(250), 2, + anon_sym_EMPTY, + anon_sym_ANY, + STATE(349), 3, + sym_Mixed, + sym_children, + sym_PEReference, + [1205] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(254), 1, + ts_builtin_sym_end, + ACTIONS(256), 2, + sym_Comment, + sym__S, + STATE(71), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1223] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(258), 1, + ts_builtin_sym_end, + ACTIONS(163), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1241] = 2, + ACTIONS(262), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(260), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1255] = 7, + ACTIONS(264), 1, + anon_sym_SQUOTE, + ACTIONS(266), 1, + anon_sym_AMP, + ACTIONS(268), 1, + anon_sym_AMP_POUND, + ACTIONS(270), 1, + anon_sym_AMP_POUNDx, + ACTIONS(272), 1, + aux_sym_AttValue_token2, + STATE(43), 2, + sym__Reference, + aux_sym_AttValue_repeat2, + STATE(146), 2, + sym_EntityRef, + sym_CharRef, + [1279] = 2, + ACTIONS(276), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(274), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1293] = 2, + ACTIONS(280), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(278), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1307] = 2, + ACTIONS(284), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(282), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1321] = 7, + ACTIONS(266), 1, + anon_sym_AMP, + ACTIONS(268), 1, + anon_sym_AMP_POUND, + ACTIONS(270), 1, + anon_sym_AMP_POUNDx, + ACTIONS(286), 1, + anon_sym_SQUOTE, + ACTIONS(288), 1, + aux_sym_AttValue_token2, + STATE(80), 2, + sym__Reference, + aux_sym_AttValue_repeat2, + STATE(146), 2, + sym_EntityRef, + sym_CharRef, + [1345] = 7, + ACTIONS(218), 1, + anon_sym_AMP, + ACTIONS(220), 1, + anon_sym_AMP_POUND, + ACTIONS(222), 1, + anon_sym_AMP_POUNDx, + ACTIONS(286), 1, + anon_sym_DQUOTE, + ACTIONS(290), 1, + aux_sym_AttValue_token1, + STATE(76), 2, + sym__Reference, + aux_sym_AttValue_repeat1, + STATE(136), 2, + sym_EntityRef, + sym_CharRef, + [1369] = 7, + ACTIONS(266), 1, + anon_sym_AMP, + ACTIONS(268), 1, + anon_sym_AMP_POUND, + ACTIONS(270), 1, + anon_sym_AMP_POUNDx, + ACTIONS(292), 1, + anon_sym_SQUOTE, + ACTIONS(294), 1, + aux_sym_AttValue_token2, + STATE(75), 2, + sym__Reference, + aux_sym_AttValue_repeat2, + STATE(146), 2, + sym_EntityRef, + sym_CharRef, + [1393] = 7, + ACTIONS(218), 1, + anon_sym_AMP, + ACTIONS(220), 1, + anon_sym_AMP_POUND, + ACTIONS(222), 1, + anon_sym_AMP_POUNDx, + ACTIONS(292), 1, + anon_sym_DQUOTE, + ACTIONS(296), 1, + aux_sym_AttValue_token1, + STATE(39), 2, + sym__Reference, + aux_sym_AttValue_repeat1, + STATE(136), 2, + sym_EntityRef, + sym_CharRef, + [1417] = 2, + ACTIONS(300), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(298), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1431] = 2, + ACTIONS(304), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(302), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1445] = 2, + ACTIONS(308), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(306), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1459] = 2, + ACTIONS(312), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(310), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1473] = 2, + ACTIONS(316), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(314), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1487] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(318), 1, + anon_sym_LT, + ACTIONS(163), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1505] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(318), 1, + anon_sym_LT, + ACTIONS(320), 2, + sym_Comment, + sym__S, + STATE(73), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1523] = 2, + ACTIONS(324), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(322), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1537] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(326), 1, + ts_builtin_sym_end, + ACTIONS(328), 2, + sym_Comment, + sym__S, + STATE(46), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1555] = 2, + ACTIONS(332), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(330), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1569] = 1, + ACTIONS(334), 9, + anon_sym_GT, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [1581] = 2, + ACTIONS(338), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(336), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1595] = 2, + ACTIONS(342), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(340), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1609] = 2, + ACTIONS(346), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(344), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1623] = 1, + ACTIONS(348), 9, + anon_sym_GT, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [1635] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(350), 1, + ts_builtin_sym_end, + ACTIONS(163), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1653] = 2, + ACTIONS(354), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(352), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1667] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(356), 1, + anon_sym_LT, + ACTIONS(163), 2, + sym_Comment, + sym__S, + STATE(32), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1685] = 1, + ACTIONS(358), 9, + anon_sym_GT, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [1697] = 7, + ACTIONS(216), 1, + anon_sym_SQUOTE, + ACTIONS(266), 1, + anon_sym_AMP, + ACTIONS(268), 1, + anon_sym_AMP_POUND, + ACTIONS(270), 1, + anon_sym_AMP_POUNDx, + ACTIONS(272), 1, + aux_sym_AttValue_token2, + STATE(43), 2, + sym__Reference, + aux_sym_AttValue_repeat2, + STATE(146), 2, + sym_EntityRef, + sym_CharRef, + [1721] = 7, + ACTIONS(218), 1, + anon_sym_AMP, + ACTIONS(220), 1, + anon_sym_AMP_POUND, + ACTIONS(222), 1, + anon_sym_AMP_POUNDx, + ACTIONS(224), 1, + aux_sym_AttValue_token1, + ACTIONS(360), 1, + anon_sym_DQUOTE, + STATE(35), 2, + sym__Reference, + aux_sym_AttValue_repeat1, + STATE(136), 2, + sym_EntityRef, + sym_CharRef, + [1745] = 7, + ACTIONS(218), 1, + anon_sym_AMP, + ACTIONS(220), 1, + anon_sym_AMP_POUND, + ACTIONS(222), 1, + anon_sym_AMP_POUNDx, + ACTIONS(362), 1, + anon_sym_DQUOTE, + ACTIONS(364), 1, + aux_sym_AttValue_token1, + STATE(83), 2, + sym__Reference, + aux_sym_AttValue_repeat1, + STATE(136), 2, + sym_EntityRef, + sym_CharRef, + [1769] = 7, + ACTIONS(266), 1, + anon_sym_AMP, + ACTIONS(268), 1, + anon_sym_AMP_POUND, + ACTIONS(270), 1, + anon_sym_AMP_POUNDx, + ACTIONS(362), 1, + anon_sym_SQUOTE, + ACTIONS(366), 1, + aux_sym_AttValue_token2, + STATE(48), 2, + sym__Reference, + aux_sym_AttValue_repeat2, + STATE(146), 2, + sym_EntityRef, + sym_CharRef, + [1793] = 1, + ACTIONS(368), 9, + anon_sym_GT, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [1805] = 7, + ACTIONS(266), 1, + anon_sym_AMP, + ACTIONS(268), 1, + anon_sym_AMP_POUND, + ACTIONS(270), 1, + anon_sym_AMP_POUNDx, + ACTIONS(272), 1, + aux_sym_AttValue_token2, + ACTIONS(360), 1, + anon_sym_SQUOTE, + STATE(43), 2, + sym__Reference, + aux_sym_AttValue_repeat2, + STATE(146), 2, + sym_EntityRef, + sym_CharRef, + [1829] = 2, + ACTIONS(372), 3, + anon_sym_AMP, + anon_sym_AMP_POUND, + anon_sym_LT, + ACTIONS(370), 6, + sym_Comment, + sym_CharData, + anon_sym_LT_BANG_LBRACK, + anon_sym_AMP_POUNDx, + anon_sym_LT_QMARK, + anon_sym_LT_SLASH, + [1843] = 1, + ACTIONS(374), 9, + anon_sym_GT, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [1855] = 7, + ACTIONS(218), 1, + anon_sym_AMP, + ACTIONS(220), 1, + anon_sym_AMP_POUND, + ACTIONS(222), 1, + anon_sym_AMP_POUNDx, + ACTIONS(224), 1, + aux_sym_AttValue_token1, + ACTIONS(264), 1, + anon_sym_DQUOTE, + STATE(35), 2, + sym__Reference, + aux_sym_AttValue_repeat1, + STATE(136), 2, + sym_EntityRef, + sym_CharRef, + [1879] = 7, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(378), 1, + anon_sym_POUNDFIXED, + ACTIONS(380), 1, + anon_sym_DQUOTE, + ACTIONS(382), 1, + anon_sym_SQUOTE, + STATE(367), 1, + sym_DefaultDecl, + ACTIONS(376), 2, + anon_sym_POUNDREQUIRED, + anon_sym_POUNDIMPLIED, + STATE(365), 2, + sym_PEReference, + sym_AttValue, + [1903] = 4, + ACTIONS(112), 1, + anon_sym_LT_QMARK, + ACTIONS(165), 1, + anon_sym_LT, + ACTIONS(384), 2, + sym_Comment, + sym__S, + STATE(61), 5, + sym_PI, + sym__Misc, + sym_StyleSheetPI, + sym_XmlModelPI, + aux_sym_document_repeat1, + [1921] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(388), 1, + anon_sym_RPAREN, + ACTIONS(390), 1, + sym__S, + STATE(90), 1, + aux_sym__choice_repeat1, + ACTIONS(386), 2, + anon_sym_PIPE, + anon_sym_COMMA, + STATE(144), 2, + sym_PEReference, + aux_sym__choice_repeat2, + [1942] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(392), 1, + anon_sym_RPAREN, + ACTIONS(394), 1, + sym__S, + STATE(88), 1, + aux_sym__choice_repeat1, + ACTIONS(386), 2, + anon_sym_PIPE, + anon_sym_COMMA, + STATE(152), 2, + sym_PEReference, + aux_sym__choice_repeat2, + [1963] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(388), 1, + anon_sym_RPAREN, + ACTIONS(390), 1, + sym__S, + STATE(100), 1, + aux_sym__choice_repeat1, + ACTIONS(386), 2, + anon_sym_PIPE, + anon_sym_COMMA, + STATE(144), 2, + sym_PEReference, + aux_sym__choice_repeat2, + [1984] = 2, + ACTIONS(135), 3, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + ACTIONS(133), 5, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [1997] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(396), 1, + anon_sym_RPAREN, + ACTIONS(398), 1, + sym__S, + STATE(100), 1, + aux_sym__choice_repeat1, + ACTIONS(386), 2, + anon_sym_PIPE, + anon_sym_COMMA, + STATE(133), 2, + sym_PEReference, + aux_sym__choice_repeat2, + [2018] = 8, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(400), 1, + sym_Name, + ACTIONS(402), 1, + anon_sym_LPAREN, + ACTIONS(404), 1, + anon_sym_POUNDPCDATA, + ACTIONS(406), 1, + sym__S, + STATE(26), 1, + sym_PEReference, + STATE(87), 1, + sym__cp, + STATE(89), 1, + sym__choice, + [2043] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(400), 1, + sym_Name, + ACTIONS(402), 1, + anon_sym_LPAREN, + ACTIONS(408), 1, + sym__S, + STATE(127), 1, + sym__cp, + STATE(89), 2, + sym__choice, + sym_PEReference, + [2063] = 7, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(410), 1, + anon_sym_PIPE, + ACTIONS(412), 1, + anon_sym_RPAREN, + ACTIONS(414), 1, + sym__S, + STATE(99), 1, + aux_sym_Mixed_repeat1, + STATE(177), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2085] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(400), 1, + sym_Name, + ACTIONS(402), 1, + anon_sym_LPAREN, + ACTIONS(416), 1, + sym__S, + STATE(142), 1, + sym__cp, + STATE(89), 2, + sym__choice, + sym_PEReference, + [2105] = 7, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(410), 1, + anon_sym_PIPE, + ACTIONS(418), 1, + anon_sym_RPAREN, + ACTIONS(420), 1, + sym__S, + STATE(156), 1, + aux_sym_Mixed_repeat1, + STATE(180), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2127] = 7, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(400), 1, + sym_Name, + ACTIONS(402), 1, + anon_sym_LPAREN, + ACTIONS(422), 1, + anon_sym_POUNDPCDATA, + STATE(23), 1, + sym_PEReference, + STATE(86), 1, + sym__cp, + STATE(89), 1, + sym__choice, + [2149] = 7, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(410), 1, + anon_sym_PIPE, + ACTIONS(424), 1, + anon_sym_RPAREN, + ACTIONS(426), 1, + sym__S, + STATE(95), 1, + aux_sym_Mixed_repeat1, + STATE(169), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2171] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(400), 1, + sym_Name, + ACTIONS(402), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + sym__S, + STATE(87), 1, + sym__cp, + STATE(89), 2, + sym__choice, + sym_PEReference, + [2191] = 7, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(410), 1, + anon_sym_PIPE, + ACTIONS(430), 1, + anon_sym_RPAREN, + ACTIONS(432), 1, + sym__S, + STATE(156), 1, + aux_sym_Mixed_repeat1, + STATE(203), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2213] = 4, + ACTIONS(439), 1, + sym__S, + STATE(100), 1, + aux_sym__choice_repeat1, + ACTIONS(434), 2, + anon_sym_PIPE, + anon_sym_COMMA, + ACTIONS(437), 2, + anon_sym_RPAREN, + anon_sym_PERCENT, + [2228] = 5, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(400), 1, + sym_Name, + ACTIONS(402), 1, + anon_sym_LPAREN, + STATE(130), 1, + sym__cp, + STATE(89), 2, + sym__choice, + sym_PEReference, + [2245] = 2, + ACTIONS(354), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(352), 4, + anon_sym_PERCENT, + anon_sym_SQUOTE, + aux_sym_EntityValue_token2, + anon_sym_AMP_POUNDx, + [2256] = 2, + ACTIONS(234), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(232), 4, + anon_sym_PERCENT, + anon_sym_SQUOTE, + aux_sym_EntityValue_token2, + anon_sym_AMP_POUNDx, + [2267] = 2, + ACTIONS(442), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(194), 4, + anon_sym_PERCENT, + anon_sym_SQUOTE, + aux_sym_EntityValue_token2, + anon_sym_AMP_POUNDx, + [2278] = 2, + ACTIONS(342), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(340), 4, + anon_sym_PERCENT, + anon_sym_DQUOTE, + aux_sym_EntityValue_token1, + anon_sym_AMP_POUNDx, + [2289] = 2, + ACTIONS(354), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(352), 4, + anon_sym_PERCENT, + anon_sym_DQUOTE, + aux_sym_EntityValue_token1, + anon_sym_AMP_POUNDx, + [2300] = 2, + ACTIONS(234), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(232), 4, + anon_sym_PERCENT, + anon_sym_DQUOTE, + aux_sym_EntityValue_token1, + anon_sym_AMP_POUNDx, + [2311] = 2, + ACTIONS(280), 1, + anon_sym_LT, + ACTIONS(278), 5, + sym_Comment, + ts_builtin_sym_end, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2322] = 2, + ACTIONS(442), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(194), 4, + anon_sym_PERCENT, + anon_sym_DQUOTE, + aux_sym_EntityValue_token1, + anon_sym_AMP_POUNDx, + [2333] = 2, + ACTIONS(342), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(340), 4, + anon_sym_PERCENT, + anon_sym_SQUOTE, + aux_sym_EntityValue_token2, + anon_sym_AMP_POUNDx, + [2344] = 2, + ACTIONS(446), 1, + anon_sym_LT, + ACTIONS(444), 5, + sym_Comment, + ts_builtin_sym_end, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2355] = 2, + ACTIONS(316), 1, + anon_sym_LT, + ACTIONS(314), 5, + sym_Comment, + ts_builtin_sym_end, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2366] = 2, + ACTIONS(450), 1, + anon_sym_LT, + ACTIONS(448), 5, + sym_Comment, + ts_builtin_sym_end, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2377] = 5, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(400), 1, + sym_Name, + ACTIONS(402), 1, + anon_sym_LPAREN, + STATE(142), 1, + sym__cp, + STATE(89), 2, + sym__choice, + sym_PEReference, + [2394] = 5, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(452), 1, + anon_sym_SYSTEM, + ACTIONS(454), 1, + anon_sym_PUBLIC, + STATE(412), 1, + sym_PEReference, + STATE(332), 2, + sym_ExternalID, + sym_PublicID, + [2411] = 6, + ACTIONS(452), 1, + anon_sym_SYSTEM, + ACTIONS(456), 1, + anon_sym_DQUOTE, + ACTIONS(458), 1, + anon_sym_SQUOTE, + ACTIONS(460), 1, + anon_sym_PUBLIC, + STATE(248), 1, + sym_ExternalID, + STATE(327), 1, + sym_EntityValue, + [2430] = 2, + ACTIONS(464), 1, + anon_sym_LT, + ACTIONS(462), 5, + sym_Comment, + ts_builtin_sym_end, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2441] = 2, + ACTIONS(468), 1, + anon_sym_LT, + ACTIONS(466), 5, + sym_Comment, + ts_builtin_sym_end, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2452] = 2, + ACTIONS(472), 1, + anon_sym_LT, + ACTIONS(470), 5, + sym_Comment, + ts_builtin_sym_end, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2463] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(474), 1, + sym_Name, + ACTIONS(476), 1, + anon_sym_PIPE, + ACTIONS(478), 1, + sym__S, + STATE(135), 1, + aux_sym_NotationType_repeat1, + STATE(331), 1, + sym_PEReference, + [2482] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(476), 1, + anon_sym_PIPE, + ACTIONS(478), 1, + sym__S, + ACTIONS(480), 1, + sym_Name, + STATE(135), 1, + aux_sym_NotationType_repeat1, + STATE(336), 1, + sym_PEReference, + [2501] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(476), 1, + anon_sym_PIPE, + ACTIONS(478), 1, + sym__S, + ACTIONS(482), 1, + sym_Name, + STATE(121), 1, + aux_sym_NotationType_repeat1, + STATE(347), 1, + sym_PEReference, + [2520] = 5, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(400), 1, + sym_Name, + ACTIONS(402), 1, + anon_sym_LPAREN, + STATE(86), 1, + sym__cp, + STATE(89), 2, + sym__choice, + sym_PEReference, + [2537] = 2, + ACTIONS(486), 1, + anon_sym_LT, + ACTIONS(484), 5, + sym_Comment, + ts_builtin_sym_end, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2548] = 6, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(476), 1, + anon_sym_PIPE, + ACTIONS(478), 1, + sym__S, + ACTIONS(480), 1, + sym_Name, + STATE(120), 1, + aux_sym_NotationType_repeat1, + STATE(336), 1, + sym_PEReference, + [2567] = 5, + ACTIONS(452), 1, + anon_sym_SYSTEM, + ACTIONS(456), 1, + anon_sym_DQUOTE, + ACTIONS(458), 1, + anon_sym_SQUOTE, + ACTIONS(460), 1, + anon_sym_PUBLIC, + STATE(302), 2, + sym_EntityValue, + sym_ExternalID, + [2584] = 1, + ACTIONS(437), 5, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [2592] = 1, + ACTIONS(488), 5, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [2600] = 2, + ACTIONS(492), 1, + anon_sym_LT, + ACTIONS(490), 4, + sym_Comment, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2610] = 1, + ACTIONS(494), 5, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [2618] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(396), 1, + anon_sym_RPAREN, + STATE(244), 1, + sym_PEReference, + ACTIONS(496), 2, + anon_sym_PIPE, + anon_sym_COMMA, + [2632] = 5, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(412), 1, + anon_sym_RPAREN, + ACTIONS(498), 1, + anon_sym_PIPE, + STATE(177), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2648] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(500), 1, + anon_sym_RPAREN, + ACTIONS(502), 1, + sym__S, + STATE(143), 2, + sym_PEReference, + aux_sym__choice_repeat2, + [2662] = 2, + ACTIONS(506), 1, + anon_sym_LT, + ACTIONS(504), 4, + sym_Comment, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2672] = 4, + ACTIONS(510), 1, + anon_sym_PIPE, + ACTIONS(513), 1, + sym__S, + STATE(135), 1, + aux_sym_NotationType_repeat1, + ACTIONS(508), 2, + anon_sym_PERCENT, + sym_Name, + [2686] = 2, + ACTIONS(234), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(232), 3, + anon_sym_DQUOTE, + anon_sym_AMP_POUNDx, + aux_sym_AttValue_token1, + [2696] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(500), 1, + anon_sym_RPAREN, + STATE(244), 1, + sym_PEReference, + ACTIONS(496), 2, + anon_sym_PIPE, + anon_sym_COMMA, + [2710] = 2, + ACTIONS(516), 2, + anon_sym_GT, + sym__S, + ACTIONS(518), 3, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + [2720] = 2, + ACTIONS(354), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(352), 3, + anon_sym_DQUOTE, + anon_sym_AMP_POUNDx, + aux_sym_AttValue_token1, + [2730] = 2, + ACTIONS(342), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(340), 3, + anon_sym_DQUOTE, + anon_sym_AMP_POUNDx, + aux_sym_AttValue_token1, + [2740] = 5, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(498), 1, + anon_sym_PIPE, + ACTIONS(520), 1, + anon_sym_RPAREN, + STATE(159), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2756] = 1, + ACTIONS(522), 5, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_PERCENT, + sym__S, + [2764] = 4, + ACTIONS(524), 1, + anon_sym_RPAREN, + ACTIONS(526), 1, + anon_sym_PERCENT, + ACTIONS(529), 1, + sym__S, + STATE(143), 2, + sym_PEReference, + aux_sym__choice_repeat2, + [2778] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(396), 1, + anon_sym_RPAREN, + ACTIONS(532), 1, + sym__S, + STATE(143), 2, + sym_PEReference, + aux_sym__choice_repeat2, + [2792] = 1, + ACTIONS(194), 5, + sym_Comment, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + anon_sym_RBRACK, + [2800] = 2, + ACTIONS(234), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(232), 3, + anon_sym_SQUOTE, + anon_sym_AMP_POUNDx, + aux_sym_AttValue_token2, + [2810] = 2, + ACTIONS(354), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(352), 3, + anon_sym_SQUOTE, + anon_sym_AMP_POUNDx, + aux_sym_AttValue_token2, + [2820] = 2, + ACTIONS(342), 2, + anon_sym_AMP, + anon_sym_AMP_POUND, + ACTIONS(340), 3, + anon_sym_SQUOTE, + anon_sym_AMP_POUNDx, + aux_sym_AttValue_token2, + [2830] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(388), 1, + anon_sym_RPAREN, + STATE(244), 1, + sym_PEReference, + ACTIONS(496), 2, + anon_sym_PIPE, + anon_sym_COMMA, + [2844] = 1, + ACTIONS(534), 5, + sym_Comment, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + anon_sym_RBRACK, + [2852] = 1, + ACTIONS(87), 5, + sym_Comment, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + anon_sym_RBRACK, + [2860] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(388), 1, + anon_sym_RPAREN, + ACTIONS(536), 1, + sym__S, + STATE(143), 2, + sym_PEReference, + aux_sym__choice_repeat2, + [2874] = 5, + ACTIONS(452), 1, + anon_sym_SYSTEM, + ACTIONS(460), 1, + anon_sym_PUBLIC, + ACTIONS(538), 1, + anon_sym_LBRACK, + ACTIONS(540), 1, + anon_sym_GT, + STATE(267), 1, + sym_ExternalID, + [2890] = 5, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(430), 1, + anon_sym_RPAREN, + ACTIONS(498), 1, + anon_sym_PIPE, + STATE(203), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2906] = 2, + ACTIONS(544), 1, + anon_sym_LT, + ACTIONS(542), 4, + sym_Comment, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2916] = 4, + ACTIONS(546), 1, + anon_sym_PIPE, + ACTIONS(551), 1, + sym__S, + STATE(156), 1, + aux_sym_Mixed_repeat1, + ACTIONS(549), 2, + anon_sym_RPAREN, + anon_sym_PERCENT, + [2930] = 2, + ACTIONS(556), 1, + anon_sym_LT, + ACTIONS(554), 4, + sym_Comment, + anon_sym_LT_BANG, + sym__S, + anon_sym_LT_QMARK, + [2940] = 5, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(498), 1, + anon_sym_PIPE, + ACTIONS(558), 1, + anon_sym_RPAREN, + STATE(205), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2956] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(560), 1, + anon_sym_RPAREN, + STATE(181), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [2969] = 4, + ACTIONS(562), 1, + anon_sym_PIPE, + ACTIONS(564), 1, + anon_sym_RPAREN, + ACTIONS(566), 1, + sym__S, + STATE(207), 1, + aux_sym_Enumeration_repeat1, + [2982] = 4, + ACTIONS(568), 1, + anon_sym_GT, + ACTIONS(570), 1, + sym__S, + ACTIONS(572), 1, + anon_sym_SLASH_GT, + STATE(187), 1, + aux_sym_EmptyElemTag_repeat1, + [2995] = 4, + ACTIONS(574), 1, + sym_Name, + ACTIONS(576), 1, + anon_sym_GT, + ACTIONS(578), 1, + anon_sym_SLASH_GT, + STATE(241), 1, + sym_Attribute, + [3008] = 4, + ACTIONS(580), 1, + anon_sym_GT, + ACTIONS(582), 1, + sym__S, + ACTIONS(584), 1, + anon_sym_SLASH_GT, + STATE(193), 1, + aux_sym_EmptyElemTag_repeat1, + [3021] = 4, + ACTIONS(574), 1, + sym_Name, + ACTIONS(580), 1, + anon_sym_GT, + ACTIONS(584), 1, + anon_sym_SLASH_GT, + STATE(241), 1, + sym_Attribute, + [3034] = 4, + ACTIONS(568), 1, + anon_sym_GT, + ACTIONS(586), 1, + sym__S, + ACTIONS(588), 1, + anon_sym_SLASH_GT, + STATE(163), 1, + aux_sym_EmptyElemTag_repeat1, + [3047] = 2, + ACTIONS(592), 1, + anon_sym_LT, + ACTIONS(590), 3, + sym_Comment, + sym__S, + anon_sym_LT_QMARK, + [3056] = 4, + ACTIONS(594), 1, + anon_sym_ELEMENT, + ACTIONS(596), 1, + anon_sym_ATTLIST, + ACTIONS(598), 1, + anon_sym_NOTATION, + ACTIONS(600), 1, + anon_sym_ENTITY, + [3069] = 1, + ACTIONS(260), 4, + sym_Comment, + ts_builtin_sym_end, + sym__S, + anon_sym_LT_QMARK, + [3076] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(412), 1, + anon_sym_RPAREN, + STATE(181), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [3089] = 3, + ACTIONS(602), 1, + anon_sym_PERCENT, + ACTIONS(604), 1, + sym__S, + STATE(151), 2, + sym__DeclSep, + sym_PEReference, + [3100] = 1, + ACTIONS(274), 4, + sym_Comment, + ts_builtin_sym_end, + sym__S, + anon_sym_LT_QMARK, + [3107] = 1, + ACTIONS(330), 4, + sym_Comment, + ts_builtin_sym_end, + sym__S, + anon_sym_LT_QMARK, + [3114] = 1, + ACTIONS(322), 4, + sym_Comment, + ts_builtin_sym_end, + sym__S, + anon_sym_LT_QMARK, + [3121] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(606), 1, + sym_Name, + ACTIONS(608), 1, + sym__S, + STATE(175), 1, + sym_PEReference, + [3134] = 1, + ACTIONS(549), 4, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_PERCENT, + sym__S, + [3141] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(610), 1, + sym_Name, + ACTIONS(612), 1, + sym__S, + STATE(201), 1, + sym_PEReference, + [3154] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(558), 1, + anon_sym_RPAREN, + STATE(181), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [3167] = 2, + ACTIONS(616), 1, + anon_sym_LT, + ACTIONS(614), 3, + sym_Comment, + sym__S, + anon_sym_LT_QMARK, + [3176] = 4, + ACTIONS(618), 1, + sym__S, + ACTIONS(620), 1, + anon_sym_QMARK_GT, + STATE(221), 1, + sym__EncodingDecl, + STATE(366), 1, + sym__SDDecl, + [3189] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(430), 1, + anon_sym_RPAREN, + STATE(181), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [3202] = 4, + ACTIONS(622), 1, + anon_sym_RPAREN, + ACTIONS(624), 1, + anon_sym_PERCENT, + STATE(181), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [3215] = 2, + ACTIONS(629), 1, + anon_sym_LT, + ACTIONS(627), 3, + sym_Comment, + sym__S, + anon_sym_LT_QMARK, + [3224] = 2, + ACTIONS(633), 1, + anon_sym_LT, + ACTIONS(631), 3, + sym_Comment, + sym__S, + anon_sym_LT_QMARK, + [3233] = 4, + ACTIONS(574), 1, + sym_Name, + ACTIONS(580), 1, + anon_sym_GT, + ACTIONS(635), 1, + anon_sym_SLASH_GT, + STATE(241), 1, + sym_Attribute, + [3246] = 1, + ACTIONS(282), 4, + sym_Comment, + ts_builtin_sym_end, + sym__S, + anon_sym_LT_QMARK, + [3253] = 1, + ACTIONS(310), 4, + sym_Comment, + ts_builtin_sym_end, + sym__S, + anon_sym_LT_QMARK, + [3260] = 4, + ACTIONS(580), 1, + anon_sym_GT, + ACTIONS(635), 1, + anon_sym_SLASH_GT, + ACTIONS(637), 1, + sym__S, + STATE(193), 1, + aux_sym_EmptyElemTag_repeat1, + [3273] = 1, + ACTIONS(639), 4, + anon_sym_PIPE, + anon_sym_PERCENT, + sym__S, + sym_Name, + [3280] = 1, + ACTIONS(306), 4, + sym_Comment, + ts_builtin_sym_end, + sym__S, + anon_sym_LT_QMARK, + [3287] = 2, + ACTIONS(641), 1, + sym__S, + ACTIONS(508), 3, + anon_sym_PIPE, + anon_sym_PERCENT, + sym_Name, + [3296] = 4, + ACTIONS(644), 1, + anon_sym_LT, + STATE(3), 1, + sym_STag, + STATE(64), 1, + sym_element, + STATE(172), 1, + sym_EmptyElemTag, + [3309] = 1, + ACTIONS(508), 4, + anon_sym_PIPE, + anon_sym_PERCENT, + sym__S, + sym_Name, + [3316] = 3, + ACTIONS(648), 1, + sym__S, + STATE(193), 1, + aux_sym_EmptyElemTag_repeat1, + ACTIONS(646), 2, + anon_sym_GT, + anon_sym_SLASH_GT, + [3327] = 4, + ACTIONS(574), 1, + sym_Name, + ACTIONS(576), 1, + anon_sym_GT, + ACTIONS(651), 1, + anon_sym_SLASH_GT, + STATE(241), 1, + sym_Attribute, + [3340] = 2, + ACTIONS(655), 1, + sym__S, + ACTIONS(653), 3, + anon_sym_PIPE, + anon_sym_PERCENT, + sym_Name, + [3349] = 3, + ACTIONS(658), 1, + anon_sym_GT, + ACTIONS(660), 1, + sym__S, + STATE(196), 2, + sym_AttDef, + aux_sym_AttlistDecl_repeat1, + [3360] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(663), 1, + sym_Name, + ACTIONS(665), 1, + anon_sym_GT, + STATE(340), 1, + sym_PEReference, + [3373] = 2, + ACTIONS(669), 1, + anon_sym_LT, + ACTIONS(667), 3, + sym_Comment, + sym__S, + anon_sym_LT_QMARK, + [3382] = 3, + ACTIONS(602), 1, + anon_sym_PERCENT, + ACTIONS(671), 1, + sym__S, + STATE(150), 2, + sym__DeclSep, + sym_PEReference, + [3393] = 4, + ACTIONS(562), 1, + anon_sym_PIPE, + ACTIONS(673), 1, + anon_sym_RPAREN, + ACTIONS(675), 1, + sym__S, + STATE(217), 1, + aux_sym_Enumeration_repeat1, + [3406] = 1, + ACTIONS(677), 4, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_PERCENT, + sym__S, + [3413] = 3, + ACTIONS(679), 1, + anon_sym_GT, + ACTIONS(681), 1, + sym__S, + STATE(209), 2, + sym_AttDef, + aux_sym_AttlistDecl_repeat1, + [3424] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(520), 1, + anon_sym_RPAREN, + STATE(181), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [3437] = 4, + ACTIONS(683), 1, + anon_sym_PIPE, + ACTIONS(686), 1, + anon_sym_RPAREN, + ACTIONS(688), 1, + sym__S, + STATE(204), 1, + aux_sym_Enumeration_repeat1, + [3450] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(691), 1, + anon_sym_RPAREN, + STATE(181), 1, + aux_sym_Mixed_repeat2, + STATE(270), 1, + sym_PEReference, + [3463] = 2, + ACTIONS(695), 1, + anon_sym_LT, + ACTIONS(693), 3, + sym_Comment, + sym__S, + anon_sym_LT_QMARK, + [3472] = 4, + ACTIONS(562), 1, + anon_sym_PIPE, + ACTIONS(697), 1, + anon_sym_RPAREN, + ACTIONS(699), 1, + sym__S, + STATE(204), 1, + aux_sym_Enumeration_repeat1, + [3485] = 2, + ACTIONS(703), 1, + anon_sym_LT, + ACTIONS(701), 3, + sym_Comment, + sym__S, + anon_sym_LT_QMARK, + [3494] = 3, + ACTIONS(705), 1, + anon_sym_GT, + ACTIONS(707), 1, + sym__S, + STATE(196), 2, + sym_AttDef, + aux_sym_AttlistDecl_repeat1, + [3505] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(663), 1, + sym_Name, + ACTIONS(705), 1, + anon_sym_GT, + STATE(340), 1, + sym_PEReference, + [3518] = 4, + ACTIONS(644), 1, + anon_sym_LT, + STATE(3), 1, + sym_STag, + STATE(45), 1, + sym_element, + STATE(172), 1, + sym_EmptyElemTag, + [3531] = 1, + ACTIONS(298), 4, + sym_Comment, + ts_builtin_sym_end, + sym__S, + anon_sym_LT_QMARK, + [3538] = 2, + ACTIONS(711), 1, + anon_sym_LT, + ACTIONS(709), 3, + sym_Comment, + sym__S, + anon_sym_LT_QMARK, + [3547] = 1, + ACTIONS(713), 4, + anon_sym_PIPE, + anon_sym_RPAREN, + anon_sym_PERCENT, + sym__S, + [3554] = 4, + ACTIONS(715), 1, + anon_sym_xml, + ACTIONS(717), 1, + anon_sym_xml_DASHstylesheet, + ACTIONS(719), 1, + anon_sym_xml_DASHmodel, + ACTIONS(721), 1, + sym_PITarget, + [3567] = 4, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(723), 1, + sym_Name, + ACTIONS(725), 1, + sym__S, + STATE(122), 1, + sym_PEReference, + [3580] = 4, + ACTIONS(562), 1, + anon_sym_PIPE, + ACTIONS(564), 1, + anon_sym_RPAREN, + ACTIONS(566), 1, + sym__S, + STATE(204), 1, + aux_sym_Enumeration_repeat1, + [3593] = 3, + ACTIONS(727), 1, + anon_sym_DQUOTE, + ACTIONS(729), 1, + anon_sym_SQUOTE, + STATE(229), 1, + sym_SystemLiteral, + [3603] = 2, + ACTIONS(733), 1, + anon_sym_STAR, + ACTIONS(731), 2, + anon_sym_GT, + sym__S, + [3611] = 3, + ACTIONS(735), 1, + sym__S, + ACTIONS(737), 1, + anon_sym_EQ, + STATE(261), 1, + sym__Eq, + [3621] = 3, + ACTIONS(739), 1, + sym__S, + ACTIONS(741), 1, + anon_sym_QMARK_GT, + STATE(305), 1, + sym__SDDecl, + [3631] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(743), 1, + anon_sym_RPAREN, + STATE(244), 1, + sym_PEReference, + [3641] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(500), 1, + anon_sym_RPAREN, + STATE(244), 1, + sym_PEReference, + [3651] = 3, + ACTIONS(745), 1, + sym_Name, + ACTIONS(747), 1, + anon_sym_QMARK_GT, + STATE(355), 1, + sym_PseudoAtt, + [3661] = 3, + ACTIONS(749), 1, + sym__S, + ACTIONS(752), 1, + anon_sym_QMARK_GT, + STATE(225), 1, + aux_sym_StyleSheetPI_repeat1, + [3671] = 3, + ACTIONS(741), 1, + anon_sym_QMARK_GT, + ACTIONS(754), 1, + anon_sym_encoding, + ACTIONS(756), 1, + anon_sym_standalone, + [3681] = 1, + ACTIONS(758), 3, + anon_sym_LBRACK, + anon_sym_GT, + sym__S, + [3687] = 3, + ACTIONS(745), 1, + sym_Name, + ACTIONS(760), 1, + anon_sym_QMARK_GT, + STATE(355), 1, + sym_PseudoAtt, + [3697] = 1, + ACTIONS(762), 3, + anon_sym_LBRACK, + anon_sym_GT, + sym__S, + [3703] = 3, + ACTIONS(735), 1, + sym__S, + ACTIONS(737), 1, + anon_sym_EQ, + STATE(265), 1, + sym__Eq, + [3713] = 1, + ACTIONS(686), 3, + anon_sym_PIPE, + anon_sym_RPAREN, + sym__S, + [3719] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(764), 1, + sym_Name, + STATE(125), 1, + sym_PEReference, + [3729] = 2, + ACTIONS(768), 1, + anon_sym_STAR, + ACTIONS(766), 2, + anon_sym_GT, + sym__S, + [3737] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(770), 1, + sym_Name, + STATE(214), 1, + sym_PEReference, + [3747] = 1, + ACTIONS(772), 3, + anon_sym_GT, + sym__S, + anon_sym_SLASH_GT, + [3753] = 3, + ACTIONS(735), 1, + sym__S, + ACTIONS(737), 1, + anon_sym_EQ, + STATE(322), 1, + sym__Eq, + [3763] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(774), 1, + sym_Name, + STATE(369), 1, + sym_PEReference, + [3773] = 1, + ACTIONS(776), 3, + anon_sym_GT, + sym__S, + anon_sym_SLASH_GT, + [3779] = 3, + ACTIONS(380), 1, + anon_sym_DQUOTE, + ACTIONS(382), 1, + anon_sym_SQUOTE, + STATE(346), 1, + sym_AttValue, + [3789] = 1, + ACTIONS(778), 3, + anon_sym_PIPE, + anon_sym_RPAREN, + sym__S, + [3795] = 1, + ACTIONS(646), 3, + anon_sym_GT, + sym__S, + anon_sym_SLASH_GT, + [3801] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(396), 1, + anon_sym_RPAREN, + STATE(244), 1, + sym_PEReference, + [3811] = 3, + ACTIONS(780), 1, + anon_sym_LBRACK, + ACTIONS(782), 1, + anon_sym_GT, + ACTIONS(784), 1, + sym__S, + [3821] = 1, + ACTIONS(524), 3, + anon_sym_RPAREN, + anon_sym_PERCENT, + sym__S, + [3827] = 1, + ACTIONS(786), 3, + anon_sym_PIPE, + anon_sym_RPAREN, + sym__S, + [3833] = 1, + ACTIONS(788), 3, + anon_sym_LBRACK, + anon_sym_GT, + sym__S, + [3839] = 3, + ACTIONS(790), 1, + sym__S, + ACTIONS(792), 1, + anon_sym_QMARK_GT, + STATE(225), 1, + aux_sym_StyleSheetPI_repeat1, + [3849] = 3, + ACTIONS(794), 1, + anon_sym_GT, + ACTIONS(796), 1, + sym__S, + STATE(284), 1, + sym_NDataDecl, + [3859] = 3, + ACTIONS(745), 1, + sym_Name, + ACTIONS(792), 1, + anon_sym_QMARK_GT, + STATE(355), 1, + sym_PseudoAtt, + [3869] = 2, + ACTIONS(800), 1, + sym__S, + ACTIONS(798), 2, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + [3877] = 3, + ACTIONS(735), 1, + sym__S, + ACTIONS(737), 1, + anon_sym_EQ, + STATE(320), 1, + sym__Eq, + [3887] = 3, + ACTIONS(802), 1, + sym__S, + ACTIONS(804), 1, + anon_sym_QMARK_GT, + STATE(225), 1, + aux_sym_StyleSheetPI_repeat1, + [3897] = 3, + ACTIONS(745), 1, + sym_Name, + ACTIONS(804), 1, + anon_sym_QMARK_GT, + STATE(355), 1, + sym_PseudoAtt, + [3907] = 3, + ACTIONS(735), 1, + sym__S, + ACTIONS(737), 1, + anon_sym_EQ, + STATE(321), 1, + sym__Eq, + [3917] = 3, + ACTIONS(806), 1, + sym_Name, + ACTIONS(808), 1, + anon_sym_PERCENT, + STATE(384), 1, + sym_PEReference, + [3927] = 2, + ACTIONS(812), 1, + anon_sym_STAR, + ACTIONS(810), 2, + anon_sym_GT, + sym__S, + [3935] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(814), 1, + sym_Name, + STATE(437), 1, + sym_PEReference, + [3945] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(816), 1, + sym_Name, + STATE(202), 1, + sym_PEReference, + [3955] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(610), 1, + sym_Name, + STATE(201), 1, + sym_PEReference, + [3965] = 2, + ACTIONS(820), 1, + sym__S, + ACTIONS(818), 2, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + [3973] = 3, + ACTIONS(822), 1, + anon_sym_DQUOTE, + ACTIONS(824), 1, + anon_sym_SQUOTE, + STATE(330), 1, + sym_PseudoAttValue, + [3983] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(663), 1, + sym_Name, + STATE(340), 1, + sym_PEReference, + [3993] = 3, + ACTIONS(826), 1, + anon_sym_DQUOTE, + ACTIONS(828), 1, + anon_sym_SQUOTE, + STATE(299), 1, + sym_PubidLiteral, + [4003] = 3, + ACTIONS(826), 1, + anon_sym_DQUOTE, + ACTIONS(828), 1, + anon_sym_SQUOTE, + STATE(300), 1, + sym_PubidLiteral, + [4013] = 3, + ACTIONS(830), 1, + anon_sym_DQUOTE, + ACTIONS(832), 1, + anon_sym_SQUOTE, + STATE(235), 1, + sym_AttValue, + [4023] = 3, + ACTIONS(159), 1, + anon_sym_PERCENT, + ACTIONS(834), 1, + sym_Name, + STATE(387), 1, + sym_PEReference, + [4033] = 3, + ACTIONS(836), 1, + anon_sym_LBRACK, + ACTIONS(838), 1, + anon_sym_GT, + ACTIONS(840), 1, + sym__S, + [4043] = 2, + ACTIONS(844), 1, + anon_sym_STAR, + ACTIONS(842), 2, + anon_sym_GT, + sym__S, + [4051] = 1, + ACTIONS(846), 3, + anon_sym_GT, + sym__S, + anon_sym_SLASH_GT, + [4057] = 2, + ACTIONS(850), 1, + sym__S, + ACTIONS(848), 2, + anon_sym_RPAREN, + anon_sym_PERCENT, + [4065] = 3, + ACTIONS(826), 1, + anon_sym_DQUOTE, + ACTIONS(828), 1, + anon_sym_SQUOTE, + STATE(423), 1, + sym_PubidLiteral, + [4075] = 3, + ACTIONS(727), 1, + anon_sym_DQUOTE, + ACTIONS(729), 1, + anon_sym_SQUOTE, + STATE(246), 1, + sym_SystemLiteral, + [4085] = 3, + ACTIONS(717), 1, + anon_sym_xml_DASHstylesheet, + ACTIONS(719), 1, + anon_sym_xml_DASHmodel, + ACTIONS(721), 1, + sym_PITarget, + [4095] = 3, + ACTIONS(852), 1, + sym__S, + ACTIONS(854), 1, + anon_sym_QMARK_GT, + STATE(247), 1, + aux_sym_StyleSheetPI_repeat1, + [4105] = 3, + ACTIONS(856), 1, + sym__S, + ACTIONS(858), 1, + anon_sym_QMARK_GT, + STATE(252), 1, + aux_sym_StyleSheetPI_repeat1, + [4115] = 1, + ACTIONS(860), 2, + anon_sym_GT, + sym__S, + [4120] = 1, + ACTIONS(278), 2, + anon_sym_PERCENT, + sym__S, + [4125] = 1, + ACTIONS(862), 2, + anon_sym_GT, + sym__S, + [4130] = 2, + ACTIONS(864), 1, + sym__S, + ACTIONS(866), 1, + anon_sym_QMARK_GT, + [4137] = 2, + ACTIONS(868), 1, + sym__S, + STATE(179), 1, + sym__VersionInfo, + [4144] = 1, + ACTIONS(870), 2, + anon_sym_PERCENT, + sym__S, + [4149] = 1, + ACTIONS(872), 2, + anon_sym_yes, + anon_sym_no, + [4154] = 2, + ACTIONS(874), 1, + anon_sym_GT, + ACTIONS(876), 1, + anon_sym_NDATA, + [4161] = 2, + ACTIONS(874), 1, + anon_sym_GT, + ACTIONS(878), 1, + sym__S, + [4168] = 1, + ACTIONS(880), 2, + anon_sym_PERCENT, + sym__S, + [4173] = 2, + ACTIONS(838), 1, + anon_sym_GT, + ACTIONS(882), 1, + sym__S, + [4180] = 1, + ACTIONS(884), 2, + anon_sym_PERCENT, + sym__S, + [4185] = 2, + ACTIONS(574), 1, + sym_Name, + STATE(241), 1, + sym_Attribute, + [4192] = 2, + ACTIONS(886), 1, + anon_sym_GT, + ACTIONS(888), 1, + sym__S, + [4199] = 2, + ACTIONS(745), 1, + sym_Name, + STATE(355), 1, + sym_PseudoAtt, + [4206] = 1, + ACTIONS(890), 2, + anon_sym_PERCENT, + sym__S, + [4211] = 1, + ACTIONS(892), 2, + anon_sym_PERCENT, + sym__S, + [4216] = 2, + ACTIONS(894), 1, + sym__S, + ACTIONS(896), 1, + sym_Nmtoken, + [4223] = 1, + ACTIONS(898), 2, + anon_sym_yes, + anon_sym_no, + [4228] = 1, + ACTIONS(900), 2, + anon_sym_GT, + sym__S, + [4233] = 2, + ACTIONS(25), 1, + anon_sym_LT_SLASH, + STATE(58), 1, + sym_ETag, + [4240] = 2, + ACTIONS(902), 1, + anon_sym_GT, + ACTIONS(904), 1, + sym__S, + [4247] = 1, + ACTIONS(906), 2, + anon_sym_GT, + sym__S, + [4252] = 2, + ACTIONS(908), 1, + anon_sym_GT, + ACTIONS(910), 1, + sym__S, + [4259] = 1, + ACTIONS(908), 2, + anon_sym_GT, + sym__S, + [4264] = 1, + ACTIONS(912), 2, + anon_sym_PERCENT, + sym__S, + [4269] = 2, + ACTIONS(914), 1, + anon_sym_GT, + ACTIONS(916), 1, + sym__S, + [4276] = 1, + ACTIONS(918), 2, + anon_sym_GT, + sym__S, + [4281] = 1, + ACTIONS(920), 2, + sym__S, + anon_sym_QMARK_GT, + [4286] = 2, + ACTIONS(922), 1, + sym__S, + ACTIONS(924), 1, + anon_sym_QMARK_GT, + [4293] = 1, + ACTIONS(926), 2, + anon_sym_PERCENT, + sym__S, + [4298] = 2, + ACTIONS(928), 1, + sym__S, + ACTIONS(930), 1, + anon_sym_QMARK_GT, + [4305] = 2, + ACTIONS(932), 1, + anon_sym_LBRACK, + ACTIONS(934), 1, + anon_sym_GT, + [4312] = 1, + ACTIONS(936), 2, + anon_sym_PERCENT, + sym__S, + [4317] = 1, + ACTIONS(938), 2, + anon_sym_GT, + sym__S, + [4322] = 1, + ACTIONS(810), 2, + anon_sym_GT, + sym__S, + [4327] = 1, + ACTIONS(940), 2, + anon_sym_GT, + sym__S, + [4332] = 1, + ACTIONS(818), 2, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + [4337] = 2, + ACTIONS(29), 1, + anon_sym_LT_SLASH, + STATE(189), 1, + sym_ETag, + [4344] = 1, + ACTIONS(622), 2, + anon_sym_RPAREN, + anon_sym_PERCENT, + [4349] = 2, + ACTIONS(942), 1, + anon_sym_RBRACK_RBRACK_GT, + ACTIONS(944), 1, + sym_CData, + [4356] = 2, + ACTIONS(756), 1, + anon_sym_standalone, + ACTIONS(924), 1, + anon_sym_QMARK_GT, + [4363] = 1, + ACTIONS(314), 2, + anon_sym_PERCENT, + sym__S, + [4368] = 1, + ACTIONS(776), 2, + anon_sym_GT, + sym__S, + [4373] = 2, + ACTIONS(946), 1, + anon_sym_DQUOTE, + ACTIONS(948), 1, + anon_sym_SQUOTE, + [4380] = 2, + ACTIONS(950), 1, + anon_sym_DQUOTE, + ACTIONS(952), 1, + anon_sym_SQUOTE, + [4387] = 2, + ACTIONS(954), 1, + anon_sym_DQUOTE, + ACTIONS(956), 1, + anon_sym_SQUOTE, + [4394] = 1, + ACTIONS(846), 2, + anon_sym_GT, + sym__S, + [4399] = 2, + ACTIONS(958), 1, + anon_sym_GT, + ACTIONS(960), 1, + sym__S, + [4406] = 2, + ACTIONS(962), 1, + anon_sym_GT, + ACTIONS(964), 1, + sym__S, + [4413] = 1, + ACTIONS(966), 2, + anon_sym_GT, + sym__S, + [4418] = 2, + ACTIONS(794), 1, + anon_sym_GT, + ACTIONS(968), 1, + sym__S, + [4425] = 1, + ACTIONS(970), 2, + sym_CData, + anon_sym_RBRACK_RBRACK_GT, + [4430] = 1, + ACTIONS(972), 2, + anon_sym_GT, + sym__S, + [4435] = 1, + ACTIONS(974), 2, + sym__S, + anon_sym_QMARK_GT, + [4440] = 2, + ACTIONS(976), 1, + anon_sym_RPAREN, + ACTIONS(978), 1, + sym__S, + [4447] = 2, + ACTIONS(980), 1, + anon_sym_GT, + ACTIONS(982), 1, + sym__S, + [4454] = 1, + ACTIONS(984), 2, + anon_sym_GT, + sym__S, + [4459] = 1, + ACTIONS(986), 2, + anon_sym_DQUOTE, + anon_sym_SQUOTE, + [4464] = 1, + ACTIONS(988), 2, + sym__S, + anon_sym_QMARK_GT, + [4469] = 2, + ACTIONS(990), 1, + anon_sym_RPAREN, + ACTIONS(992), 1, + sym__S, + [4476] = 2, + ACTIONS(994), 1, + sym__S, + ACTIONS(996), 1, + anon_sym_QMARK_GT, + [4483] = 1, + ACTIONS(998), 2, + anon_sym_PERCENT, + sym__S, + [4488] = 1, + ACTIONS(1000), 2, + anon_sym_GT, + sym__S, + [4493] = 2, + ACTIONS(658), 1, + anon_sym_GT, + ACTIONS(1002), 1, + sym__S, + [4500] = 1, + ACTIONS(1005), 2, + anon_sym_PERCENT, + sym__S, + [4505] = 1, + ACTIONS(1007), 2, + anon_sym_GT, + sym__S, + [4510] = 1, + ACTIONS(1009), 2, + anon_sym_PERCENT, + sym__S, + [4515] = 1, + ACTIONS(766), 2, + anon_sym_GT, + sym__S, + [4520] = 2, + ACTIONS(1011), 1, + anon_sym_GT, + ACTIONS(1013), 1, + sym__S, + [4527] = 1, + ACTIONS(1015), 2, + anon_sym_GT, + sym__S, + [4532] = 2, + ACTIONS(1017), 1, + anon_sym_RPAREN, + ACTIONS(1019), 1, + sym__S, + [4539] = 1, + ACTIONS(1021), 2, + anon_sym_PERCENT, + sym__S, + [4544] = 1, + ACTIONS(1023), 2, + anon_sym_GT, + sym__S, + [4549] = 2, + ACTIONS(1025), 1, + anon_sym_GT, + ACTIONS(1027), 1, + sym__S, + [4556] = 1, + ACTIONS(1029), 2, + sym__S, + anon_sym_QMARK_GT, + [4561] = 1, + ACTIONS(1031), 2, + anon_sym_GT, + sym__S, + [4566] = 2, + ACTIONS(1033), 1, + anon_sym_PIPE, + ACTIONS(1035), 1, + anon_sym_RPAREN, + [4573] = 1, + ACTIONS(1037), 2, + anon_sym_GT, + sym__S, + [4578] = 1, + ACTIONS(752), 2, + sym__S, + anon_sym_QMARK_GT, + [4583] = 1, + ACTIONS(1039), 2, + anon_sym_GT, + sym__S, + [4588] = 1, + ACTIONS(496), 2, + anon_sym_PIPE, + anon_sym_COMMA, + [4593] = 2, + ACTIONS(159), 1, + anon_sym_PERCENT, + STATE(244), 1, + sym_PEReference, + [4600] = 1, + ACTIONS(1041), 2, + anon_sym_PERCENT, + sym__S, + [4605] = 2, + ACTIONS(1043), 1, + sym__S, + ACTIONS(1045), 1, + sym_Nmtoken, + [4612] = 1, + ACTIONS(1047), 2, + anon_sym_GT, + sym__S, + [4617] = 2, + ACTIONS(564), 1, + anon_sym_RPAREN, + ACTIONS(1033), 1, + anon_sym_PIPE, + [4624] = 1, + ACTIONS(1049), 2, + sym__S, + anon_sym_QMARK_GT, + [4629] = 1, + ACTIONS(1051), 2, + sym__S, + anon_sym_QMARK_GT, + [4634] = 1, + ACTIONS(1053), 2, + anon_sym_GT, + sym__S, + [4639] = 2, + ACTIONS(741), 1, + anon_sym_QMARK_GT, + ACTIONS(1055), 1, + sym__S, + [4646] = 1, + ACTIONS(1057), 2, + anon_sym_GT, + sym__S, + [4651] = 1, + ACTIONS(1059), 2, + anon_sym_PERCENT, + sym__S, + [4656] = 1, + ACTIONS(1061), 2, + anon_sym_GT, + sym__S, + [4661] = 2, + ACTIONS(1063), 1, + sym_Name, + ACTIONS(1065), 1, + sym__S, + [4668] = 1, + ACTIONS(731), 2, + anon_sym_GT, + sym__S, + [4673] = 2, + ACTIONS(1067), 1, + sym__S, + ACTIONS(1069), 1, + sym_Nmtoken, + [4680] = 2, + ACTIONS(1071), 1, + anon_sym_GT, + ACTIONS(1073), 1, + sym__S, + [4687] = 2, + ACTIONS(934), 1, + anon_sym_GT, + ACTIONS(1075), 1, + sym__S, + [4694] = 2, + ACTIONS(697), 1, + anon_sym_RPAREN, + ACTIONS(1033), 1, + anon_sym_PIPE, + [4701] = 1, + ACTIONS(1077), 2, + anon_sym_GT, + sym__S, + [4706] = 1, + ACTIONS(1079), 1, + sym_Name, + [4710] = 1, + ACTIONS(1025), 1, + anon_sym_GT, + [4714] = 1, + ACTIONS(1081), 1, + anon_sym_DQUOTE, + [4718] = 1, + ACTIONS(1071), 1, + anon_sym_GT, + [4722] = 1, + ACTIONS(1069), 1, + sym_Nmtoken, + [4726] = 1, + ACTIONS(1081), 1, + anon_sym_SQUOTE, + [4730] = 1, + ACTIONS(733), 1, + anon_sym_STAR, + [4734] = 1, + ACTIONS(1083), 1, + sym__S, + [4738] = 1, + ACTIONS(1085), 1, + ts_builtin_sym_end, + [4742] = 1, + ACTIONS(812), 1, + anon_sym_STAR, + [4746] = 1, + ACTIONS(1087), 1, + sym__S, + [4750] = 1, + ACTIONS(1089), 1, + sym__S, + [4754] = 1, + ACTIONS(1091), 1, + anon_sym_STAR, + [4758] = 1, + ACTIONS(1093), 1, + anon_sym_QMARK_GT, + [4762] = 1, + ACTIONS(1095), 1, + sym_Name, + [4766] = 1, + ACTIONS(1097), 1, + sym__S, + [4770] = 1, + ACTIONS(1099), 1, + sym_VersionNum, + [4774] = 1, + ACTIONS(1101), 1, + sym_Nmtoken, + [4778] = 1, + ACTIONS(1033), 1, + anon_sym_PIPE, + [4782] = 1, + ACTIONS(498), 1, + anon_sym_PIPE, + [4786] = 1, + ACTIONS(1103), 1, + anon_sym_SQUOTE, + [4790] = 1, + ACTIONS(1105), 1, + anon_sym_PIPE, + [4794] = 1, + ACTIONS(1107), 1, + sym__S, + [4798] = 1, + ACTIONS(1103), 1, + anon_sym_DQUOTE, + [4802] = 1, + ACTIONS(768), 1, + anon_sym_STAR, + [4806] = 1, + ACTIONS(1109), 1, + sym__S, + [4810] = 1, + ACTIONS(1111), 1, + anon_sym_GT, + [4814] = 1, + ACTIONS(1113), 1, + anon_sym_SQUOTE, + [4818] = 1, + ACTIONS(1115), 1, + anon_sym_LPAREN, + [4822] = 1, + ACTIONS(1117), 1, + anon_sym_RBRACK_RBRACK_GT, + [4826] = 1, + ACTIONS(1113), 1, + anon_sym_DQUOTE, + [4830] = 1, + ACTIONS(1119), 1, + anon_sym_DQUOTE, + [4834] = 1, + ACTIONS(1121), 1, + sym_Nmtoken, + [4838] = 1, + ACTIONS(990), 1, + anon_sym_RPAREN, + [4842] = 1, + ACTIONS(934), 1, + anon_sym_GT, + [4846] = 1, + ACTIONS(1123), 1, + sym__S, + [4850] = 1, + ACTIONS(976), 1, + anon_sym_RPAREN, + [4854] = 1, + ACTIONS(1125), 1, + sym__S, + [4858] = 1, + ACTIONS(1127), 1, + sym_Name, + [4862] = 1, + ACTIONS(1129), 1, + sym__start_tag_name, + [4866] = 1, + ACTIONS(1131), 1, + anon_sym_RPAREN, + [4870] = 1, + ACTIONS(1133), 1, + anon_sym_GT, + [4874] = 1, + ACTIONS(1135), 1, + anon_sym_GT, + [4878] = 1, + ACTIONS(1137), 1, + anon_sym_SEMI, + [4882] = 1, + ACTIONS(1139), 1, + anon_sym_SEMI, + [4886] = 1, + ACTIONS(1141), 1, + anon_sym_LBRACK, + [4890] = 1, + ACTIONS(910), 1, + sym__S, + [4894] = 1, + ACTIONS(1143), 1, + aux_sym_PubidLiteral_token2, + [4898] = 1, + ACTIONS(1145), 1, + aux_sym_PubidLiteral_token1, + [4902] = 1, + ACTIONS(1147), 1, + aux_sym_SystemLiteral_token2, + [4906] = 1, + ACTIONS(1149), 1, + aux_sym_SystemLiteral_token1, + [4910] = 1, + ACTIONS(1151), 1, + anon_sym_EQ, + [4914] = 1, + ACTIONS(1153), 1, + anon_sym_SEMI, + [4918] = 1, + ACTIONS(1155), 1, + sym__S, + [4922] = 1, + ACTIONS(1157), 1, + anon_sym_DQUOTE, + [4926] = 1, + ACTIONS(1159), 1, + anon_sym_QMARK_GT, + [4930] = 1, + ACTIONS(1161), 1, + sym_VersionNum, + [4934] = 1, + ACTIONS(1163), 1, + sym__pi_content, + [4938] = 1, + ACTIONS(1165), 1, + anon_sym_version, + [4942] = 1, + ACTIONS(1157), 1, + anon_sym_SQUOTE, + [4946] = 1, + ACTIONS(1167), 1, + sym__S, + [4950] = 1, + ACTIONS(1169), 1, + sym__S, + [4954] = 1, + ACTIONS(1171), 1, + anon_sym_GT, + [4958] = 1, + ACTIONS(958), 1, + anon_sym_GT, + [4962] = 1, + ACTIONS(1173), 1, + sym__end_tag_name, + [4966] = 1, + ACTIONS(1175), 1, + sym_PITarget, + [4970] = 1, + ACTIONS(1177), 1, + aux_sym_CharRef_token2, + [4974] = 1, + ACTIONS(1177), 1, + aux_sym_CharRef_token1, + [4978] = 1, + ACTIONS(1179), 1, + sym_Name, + [4982] = 1, + ACTIONS(1181), 1, + anon_sym_CDATA, + [4986] = 1, + ACTIONS(1183), 1, + anon_sym_GT, + [4990] = 1, + ACTIONS(1185), 1, + anon_sym_DOCTYPE, + [4994] = 1, + ACTIONS(1187), 1, + sym__S, + [4998] = 1, + ACTIONS(924), 1, + anon_sym_QMARK_GT, + [5002] = 1, + ACTIONS(1189), 1, + sym__S, + [5006] = 1, + ACTIONS(1191), 1, + sym__S, + [5010] = 1, + ACTIONS(1193), 1, + anon_sym_GT, + [5014] = 1, + ACTIONS(1195), 1, + anon_sym_SEMI, + [5018] = 1, + ACTIONS(1197), 1, + anon_sym_SEMI, + [5022] = 1, + ACTIONS(1199), 1, + sym__S, + [5026] = 1, + ACTIONS(1201), 1, + anon_sym_QMARK_GT, + [5030] = 1, + ACTIONS(874), 1, + anon_sym_GT, + [5034] = 1, + ACTIONS(1203), 1, + anon_sym_GT, + [5038] = 1, + ACTIONS(1205), 1, + sym_EncName, + [5042] = 1, + ACTIONS(1207), 1, + sym_EncName, + [5046] = 1, + ACTIONS(1119), 1, + anon_sym_SQUOTE, + [5050] = 1, + ACTIONS(1209), 1, + sym__S, + [5054] = 1, + ACTIONS(1211), 1, + anon_sym_SEMI, + [5058] = 1, + ACTIONS(1213), 1, + sym__S, + [5062] = 1, + ACTIONS(1215), 1, + anon_sym_SEMI, + [5066] = 1, + ACTIONS(1217), 1, + anon_sym_SEMI, + [5070] = 1, + ACTIONS(1219), 1, + anon_sym_QMARK_GT, + [5074] = 1, + ACTIONS(1221), 1, + anon_sym_SEMI, + [5078] = 1, + ACTIONS(1223), 1, + anon_sym_SEMI, + [5082] = 1, + ACTIONS(1225), 1, + anon_sym_SEMI, + [5086] = 1, + ACTIONS(1227), 1, + anon_sym_SEMI, + [5090] = 1, + ACTIONS(1229), 1, + anon_sym_SEMI, + [5094] = 1, + ACTIONS(1231), 1, + anon_sym_SEMI, + [5098] = 1, + ACTIONS(1233), 1, + sym__start_tag_name, + [5102] = 1, + ACTIONS(1235), 1, + sym_Name, + [5106] = 1, + ACTIONS(1237), 1, + aux_sym_CharRef_token1, + [5110] = 1, + ACTIONS(1237), 1, + aux_sym_CharRef_token2, + [5114] = 1, + ACTIONS(1239), 1, + sym_PITarget, + [5118] = 1, + ACTIONS(1241), 1, + sym__end_tag_name, + [5122] = 1, + ACTIONS(1243), 1, + sym__pi_content, + [5126] = 1, + ACTIONS(1063), 1, + sym_Name, + [5130] = 1, + ACTIONS(1245), 1, + sym_Name, + [5134] = 1, + ACTIONS(1247), 1, + aux_sym_CharRef_token1, + [5138] = 1, + ACTIONS(1247), 1, + aux_sym_CharRef_token2, + [5142] = 1, + ACTIONS(1249), 1, + sym__pi_content, + [5146] = 1, + ACTIONS(1251), 1, + sym_Name, + [5150] = 1, + ACTIONS(1253), 1, + sym_Name, + [5154] = 1, + ACTIONS(1255), 1, + aux_sym_CharRef_token1, + [5158] = 1, + ACTIONS(1255), 1, + aux_sym_CharRef_token2, + [5162] = 1, + ACTIONS(1257), 1, + sym_Name, + [5166] = 1, + ACTIONS(1259), 1, + sym_Name, + [5170] = 1, + ACTIONS(1261), 1, + aux_sym_CharRef_token1, + [5174] = 1, + ACTIONS(1261), 1, + aux_sym_CharRef_token2, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 36, - [SMALL_STATE(4)] = 72, - [SMALL_STATE(5)] = 106, - [SMALL_STATE(6)] = 140, - [SMALL_STATE(7)] = 174, - [SMALL_STATE(8)] = 208, - [SMALL_STATE(9)] = 238, - [SMALL_STATE(10)] = 268, - [SMALL_STATE(11)] = 298, - [SMALL_STATE(12)] = 328, - [SMALL_STATE(13)] = 358, - [SMALL_STATE(14)] = 389, - [SMALL_STATE(15)] = 420, - [SMALL_STATE(16)] = 451, - [SMALL_STATE(17)] = 479, - [SMALL_STATE(18)] = 507, - [SMALL_STATE(19)] = 535, - [SMALL_STATE(20)] = 578, - [SMALL_STATE(21)] = 621, - [SMALL_STATE(22)] = 664, - [SMALL_STATE(23)] = 707, - [SMALL_STATE(24)] = 750, - [SMALL_STATE(25)] = 793, - [SMALL_STATE(26)] = 842, - [SMALL_STATE(27)] = 891, - [SMALL_STATE(28)] = 940, - [SMALL_STATE(29)] = 983, - [SMALL_STATE(30)] = 1026, - [SMALL_STATE(31)] = 1069, - [SMALL_STATE(32)] = 1118, - [SMALL_STATE(33)] = 1168, - [SMALL_STATE(34)] = 1214, - [SMALL_STATE(35)] = 1242, - [SMALL_STATE(36)] = 1279, - [SMALL_STATE(37)] = 1311, - [SMALL_STATE(38)] = 1343, - [SMALL_STATE(39)] = 1372, - [SMALL_STATE(40)] = 1401, - [SMALL_STATE(41)] = 1430, - [SMALL_STATE(42)] = 1444, - [SMALL_STATE(43)] = 1472, - [SMALL_STATE(44)] = 1486, - [SMALL_STATE(45)] = 1500, - [SMALL_STATE(46)] = 1514, - [SMALL_STATE(47)] = 1537, - [SMALL_STATE(48)] = 1562, - [SMALL_STATE(49)] = 1585, - [SMALL_STATE(50)] = 1608, - [SMALL_STATE(51)] = 1622, - [SMALL_STATE(52)] = 1636, - [SMALL_STATE(53)] = 1660, - [SMALL_STATE(54)] = 1680, - [SMALL_STATE(55)] = 1694, - [SMALL_STATE(56)] = 1716, - [SMALL_STATE(57)] = 1738, - [SMALL_STATE(58)] = 1750, - [SMALL_STATE(59)] = 1762, - [SMALL_STATE(60)] = 1774, - [SMALL_STATE(61)] = 1796, - [SMALL_STATE(62)] = 1818, - [SMALL_STATE(63)] = 1832, - [SMALL_STATE(64)] = 1854, - [SMALL_STATE(65)] = 1868, - [SMALL_STATE(66)] = 1880, - [SMALL_STATE(67)] = 1892, - [SMALL_STATE(68)] = 1904, - [SMALL_STATE(69)] = 1928, - [SMALL_STATE(70)] = 1952, - [SMALL_STATE(71)] = 1976, - [SMALL_STATE(72)] = 1990, - [SMALL_STATE(73)] = 2004, - [SMALL_STATE(74)] = 2026, - [SMALL_STATE(75)] = 2040, - [SMALL_STATE(76)] = 2052, - [SMALL_STATE(77)] = 2064, - [SMALL_STATE(78)] = 2078, - [SMALL_STATE(79)] = 2092, - [SMALL_STATE(80)] = 2104, - [SMALL_STATE(81)] = 2116, - [SMALL_STATE(82)] = 2130, - [SMALL_STATE(83)] = 2144, - [SMALL_STATE(84)] = 2168, - [SMALL_STATE(85)] = 2182, - [SMALL_STATE(86)] = 2196, - [SMALL_STATE(87)] = 2210, - [SMALL_STATE(88)] = 2224, - [SMALL_STATE(89)] = 2238, - [SMALL_STATE(90)] = 2262, - [SMALL_STATE(91)] = 2274, - [SMALL_STATE(92)] = 2286, - [SMALL_STATE(93)] = 2298, - [SMALL_STATE(94)] = 2312, - [SMALL_STATE(95)] = 2326, - [SMALL_STATE(96)] = 2345, - [SMALL_STATE(97)] = 2364, - [SMALL_STATE(98)] = 2383, - [SMALL_STATE(99)] = 2400, - [SMALL_STATE(100)] = 2419, - [SMALL_STATE(101)] = 2430, - [SMALL_STATE(102)] = 2441, - [SMALL_STATE(103)] = 2460, - [SMALL_STATE(104)] = 2479, - [SMALL_STATE(105)] = 2498, - [SMALL_STATE(106)] = 2509, - [SMALL_STATE(107)] = 2520, - [SMALL_STATE(108)] = 2539, - [SMALL_STATE(109)] = 2558, - [SMALL_STATE(110)] = 2569, - [SMALL_STATE(111)] = 2588, - [SMALL_STATE(112)] = 2599, - [SMALL_STATE(113)] = 2610, - [SMALL_STATE(114)] = 2622, - [SMALL_STATE(115)] = 2634, - [SMALL_STATE(116)] = 2646, - [SMALL_STATE(117)] = 2666, - [SMALL_STATE(118)] = 2678, - [SMALL_STATE(119)] = 2690, - [SMALL_STATE(120)] = 2702, - [SMALL_STATE(121)] = 2714, - [SMALL_STATE(122)] = 2726, - [SMALL_STATE(123)] = 2738, - [SMALL_STATE(124)] = 2750, - [SMALL_STATE(125)] = 2762, - [SMALL_STATE(126)] = 2774, - [SMALL_STATE(127)] = 2786, - [SMALL_STATE(128)] = 2798, - [SMALL_STATE(129)] = 2810, - [SMALL_STATE(130)] = 2830, - [SMALL_STATE(131)] = 2842, - [SMALL_STATE(132)] = 2862, - [SMALL_STATE(133)] = 2874, - [SMALL_STATE(134)] = 2886, - [SMALL_STATE(135)] = 2898, - [SMALL_STATE(136)] = 2918, - [SMALL_STATE(137)] = 2930, - [SMALL_STATE(138)] = 2942, - [SMALL_STATE(139)] = 2962, - [SMALL_STATE(140)] = 2974, - [SMALL_STATE(141)] = 2986, - [SMALL_STATE(142)] = 2998, - [SMALL_STATE(143)] = 3011, - [SMALL_STATE(144)] = 3030, - [SMALL_STATE(145)] = 3049, - [SMALL_STATE(146)] = 3066, - [SMALL_STATE(147)] = 3085, - [SMALL_STATE(148)] = 3101, - [SMALL_STATE(149)] = 3115, - [SMALL_STATE(150)] = 3129, - [SMALL_STATE(151)] = 3143, - [SMALL_STATE(152)] = 3153, - [SMALL_STATE(153)] = 3167, - [SMALL_STATE(154)] = 3183, - [SMALL_STATE(155)] = 3197, - [SMALL_STATE(156)] = 3207, - [SMALL_STATE(157)] = 3223, - [SMALL_STATE(158)] = 3235, - [SMALL_STATE(159)] = 3249, - [SMALL_STATE(160)] = 3263, - [SMALL_STATE(161)] = 3277, - [SMALL_STATE(162)] = 3287, - [SMALL_STATE(163)] = 3301, - [SMALL_STATE(164)] = 3311, - [SMALL_STATE(165)] = 3321, - [SMALL_STATE(166)] = 3335, - [SMALL_STATE(167)] = 3347, - [SMALL_STATE(168)] = 3357, - [SMALL_STATE(169)] = 3367, - [SMALL_STATE(170)] = 3377, - [SMALL_STATE(171)] = 3387, - [SMALL_STATE(172)] = 3401, - [SMALL_STATE(173)] = 3411, - [SMALL_STATE(174)] = 3425, - [SMALL_STATE(175)] = 3437, - [SMALL_STATE(176)] = 3447, - [SMALL_STATE(177)] = 3457, - [SMALL_STATE(178)] = 3467, - [SMALL_STATE(179)] = 3477, - [SMALL_STATE(180)] = 3487, - [SMALL_STATE(181)] = 3500, - [SMALL_STATE(182)] = 3511, - [SMALL_STATE(183)] = 3524, - [SMALL_STATE(184)] = 3535, - [SMALL_STATE(185)] = 3546, - [SMALL_STATE(186)] = 3557, - [SMALL_STATE(187)] = 3568, - [SMALL_STATE(188)] = 3581, - [SMALL_STATE(189)] = 3592, - [SMALL_STATE(190)] = 3603, - [SMALL_STATE(191)] = 3616, - [SMALL_STATE(192)] = 3627, - [SMALL_STATE(193)] = 3640, - [SMALL_STATE(194)] = 3653, - [SMALL_STATE(195)] = 3664, - [SMALL_STATE(196)] = 3677, - [SMALL_STATE(197)] = 3690, - [SMALL_STATE(198)] = 3697, - [SMALL_STATE(199)] = 3710, - [SMALL_STATE(200)] = 3723, - [SMALL_STATE(201)] = 3734, - [SMALL_STATE(202)] = 3745, - [SMALL_STATE(203)] = 3756, - [SMALL_STATE(204)] = 3769, - [SMALL_STATE(205)] = 3782, - [SMALL_STATE(206)] = 3795, - [SMALL_STATE(207)] = 3808, - [SMALL_STATE(208)] = 3819, - [SMALL_STATE(209)] = 3832, - [SMALL_STATE(210)] = 3843, - [SMALL_STATE(211)] = 3854, - [SMALL_STATE(212)] = 3865, - [SMALL_STATE(213)] = 3876, - [SMALL_STATE(214)] = 3889, - [SMALL_STATE(215)] = 3902, - [SMALL_STATE(216)] = 3913, - [SMALL_STATE(217)] = 3924, - [SMALL_STATE(218)] = 3935, - [SMALL_STATE(219)] = 3946, - [SMALL_STATE(220)] = 3959, - [SMALL_STATE(221)] = 3972, - [SMALL_STATE(222)] = 3983, - [SMALL_STATE(223)] = 3996, - [SMALL_STATE(224)] = 4007, - [SMALL_STATE(225)] = 4018, - [SMALL_STATE(226)] = 4029, - [SMALL_STATE(227)] = 4042, - [SMALL_STATE(228)] = 4055, - [SMALL_STATE(229)] = 4068, - [SMALL_STATE(230)] = 4079, - [SMALL_STATE(231)] = 4092, - [SMALL_STATE(232)] = 4105, - [SMALL_STATE(233)] = 4116, - [SMALL_STATE(234)] = 4129, - [SMALL_STATE(235)] = 4142, - [SMALL_STATE(236)] = 4155, - [SMALL_STATE(237)] = 4168, - [SMALL_STATE(238)] = 4181, - [SMALL_STATE(239)] = 4194, - [SMALL_STATE(240)] = 4207, - [SMALL_STATE(241)] = 4220, - [SMALL_STATE(242)] = 4233, - [SMALL_STATE(243)] = 4243, - [SMALL_STATE(244)] = 4249, - [SMALL_STATE(245)] = 4255, - [SMALL_STATE(246)] = 4261, - [SMALL_STATE(247)] = 4271, - [SMALL_STATE(248)] = 4281, - [SMALL_STATE(249)] = 4287, - [SMALL_STATE(250)] = 4293, - [SMALL_STATE(251)] = 4303, - [SMALL_STATE(252)] = 4311, - [SMALL_STATE(253)] = 4317, - [SMALL_STATE(254)] = 4323, - [SMALL_STATE(255)] = 4333, - [SMALL_STATE(256)] = 4343, - [SMALL_STATE(257)] = 4349, - [SMALL_STATE(258)] = 4359, - [SMALL_STATE(259)] = 4369, - [SMALL_STATE(260)] = 4379, - [SMALL_STATE(261)] = 4385, - [SMALL_STATE(262)] = 4395, - [SMALL_STATE(263)] = 4401, - [SMALL_STATE(264)] = 4411, - [SMALL_STATE(265)] = 4421, - [SMALL_STATE(266)] = 4429, - [SMALL_STATE(267)] = 4435, - [SMALL_STATE(268)] = 4441, - [SMALL_STATE(269)] = 4447, - [SMALL_STATE(270)] = 4457, - [SMALL_STATE(271)] = 4467, - [SMALL_STATE(272)] = 4477, - [SMALL_STATE(273)] = 4487, - [SMALL_STATE(274)] = 4497, - [SMALL_STATE(275)] = 4507, - [SMALL_STATE(276)] = 4513, - [SMALL_STATE(277)] = 4519, - [SMALL_STATE(278)] = 4525, - [SMALL_STATE(279)] = 4531, - [SMALL_STATE(280)] = 4537, - [SMALL_STATE(281)] = 4547, - [SMALL_STATE(282)] = 4553, - [SMALL_STATE(283)] = 4559, - [SMALL_STATE(284)] = 4569, - [SMALL_STATE(285)] = 4579, - [SMALL_STATE(286)] = 4589, - [SMALL_STATE(287)] = 4599, - [SMALL_STATE(288)] = 4605, - [SMALL_STATE(289)] = 4611, - [SMALL_STATE(290)] = 4617, - [SMALL_STATE(291)] = 4627, - [SMALL_STATE(292)] = 4637, - [SMALL_STATE(293)] = 4643, - [SMALL_STATE(294)] = 4653, - [SMALL_STATE(295)] = 4663, - [SMALL_STATE(296)] = 4670, - [SMALL_STATE(297)] = 4677, - [SMALL_STATE(298)] = 4682, - [SMALL_STATE(299)] = 4689, - [SMALL_STATE(300)] = 4694, - [SMALL_STATE(301)] = 4699, - [SMALL_STATE(302)] = 4706, - [SMALL_STATE(303)] = 4713, - [SMALL_STATE(304)] = 4720, - [SMALL_STATE(305)] = 4725, - [SMALL_STATE(306)] = 4732, - [SMALL_STATE(307)] = 4737, - [SMALL_STATE(308)] = 4744, - [SMALL_STATE(309)] = 4751, - [SMALL_STATE(310)] = 4756, - [SMALL_STATE(311)] = 4761, - [SMALL_STATE(312)] = 4766, - [SMALL_STATE(313)] = 4771, - [SMALL_STATE(314)] = 4778, - [SMALL_STATE(315)] = 4783, - [SMALL_STATE(316)] = 4790, - [SMALL_STATE(317)] = 4797, - [SMALL_STATE(318)] = 4802, - [SMALL_STATE(319)] = 4809, - [SMALL_STATE(320)] = 4816, - [SMALL_STATE(321)] = 4823, - [SMALL_STATE(322)] = 4830, - [SMALL_STATE(323)] = 4837, - [SMALL_STATE(324)] = 4844, - [SMALL_STATE(325)] = 4849, - [SMALL_STATE(326)] = 4856, - [SMALL_STATE(327)] = 4863, - [SMALL_STATE(328)] = 4870, - [SMALL_STATE(329)] = 4875, - [SMALL_STATE(330)] = 4882, - [SMALL_STATE(331)] = 4889, - [SMALL_STATE(332)] = 4896, - [SMALL_STATE(333)] = 4903, - [SMALL_STATE(334)] = 4908, - [SMALL_STATE(335)] = 4913, - [SMALL_STATE(336)] = 4920, - [SMALL_STATE(337)] = 4927, - [SMALL_STATE(338)] = 4934, - [SMALL_STATE(339)] = 4941, - [SMALL_STATE(340)] = 4948, - [SMALL_STATE(341)] = 4955, - [SMALL_STATE(342)] = 4960, - [SMALL_STATE(343)] = 4965, - [SMALL_STATE(344)] = 4972, - [SMALL_STATE(345)] = 4979, - [SMALL_STATE(346)] = 4986, - [SMALL_STATE(347)] = 4993, - [SMALL_STATE(348)] = 5000, - [SMALL_STATE(349)] = 5005, - [SMALL_STATE(350)] = 5010, - [SMALL_STATE(351)] = 5017, - [SMALL_STATE(352)] = 5022, - [SMALL_STATE(353)] = 5029, - [SMALL_STATE(354)] = 5034, - [SMALL_STATE(355)] = 5041, - [SMALL_STATE(356)] = 5048, - [SMALL_STATE(357)] = 5053, - [SMALL_STATE(358)] = 5060, - [SMALL_STATE(359)] = 5067, - [SMALL_STATE(360)] = 5072, - [SMALL_STATE(361)] = 5079, - [SMALL_STATE(362)] = 5084, - [SMALL_STATE(363)] = 5089, - [SMALL_STATE(364)] = 5094, - [SMALL_STATE(365)] = 5101, - [SMALL_STATE(366)] = 5106, - [SMALL_STATE(367)] = 5113, - [SMALL_STATE(368)] = 5118, - [SMALL_STATE(369)] = 5123, - [SMALL_STATE(370)] = 5130, - [SMALL_STATE(371)] = 5137, - [SMALL_STATE(372)] = 5144, - [SMALL_STATE(373)] = 5149, - [SMALL_STATE(374)] = 5154, - [SMALL_STATE(375)] = 5161, - [SMALL_STATE(376)] = 5168, - [SMALL_STATE(377)] = 5175, - [SMALL_STATE(378)] = 5180, - [SMALL_STATE(379)] = 5185, - [SMALL_STATE(380)] = 5192, - [SMALL_STATE(381)] = 5199, - [SMALL_STATE(382)] = 5204, - [SMALL_STATE(383)] = 5208, - [SMALL_STATE(384)] = 5212, - [SMALL_STATE(385)] = 5216, - [SMALL_STATE(386)] = 5220, - [SMALL_STATE(387)] = 5224, - [SMALL_STATE(388)] = 5228, - [SMALL_STATE(389)] = 5232, - [SMALL_STATE(390)] = 5236, - [SMALL_STATE(391)] = 5240, - [SMALL_STATE(392)] = 5244, - [SMALL_STATE(393)] = 5248, - [SMALL_STATE(394)] = 5252, - [SMALL_STATE(395)] = 5256, - [SMALL_STATE(396)] = 5260, - [SMALL_STATE(397)] = 5264, - [SMALL_STATE(398)] = 5268, - [SMALL_STATE(399)] = 5272, - [SMALL_STATE(400)] = 5276, - [SMALL_STATE(401)] = 5280, - [SMALL_STATE(402)] = 5284, - [SMALL_STATE(403)] = 5288, - [SMALL_STATE(404)] = 5292, - [SMALL_STATE(405)] = 5296, - [SMALL_STATE(406)] = 5300, - [SMALL_STATE(407)] = 5304, - [SMALL_STATE(408)] = 5308, - [SMALL_STATE(409)] = 5312, - [SMALL_STATE(410)] = 5316, - [SMALL_STATE(411)] = 5320, - [SMALL_STATE(412)] = 5324, - [SMALL_STATE(413)] = 5328, - [SMALL_STATE(414)] = 5332, - [SMALL_STATE(415)] = 5336, - [SMALL_STATE(416)] = 5340, - [SMALL_STATE(417)] = 5344, - [SMALL_STATE(418)] = 5348, - [SMALL_STATE(419)] = 5352, - [SMALL_STATE(420)] = 5356, - [SMALL_STATE(421)] = 5360, - [SMALL_STATE(422)] = 5364, - [SMALL_STATE(423)] = 5368, - [SMALL_STATE(424)] = 5372, - [SMALL_STATE(425)] = 5376, - [SMALL_STATE(426)] = 5380, - [SMALL_STATE(427)] = 5384, - [SMALL_STATE(428)] = 5388, - [SMALL_STATE(429)] = 5392, - [SMALL_STATE(430)] = 5396, - [SMALL_STATE(431)] = 5400, - [SMALL_STATE(432)] = 5404, - [SMALL_STATE(433)] = 5408, - [SMALL_STATE(434)] = 5412, - [SMALL_STATE(435)] = 5416, - [SMALL_STATE(436)] = 5420, - [SMALL_STATE(437)] = 5424, - [SMALL_STATE(438)] = 5428, - [SMALL_STATE(439)] = 5432, - [SMALL_STATE(440)] = 5436, - [SMALL_STATE(441)] = 5440, - [SMALL_STATE(442)] = 5444, - [SMALL_STATE(443)] = 5448, - [SMALL_STATE(444)] = 5452, - [SMALL_STATE(445)] = 5456, - [SMALL_STATE(446)] = 5460, - [SMALL_STATE(447)] = 5464, - [SMALL_STATE(448)] = 5468, - [SMALL_STATE(449)] = 5472, - [SMALL_STATE(450)] = 5476, - [SMALL_STATE(451)] = 5480, - [SMALL_STATE(452)] = 5484, - [SMALL_STATE(453)] = 5488, - [SMALL_STATE(454)] = 5492, - [SMALL_STATE(455)] = 5496, - [SMALL_STATE(456)] = 5500, - [SMALL_STATE(457)] = 5504, - [SMALL_STATE(458)] = 5508, - [SMALL_STATE(459)] = 5512, - [SMALL_STATE(460)] = 5516, - [SMALL_STATE(461)] = 5520, - [SMALL_STATE(462)] = 5524, - [SMALL_STATE(463)] = 5528, - [SMALL_STATE(464)] = 5532, - [SMALL_STATE(465)] = 5536, - [SMALL_STATE(466)] = 5540, - [SMALL_STATE(467)] = 5544, - [SMALL_STATE(468)] = 5548, - [SMALL_STATE(469)] = 5552, - [SMALL_STATE(470)] = 5556, - [SMALL_STATE(471)] = 5560, - [SMALL_STATE(472)] = 5564, - [SMALL_STATE(473)] = 5568, - [SMALL_STATE(474)] = 5572, - [SMALL_STATE(475)] = 5576, - [SMALL_STATE(476)] = 5580, - [SMALL_STATE(477)] = 5584, - [SMALL_STATE(478)] = 5588, - [SMALL_STATE(479)] = 5592, - [SMALL_STATE(480)] = 5596, - [SMALL_STATE(481)] = 5600, - [SMALL_STATE(482)] = 5604, + [SMALL_STATE(2)] = 0, + [SMALL_STATE(3)] = 52, + [SMALL_STATE(4)] = 104, + [SMALL_STATE(5)] = 150, + [SMALL_STATE(6)] = 196, + [SMALL_STATE(7)] = 235, + [SMALL_STATE(8)] = 268, + [SMALL_STATE(9)] = 301, + [SMALL_STATE(10)] = 334, + [SMALL_STATE(11)] = 367, + [SMALL_STATE(12)] = 400, + [SMALL_STATE(13)] = 433, + [SMALL_STATE(14)] = 466, + [SMALL_STATE(15)] = 499, + [SMALL_STATE(16)] = 532, + [SMALL_STATE(17)] = 559, + [SMALL_STATE(18)] = 586, + [SMALL_STATE(19)] = 613, + [SMALL_STATE(20)] = 640, + [SMALL_STATE(21)] = 668, + [SMALL_STATE(22)] = 692, + [SMALL_STATE(23)] = 720, + [SMALL_STATE(24)] = 742, + [SMALL_STATE(25)] = 770, + [SMALL_STATE(26)] = 798, + [SMALL_STATE(27)] = 820, + [SMALL_STATE(28)] = 848, + [SMALL_STATE(29)] = 876, + [SMALL_STATE(30)] = 900, + [SMALL_STATE(31)] = 924, + [SMALL_STATE(32)] = 952, + [SMALL_STATE(33)] = 974, + [SMALL_STATE(34)] = 998, + [SMALL_STATE(35)] = 1011, + [SMALL_STATE(36)] = 1035, + [SMALL_STATE(37)] = 1049, + [SMALL_STATE(38)] = 1067, + [SMALL_STATE(39)] = 1085, + [SMALL_STATE(40)] = 1109, + [SMALL_STATE(41)] = 1127, + [SMALL_STATE(42)] = 1145, + [SMALL_STATE(43)] = 1159, + [SMALL_STATE(44)] = 1183, + [SMALL_STATE(45)] = 1205, + [SMALL_STATE(46)] = 1223, + [SMALL_STATE(47)] = 1241, + [SMALL_STATE(48)] = 1255, + [SMALL_STATE(49)] = 1279, + [SMALL_STATE(50)] = 1293, + [SMALL_STATE(51)] = 1307, + [SMALL_STATE(52)] = 1321, + [SMALL_STATE(53)] = 1345, + [SMALL_STATE(54)] = 1369, + [SMALL_STATE(55)] = 1393, + [SMALL_STATE(56)] = 1417, + [SMALL_STATE(57)] = 1431, + [SMALL_STATE(58)] = 1445, + [SMALL_STATE(59)] = 1459, + [SMALL_STATE(60)] = 1473, + [SMALL_STATE(61)] = 1487, + [SMALL_STATE(62)] = 1505, + [SMALL_STATE(63)] = 1523, + [SMALL_STATE(64)] = 1537, + [SMALL_STATE(65)] = 1555, + [SMALL_STATE(66)] = 1569, + [SMALL_STATE(67)] = 1581, + [SMALL_STATE(68)] = 1595, + [SMALL_STATE(69)] = 1609, + [SMALL_STATE(70)] = 1623, + [SMALL_STATE(71)] = 1635, + [SMALL_STATE(72)] = 1653, + [SMALL_STATE(73)] = 1667, + [SMALL_STATE(74)] = 1685, + [SMALL_STATE(75)] = 1697, + [SMALL_STATE(76)] = 1721, + [SMALL_STATE(77)] = 1745, + [SMALL_STATE(78)] = 1769, + [SMALL_STATE(79)] = 1793, + [SMALL_STATE(80)] = 1805, + [SMALL_STATE(81)] = 1829, + [SMALL_STATE(82)] = 1843, + [SMALL_STATE(83)] = 1855, + [SMALL_STATE(84)] = 1879, + [SMALL_STATE(85)] = 1903, + [SMALL_STATE(86)] = 1921, + [SMALL_STATE(87)] = 1942, + [SMALL_STATE(88)] = 1963, + [SMALL_STATE(89)] = 1984, + [SMALL_STATE(90)] = 1997, + [SMALL_STATE(91)] = 2018, + [SMALL_STATE(92)] = 2043, + [SMALL_STATE(93)] = 2063, + [SMALL_STATE(94)] = 2085, + [SMALL_STATE(95)] = 2105, + [SMALL_STATE(96)] = 2127, + [SMALL_STATE(97)] = 2149, + [SMALL_STATE(98)] = 2171, + [SMALL_STATE(99)] = 2191, + [SMALL_STATE(100)] = 2213, + [SMALL_STATE(101)] = 2228, + [SMALL_STATE(102)] = 2245, + [SMALL_STATE(103)] = 2256, + [SMALL_STATE(104)] = 2267, + [SMALL_STATE(105)] = 2278, + [SMALL_STATE(106)] = 2289, + [SMALL_STATE(107)] = 2300, + [SMALL_STATE(108)] = 2311, + [SMALL_STATE(109)] = 2322, + [SMALL_STATE(110)] = 2333, + [SMALL_STATE(111)] = 2344, + [SMALL_STATE(112)] = 2355, + [SMALL_STATE(113)] = 2366, + [SMALL_STATE(114)] = 2377, + [SMALL_STATE(115)] = 2394, + [SMALL_STATE(116)] = 2411, + [SMALL_STATE(117)] = 2430, + [SMALL_STATE(118)] = 2441, + [SMALL_STATE(119)] = 2452, + [SMALL_STATE(120)] = 2463, + [SMALL_STATE(121)] = 2482, + [SMALL_STATE(122)] = 2501, + [SMALL_STATE(123)] = 2520, + [SMALL_STATE(124)] = 2537, + [SMALL_STATE(125)] = 2548, + [SMALL_STATE(126)] = 2567, + [SMALL_STATE(127)] = 2584, + [SMALL_STATE(128)] = 2592, + [SMALL_STATE(129)] = 2600, + [SMALL_STATE(130)] = 2610, + [SMALL_STATE(131)] = 2618, + [SMALL_STATE(132)] = 2632, + [SMALL_STATE(133)] = 2648, + [SMALL_STATE(134)] = 2662, + [SMALL_STATE(135)] = 2672, + [SMALL_STATE(136)] = 2686, + [SMALL_STATE(137)] = 2696, + [SMALL_STATE(138)] = 2710, + [SMALL_STATE(139)] = 2720, + [SMALL_STATE(140)] = 2730, + [SMALL_STATE(141)] = 2740, + [SMALL_STATE(142)] = 2756, + [SMALL_STATE(143)] = 2764, + [SMALL_STATE(144)] = 2778, + [SMALL_STATE(145)] = 2792, + [SMALL_STATE(146)] = 2800, + [SMALL_STATE(147)] = 2810, + [SMALL_STATE(148)] = 2820, + [SMALL_STATE(149)] = 2830, + [SMALL_STATE(150)] = 2844, + [SMALL_STATE(151)] = 2852, + [SMALL_STATE(152)] = 2860, + [SMALL_STATE(153)] = 2874, + [SMALL_STATE(154)] = 2890, + [SMALL_STATE(155)] = 2906, + [SMALL_STATE(156)] = 2916, + [SMALL_STATE(157)] = 2930, + [SMALL_STATE(158)] = 2940, + [SMALL_STATE(159)] = 2956, + [SMALL_STATE(160)] = 2969, + [SMALL_STATE(161)] = 2982, + [SMALL_STATE(162)] = 2995, + [SMALL_STATE(163)] = 3008, + [SMALL_STATE(164)] = 3021, + [SMALL_STATE(165)] = 3034, + [SMALL_STATE(166)] = 3047, + [SMALL_STATE(167)] = 3056, + [SMALL_STATE(168)] = 3069, + [SMALL_STATE(169)] = 3076, + [SMALL_STATE(170)] = 3089, + [SMALL_STATE(171)] = 3100, + [SMALL_STATE(172)] = 3107, + [SMALL_STATE(173)] = 3114, + [SMALL_STATE(174)] = 3121, + [SMALL_STATE(175)] = 3134, + [SMALL_STATE(176)] = 3141, + [SMALL_STATE(177)] = 3154, + [SMALL_STATE(178)] = 3167, + [SMALL_STATE(179)] = 3176, + [SMALL_STATE(180)] = 3189, + [SMALL_STATE(181)] = 3202, + [SMALL_STATE(182)] = 3215, + [SMALL_STATE(183)] = 3224, + [SMALL_STATE(184)] = 3233, + [SMALL_STATE(185)] = 3246, + [SMALL_STATE(186)] = 3253, + [SMALL_STATE(187)] = 3260, + [SMALL_STATE(188)] = 3273, + [SMALL_STATE(189)] = 3280, + [SMALL_STATE(190)] = 3287, + [SMALL_STATE(191)] = 3296, + [SMALL_STATE(192)] = 3309, + [SMALL_STATE(193)] = 3316, + [SMALL_STATE(194)] = 3327, + [SMALL_STATE(195)] = 3340, + [SMALL_STATE(196)] = 3349, + [SMALL_STATE(197)] = 3360, + [SMALL_STATE(198)] = 3373, + [SMALL_STATE(199)] = 3382, + [SMALL_STATE(200)] = 3393, + [SMALL_STATE(201)] = 3406, + [SMALL_STATE(202)] = 3413, + [SMALL_STATE(203)] = 3424, + [SMALL_STATE(204)] = 3437, + [SMALL_STATE(205)] = 3450, + [SMALL_STATE(206)] = 3463, + [SMALL_STATE(207)] = 3472, + [SMALL_STATE(208)] = 3485, + [SMALL_STATE(209)] = 3494, + [SMALL_STATE(210)] = 3505, + [SMALL_STATE(211)] = 3518, + [SMALL_STATE(212)] = 3531, + [SMALL_STATE(213)] = 3538, + [SMALL_STATE(214)] = 3547, + [SMALL_STATE(215)] = 3554, + [SMALL_STATE(216)] = 3567, + [SMALL_STATE(217)] = 3580, + [SMALL_STATE(218)] = 3593, + [SMALL_STATE(219)] = 3603, + [SMALL_STATE(220)] = 3611, + [SMALL_STATE(221)] = 3621, + [SMALL_STATE(222)] = 3631, + [SMALL_STATE(223)] = 3641, + [SMALL_STATE(224)] = 3651, + [SMALL_STATE(225)] = 3661, + [SMALL_STATE(226)] = 3671, + [SMALL_STATE(227)] = 3681, + [SMALL_STATE(228)] = 3687, + [SMALL_STATE(229)] = 3697, + [SMALL_STATE(230)] = 3703, + [SMALL_STATE(231)] = 3713, + [SMALL_STATE(232)] = 3719, + [SMALL_STATE(233)] = 3729, + [SMALL_STATE(234)] = 3737, + [SMALL_STATE(235)] = 3747, + [SMALL_STATE(236)] = 3753, + [SMALL_STATE(237)] = 3763, + [SMALL_STATE(238)] = 3773, + [SMALL_STATE(239)] = 3779, + [SMALL_STATE(240)] = 3789, + [SMALL_STATE(241)] = 3795, + [SMALL_STATE(242)] = 3801, + [SMALL_STATE(243)] = 3811, + [SMALL_STATE(244)] = 3821, + [SMALL_STATE(245)] = 3827, + [SMALL_STATE(246)] = 3833, + [SMALL_STATE(247)] = 3839, + [SMALL_STATE(248)] = 3849, + [SMALL_STATE(249)] = 3859, + [SMALL_STATE(250)] = 3869, + [SMALL_STATE(251)] = 3877, + [SMALL_STATE(252)] = 3887, + [SMALL_STATE(253)] = 3897, + [SMALL_STATE(254)] = 3907, + [SMALL_STATE(255)] = 3917, + [SMALL_STATE(256)] = 3927, + [SMALL_STATE(257)] = 3935, + [SMALL_STATE(258)] = 3945, + [SMALL_STATE(259)] = 3955, + [SMALL_STATE(260)] = 3965, + [SMALL_STATE(261)] = 3973, + [SMALL_STATE(262)] = 3983, + [SMALL_STATE(263)] = 3993, + [SMALL_STATE(264)] = 4003, + [SMALL_STATE(265)] = 4013, + [SMALL_STATE(266)] = 4023, + [SMALL_STATE(267)] = 4033, + [SMALL_STATE(268)] = 4043, + [SMALL_STATE(269)] = 4051, + [SMALL_STATE(270)] = 4057, + [SMALL_STATE(271)] = 4065, + [SMALL_STATE(272)] = 4075, + [SMALL_STATE(273)] = 4085, + [SMALL_STATE(274)] = 4095, + [SMALL_STATE(275)] = 4105, + [SMALL_STATE(276)] = 4115, + [SMALL_STATE(277)] = 4120, + [SMALL_STATE(278)] = 4125, + [SMALL_STATE(279)] = 4130, + [SMALL_STATE(280)] = 4137, + [SMALL_STATE(281)] = 4144, + [SMALL_STATE(282)] = 4149, + [SMALL_STATE(283)] = 4154, + [SMALL_STATE(284)] = 4161, + [SMALL_STATE(285)] = 4168, + [SMALL_STATE(286)] = 4173, + [SMALL_STATE(287)] = 4180, + [SMALL_STATE(288)] = 4185, + [SMALL_STATE(289)] = 4192, + [SMALL_STATE(290)] = 4199, + [SMALL_STATE(291)] = 4206, + [SMALL_STATE(292)] = 4211, + [SMALL_STATE(293)] = 4216, + [SMALL_STATE(294)] = 4223, + [SMALL_STATE(295)] = 4228, + [SMALL_STATE(296)] = 4233, + [SMALL_STATE(297)] = 4240, + [SMALL_STATE(298)] = 4247, + [SMALL_STATE(299)] = 4252, + [SMALL_STATE(300)] = 4259, + [SMALL_STATE(301)] = 4264, + [SMALL_STATE(302)] = 4269, + [SMALL_STATE(303)] = 4276, + [SMALL_STATE(304)] = 4281, + [SMALL_STATE(305)] = 4286, + [SMALL_STATE(306)] = 4293, + [SMALL_STATE(307)] = 4298, + [SMALL_STATE(308)] = 4305, + [SMALL_STATE(309)] = 4312, + [SMALL_STATE(310)] = 4317, + [SMALL_STATE(311)] = 4322, + [SMALL_STATE(312)] = 4327, + [SMALL_STATE(313)] = 4332, + [SMALL_STATE(314)] = 4337, + [SMALL_STATE(315)] = 4344, + [SMALL_STATE(316)] = 4349, + [SMALL_STATE(317)] = 4356, + [SMALL_STATE(318)] = 4363, + [SMALL_STATE(319)] = 4368, + [SMALL_STATE(320)] = 4373, + [SMALL_STATE(321)] = 4380, + [SMALL_STATE(322)] = 4387, + [SMALL_STATE(323)] = 4394, + [SMALL_STATE(324)] = 4399, + [SMALL_STATE(325)] = 4406, + [SMALL_STATE(326)] = 4413, + [SMALL_STATE(327)] = 4418, + [SMALL_STATE(328)] = 4425, + [SMALL_STATE(329)] = 4430, + [SMALL_STATE(330)] = 4435, + [SMALL_STATE(331)] = 4440, + [SMALL_STATE(332)] = 4447, + [SMALL_STATE(333)] = 4454, + [SMALL_STATE(334)] = 4459, + [SMALL_STATE(335)] = 4464, + [SMALL_STATE(336)] = 4469, + [SMALL_STATE(337)] = 4476, + [SMALL_STATE(338)] = 4483, + [SMALL_STATE(339)] = 4488, + [SMALL_STATE(340)] = 4493, + [SMALL_STATE(341)] = 4500, + [SMALL_STATE(342)] = 4505, + [SMALL_STATE(343)] = 4510, + [SMALL_STATE(344)] = 4515, + [SMALL_STATE(345)] = 4520, + [SMALL_STATE(346)] = 4527, + [SMALL_STATE(347)] = 4532, + [SMALL_STATE(348)] = 4539, + [SMALL_STATE(349)] = 4544, + [SMALL_STATE(350)] = 4549, + [SMALL_STATE(351)] = 4556, + [SMALL_STATE(352)] = 4561, + [SMALL_STATE(353)] = 4566, + [SMALL_STATE(354)] = 4573, + [SMALL_STATE(355)] = 4578, + [SMALL_STATE(356)] = 4583, + [SMALL_STATE(357)] = 4588, + [SMALL_STATE(358)] = 4593, + [SMALL_STATE(359)] = 4600, + [SMALL_STATE(360)] = 4605, + [SMALL_STATE(361)] = 4612, + [SMALL_STATE(362)] = 4617, + [SMALL_STATE(363)] = 4624, + [SMALL_STATE(364)] = 4629, + [SMALL_STATE(365)] = 4634, + [SMALL_STATE(366)] = 4639, + [SMALL_STATE(367)] = 4646, + [SMALL_STATE(368)] = 4651, + [SMALL_STATE(369)] = 4656, + [SMALL_STATE(370)] = 4661, + [SMALL_STATE(371)] = 4668, + [SMALL_STATE(372)] = 4673, + [SMALL_STATE(373)] = 4680, + [SMALL_STATE(374)] = 4687, + [SMALL_STATE(375)] = 4694, + [SMALL_STATE(376)] = 4701, + [SMALL_STATE(377)] = 4706, + [SMALL_STATE(378)] = 4710, + [SMALL_STATE(379)] = 4714, + [SMALL_STATE(380)] = 4718, + [SMALL_STATE(381)] = 4722, + [SMALL_STATE(382)] = 4726, + [SMALL_STATE(383)] = 4730, + [SMALL_STATE(384)] = 4734, + [SMALL_STATE(385)] = 4738, + [SMALL_STATE(386)] = 4742, + [SMALL_STATE(387)] = 4746, + [SMALL_STATE(388)] = 4750, + [SMALL_STATE(389)] = 4754, + [SMALL_STATE(390)] = 4758, + [SMALL_STATE(391)] = 4762, + [SMALL_STATE(392)] = 4766, + [SMALL_STATE(393)] = 4770, + [SMALL_STATE(394)] = 4774, + [SMALL_STATE(395)] = 4778, + [SMALL_STATE(396)] = 4782, + [SMALL_STATE(397)] = 4786, + [SMALL_STATE(398)] = 4790, + [SMALL_STATE(399)] = 4794, + [SMALL_STATE(400)] = 4798, + [SMALL_STATE(401)] = 4802, + [SMALL_STATE(402)] = 4806, + [SMALL_STATE(403)] = 4810, + [SMALL_STATE(404)] = 4814, + [SMALL_STATE(405)] = 4818, + [SMALL_STATE(406)] = 4822, + [SMALL_STATE(407)] = 4826, + [SMALL_STATE(408)] = 4830, + [SMALL_STATE(409)] = 4834, + [SMALL_STATE(410)] = 4838, + [SMALL_STATE(411)] = 4842, + [SMALL_STATE(412)] = 4846, + [SMALL_STATE(413)] = 4850, + [SMALL_STATE(414)] = 4854, + [SMALL_STATE(415)] = 4858, + [SMALL_STATE(416)] = 4862, + [SMALL_STATE(417)] = 4866, + [SMALL_STATE(418)] = 4870, + [SMALL_STATE(419)] = 4874, + [SMALL_STATE(420)] = 4878, + [SMALL_STATE(421)] = 4882, + [SMALL_STATE(422)] = 4886, + [SMALL_STATE(423)] = 4890, + [SMALL_STATE(424)] = 4894, + [SMALL_STATE(425)] = 4898, + [SMALL_STATE(426)] = 4902, + [SMALL_STATE(427)] = 4906, + [SMALL_STATE(428)] = 4910, + [SMALL_STATE(429)] = 4914, + [SMALL_STATE(430)] = 4918, + [SMALL_STATE(431)] = 4922, + [SMALL_STATE(432)] = 4926, + [SMALL_STATE(433)] = 4930, + [SMALL_STATE(434)] = 4934, + [SMALL_STATE(435)] = 4938, + [SMALL_STATE(436)] = 4942, + [SMALL_STATE(437)] = 4946, + [SMALL_STATE(438)] = 4950, + [SMALL_STATE(439)] = 4954, + [SMALL_STATE(440)] = 4958, + [SMALL_STATE(441)] = 4962, + [SMALL_STATE(442)] = 4966, + [SMALL_STATE(443)] = 4970, + [SMALL_STATE(444)] = 4974, + [SMALL_STATE(445)] = 4978, + [SMALL_STATE(446)] = 4982, + [SMALL_STATE(447)] = 4986, + [SMALL_STATE(448)] = 4990, + [SMALL_STATE(449)] = 4994, + [SMALL_STATE(450)] = 4998, + [SMALL_STATE(451)] = 5002, + [SMALL_STATE(452)] = 5006, + [SMALL_STATE(453)] = 5010, + [SMALL_STATE(454)] = 5014, + [SMALL_STATE(455)] = 5018, + [SMALL_STATE(456)] = 5022, + [SMALL_STATE(457)] = 5026, + [SMALL_STATE(458)] = 5030, + [SMALL_STATE(459)] = 5034, + [SMALL_STATE(460)] = 5038, + [SMALL_STATE(461)] = 5042, + [SMALL_STATE(462)] = 5046, + [SMALL_STATE(463)] = 5050, + [SMALL_STATE(464)] = 5054, + [SMALL_STATE(465)] = 5058, + [SMALL_STATE(466)] = 5062, + [SMALL_STATE(467)] = 5066, + [SMALL_STATE(468)] = 5070, + [SMALL_STATE(469)] = 5074, + [SMALL_STATE(470)] = 5078, + [SMALL_STATE(471)] = 5082, + [SMALL_STATE(472)] = 5086, + [SMALL_STATE(473)] = 5090, + [SMALL_STATE(474)] = 5094, + [SMALL_STATE(475)] = 5098, + [SMALL_STATE(476)] = 5102, + [SMALL_STATE(477)] = 5106, + [SMALL_STATE(478)] = 5110, + [SMALL_STATE(479)] = 5114, + [SMALL_STATE(480)] = 5118, + [SMALL_STATE(481)] = 5122, + [SMALL_STATE(482)] = 5126, + [SMALL_STATE(483)] = 5130, + [SMALL_STATE(484)] = 5134, + [SMALL_STATE(485)] = 5138, + [SMALL_STATE(486)] = 5142, + [SMALL_STATE(487)] = 5146, + [SMALL_STATE(488)] = 5150, + [SMALL_STATE(489)] = 5154, + [SMALL_STATE(490)] = 5158, + [SMALL_STATE(491)] = 5162, + [SMALL_STATE(492)] = 5166, + [SMALL_STATE(493)] = 5170, + [SMALL_STATE(494)] = 5174, }; static const TSParseActionEntry ts_parse_actions[] = { - [0] = {.entry = {.count = 0, .reusable = false}}, - [1] = {.entry = {.count = 1, .reusable = false}}, - RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_document, 0), - [5] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(142), - [7] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(196), - [9] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(149), - [11] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(414), - [13] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(482), - [15] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(191), - [17] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__name_repeat1, 2), - SHIFT_REPEAT(2), - [20] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym__name_repeat1, 2), - [22] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(2), - [24] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym__name, 2), - [26] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(5), - [28] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym__name, 1), - [30] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(6), - [32] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__name_repeat1, 2), - SHIFT_REPEAT(6), - [35] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(3), - [37] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(12), - [39] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_nm_token, 1), - [41] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__name_repeat1, 2), - SHIFT_REPEAT(11), - [44] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(11), - [46] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(10), - [48] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(17), - [50] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(16), - [52] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(18), - [54] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(23), - [56] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(149), - [58] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(379), - [60] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(428), - [62] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(427), - [64] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(212), - [66] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(426), - [68] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(425), - [70] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(330), - [72] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(19), - [74] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(350), - [76] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - SHIFT_REPEAT(23), - [79] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - SHIFT_REPEAT(196), - [82] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - SHIFT_REPEAT(149), - [85] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - [87] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - SHIFT_REPEAT(428), - [90] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - SHIFT_REPEAT(427), - [93] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - SHIFT_REPEAT(212), - [96] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - SHIFT_REPEAT(426), - [99] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_doctype_decl_repeat1, 2), - SHIFT_REPEAT(425), - [102] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(22), - [104] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(339), - [106] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(31), - [108] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(214), - [110] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(150), - [112] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(302), - [114] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(202), - [116] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(210), - [118] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(467), - [120] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(460), - [122] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(218), - [124] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(33), - [126] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(201), - [128] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(26), - [130] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(352), - [132] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(28), - [134] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(20), - [136] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_document, 1), - [138] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__content, 2), - SHIFT_REPEAT(33), - [141] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__content, 2), - SHIFT_REPEAT(214), - [144] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__content, 2), - SHIFT_REPEAT(150), - [147] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__content, 2), - SHIFT_REPEAT(302), - [150] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym__content, 2), - SHIFT_REPEAT(202), - [153] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym__content, 2), - [155] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym__content, 2), - SHIFT_REPEAT(467), - [158] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__content, 2), - SHIFT_REPEAT(460), - [161] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym__content, 2), - SHIFT_REPEAT(218), - [164] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(13), - [166] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(469), - [168] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(469), - [170] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(468), - [172] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_document_repeat1, 2), - [174] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_document_repeat1, 2), - SHIFT_REPEAT(318), - [177] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_document_repeat1, 2), - SHIFT_REPEAT(196), - [180] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_document_repeat1, 2), - SHIFT_REPEAT(149), - [183] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_document_repeat1, 2), - SHIFT_REPEAT(414), - [186] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_document_repeat1, 2), - SHIFT_REPEAT(482), - [189] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(aux_sym_document_repeat1, 2), - [191] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_document, 2), - [193] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(104), - [195] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(96), - [197] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_entity_value_repeat1, 2), - [199] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_entity_value_repeat1, 2), - SHIFT_REPEAT(38), - [202] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_entity_value_repeat1, 2), - SHIFT_REPEAT(480), - [205] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_entity_value_repeat1, 2), - SHIFT_REPEAT(481), - [208] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_entity_value_repeat1, 2), - SHIFT_REPEAT(183), - [211] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_entity_value_repeat1, 2), - SHIFT_REPEAT(194), - [214] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_entity_value, 2), - [216] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(38), - [218] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(480), - [220] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(481), - [222] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(183), - [224] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(194), - [226] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_entity_value, 1), - [228] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(39), - [230] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_processing_instructions, 5), - [232] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_prolog, 1), - [234] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(98), - [236] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(238), - [238] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(154), - [240] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_prolog, 1), - [242] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_comment, 2), - [244] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_processing_instructions, 3), - [246] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_comment, 3), - [248] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(119), - [250] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(4), - [252] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(4), - [254] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(56), - [256] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(55), - [258] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(156), - [260] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_prolog, 2), - [262] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(137), - [264] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_prolog, 2), - [266] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_prolog, 3), - [268] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(133), - [270] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_prolog, 3), - [272] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_end_tag, 3, .production_id = 1), - [274] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_end_tag, 3, .production_id = 1), - [276] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_empty_elem_tag, 3, .production_id = 1), - [278] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_empty_elem_tag, 3, .production_id = 1), - [280] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(288), - [282] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(68), - [284] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(470), - [286] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(471), - [288] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(200), - [290] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_document_repeat2, 2), - [292] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_document_repeat2, 2), - SHIFT_REPEAT(191), - [295] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element, 1), - [297] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_element, 1), - [299] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(95), - [301] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(153), - [303] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_ge_decl, 7), - [305] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attlist_decl, 6, .production_id = 4), - [307] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_decl, 7, .production_id = 5), - [309] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(103), - [311] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(108), - [313] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_start_tag, 3, .production_id = 1), - [315] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_start_tag, 3, .production_id = 1), - [317] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(107), - [319] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element, 2), - [321] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_element, 2), - [323] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_decl, 6, .production_id = 5), - [325] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_pe_reference, 3), - [327] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attlist_decl, 5, .production_id = 4), - [329] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(267), - [331] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(89), - [333] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(83), - [335] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(476), - [337] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(477), - [339] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(184), - [341] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(69), - [343] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element, 3), - [345] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_element, 3), - [347] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_empty_elem_tag, 4, .production_id = 1), - [349] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_empty_elem_tag, 4, .production_id = 1), - [351] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(102), - [353] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_reference, 1), - [355] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_reference, 1), - [357] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_notation_decl, 7, .production_id = 6), - [359] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_pe_decl, 9), - [361] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_start_tag, 4, .production_id = 1), - [363] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_start_tag, 4, .production_id = 1), - [365] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_start_tag, 5, .production_id = 1), - [367] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_start_tag, 5, .production_id = 1), - [369] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_entity_decl, 1), - [371] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_pe_decl, 8), - [373] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_empty_elem_tag, 5, .production_id = 1), - [375] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_empty_elem_tag, 5, .production_id = 1), - [377] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_end_tag, 4, .production_id = 1), - [379] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_end_tag, 4, .production_id = 1), - [381] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - SHIFT_REPEAT(83), - [384] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - [386] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - SHIFT_REPEAT(476), - [389] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - SHIFT_REPEAT(477), - [392] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - SHIFT_REPEAT(184), - [395] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_cdata_sect, 3), - [397] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_cdata_sect, 3), - [399] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_processing_instructions, 5), - [401] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_comment, 2), - [403] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_char_ref, 3), - [405] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_char_ref, 3), - [407] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_entity_ref, 3), - [409] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_entity_ref, 3), - [411] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - SHIFT_REPEAT(89), - [414] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - SHIFT_REPEAT(470), - [417] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - SHIFT_REPEAT(471), - [420] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_attribute_value_repeat1, 2), - SHIFT_REPEAT(200), - [423] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_notation_decl, 6, .production_id = 6), - [425] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attlist_decl, 4, .production_id = 4), - [427] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_ge_decl, 6), - [429] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_comment, 3), - [431] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_processing_instructions, 3), - [433] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(99), - [435] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(328), - [437] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(47), - [439] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_document_repeat3, 2), - [441] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_document_repeat3, 2), - SHIFT_REPEAT(99), - [444] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_document_repeat3, 2), - SHIFT_REPEAT(196), - [447] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_document_repeat3, 2), - SHIFT_REPEAT(149), - [450] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_seq, 4), - [452] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_choice, 5), - [454] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_document, 3), - [456] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_seq, 3), - [458] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_seq, 5), - [460] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_choice, 4), - [462] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_choice, 6), - [464] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_element_seq, 6), - [466] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_xml_decl, 4), - [468] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_xml_decl, 4), - [470] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_doctype_decl, 8, .production_id = 2), - [472] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_doctype_decl, 8, .production_id = 2), - [474] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(52), - [476] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(70), - [478] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(363), - [480] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(203), - [482] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_doctype_decl, 4, .production_id = 2), - [484] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_doctype_decl, 4, .production_id = 2), - [486] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_xml_decl, 7), - [488] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_xml_decl, 7), - [490] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_doctype_decl, 9, .production_id = 2), - [492] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_doctype_decl, 9, .production_id = 2), - [494] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_xml_decl, 5), - [496] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_xml_decl, 5), - [498] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_cp, 1), - [500] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(197), - [502] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_xml_decl, 6), - [504] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_xml_decl, 6), - [506] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(7), - [508] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(7), - [510] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(78), - [512] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(176), - [514] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_doctype_decl, 5, .production_id = 2), - [516] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_doctype_decl, 5, .production_id = 2), - [518] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(81), - [520] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_pe_reference, 3), - [522] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_prolog, 4), - [524] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_prolog, 4), - [526] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(77), - [528] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(72), - [530] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_doctype_decl, 6, .production_id = 2), - [532] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_doctype_decl, 6, .production_id = 2), - [534] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(167), - [536] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_doctype_decl, 11, .production_id = 2), - [538] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_doctype_decl, 11, .production_id = 2), - [540] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_doctype_decl, 10, .production_id = 2), - [542] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_doctype_decl, 10, .production_id = 2), - [544] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_doctype_decl, 7, .production_id = 2), - [546] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(sym_doctype_decl, 7, .production_id = 2), - [548] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_document_repeat3, 1), - [550] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(284), - [552] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(73), - [554] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(105), - [556] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(61), - [558] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(258), - [560] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(100), - [562] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(40), - [564] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(431), - [566] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(430), - [568] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(21), - [570] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(130), - [572] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(67), - [574] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(9), - [576] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(9), - [578] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(232), - [580] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(259), - [582] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(152), - [584] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(312), - [586] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(312), - [588] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(280), - [590] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(299), - [592] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(299), - [594] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym__enc_name_repeat1, 2), - SHIFT_REPEAT(157), - [597] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym__enc_name_repeat1, 2), - [599] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(382), - [601] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(221), - [603] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(8), - [605] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(8), - [607] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(209), - [609] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(58), - [611] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_children, 1), - [613] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(310), - [615] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(229), - [617] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(157), - [619] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym__enc_name, 2), - [621] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(189), - [623] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(166), - [625] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym__enc_name, 1), - [627] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(345), - [629] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(101), - [631] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(291), - [633] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(391), - [635] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(165), - [637] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(393), - [639] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(148), - [641] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(91), - [643] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_enumeration_repeat1, 2), - SHIFT_REPEAT(389), - [646] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_enumeration_repeat1, 2), - SHIFT_REPEAT(15), - [649] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_enumeration_repeat1, 2), - [651] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(332), - [653] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(329), - [655] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(109), - [657] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(475), - [659] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(220), - [661] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(45), - [663] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(195), - [665] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(43), - [667] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_cp, 2), - [669] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(321), - [671] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(380), - [673] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(15), - [675] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(385), - [677] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(293), - [679] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(374), - [681] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(397), - [683] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(290), - [685] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(138), - [687] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(62), - [689] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(161), - [691] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_attlist_decl_repeat1, 2), - SHIFT_REPEAT(181), - [694] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_attlist_decl_repeat1, 2), - [696] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(93), - [698] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(213), - [700] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(86), - [702] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(162), - [704] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(441), - [706] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_notation_type_repeat1, 2), - SHIFT_REPEAT(391), - [709] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_notation_type_repeat1, 2), - SHIFT_REPEAT(165), - [712] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_notation_type_repeat1, 2), - [714] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_comment_repeat1, 2), - SHIFT_REPEAT(475), - [717] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_comment_repeat1, 2), - SHIFT_REPEAT(220), - [720] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_comment_repeat1, 2), - [722] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(131), - [724] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_start_tag_repeat1, 2), - SHIFT_REPEAT(171), - [727] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_start_tag_repeat1, 2), - [729] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(242), - [731] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(113), - [733] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(343), - [735] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(342), - [737] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(358), - [739] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(404), - [741] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(347), - [743] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(106), - [745] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_element_seq_repeat1, 2), - SHIFT_REPEAT(407), - [748] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_element_seq_repeat1, 2), - [750] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_element_seq_repeat1, 2), - SHIFT_REPEAT(61), - [753] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_mixed_repeat1, 2), - SHIFT_REPEAT(415), - [756] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_mixed_repeat1, 2), - SHIFT_REPEAT(152), - [759] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_mixed_repeat1, 2), - [761] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_element_choice_repeat1, 2), - SHIFT_REPEAT(410), - [764] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_element_choice_repeat1, 2), - SHIFT_REPEAT(73), - [767] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_element_choice_repeat1, 2), - [769] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(405), - [771] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(129), - [773] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(135), - [775] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(51), - [777] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(241), - [779] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(134), - [781] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(398), - [783] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(403), - [785] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(114), - [787] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(122), - [789] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(335), - [791] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(296), - [793] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_enumeration_repeat1, 4), - [795] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(325), - [797] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(326), - [799] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(331), - [801] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(353), - [803] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(273), - [805] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_external_id, 3), - [807] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_external_id, 5), - [809] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_pubid_literal_repeat1, 2), - [811] = {.entry = {.count = 2, .reusable = false}}, - REDUCE(aux_sym_pubid_literal_repeat1, 2), - SHIFT_REPEAT(250), - [814] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_entity_def, 1), - [816] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_system_literal, 3), - [818] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(369), - [820] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(366), - [822] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(364), - [824] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(336), - [826] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_enumeration_repeat1, 3), - [828] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(147), - [830] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(24), - [832] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(117), - [834] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(60), - [836] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(63), - [838] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(159), - [840] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(342), - [842] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_notation_type_repeat1, 2, .production_id = 11), - [844] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(390), - [846] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(388), - [848] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(344), - [850] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(346), - [852] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(295), - [854] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(376), - [856] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(373), - [858] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(372), - [860] = {.entry = {.count = 1, .reusable = false}}, - REDUCE(aux_sym_comment_repeat1, 2), - [862] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_mixed_repeat1, 3), - [864] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attribute_value, 3), - [866] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attribute, 5, .production_id = 3), - [868] = {.entry = {.count = 2, .reusable = true}}, - REDUCE(aux_sym_pubid_literal_repeat1, 2), - SHIFT_REPEAT(269), - [871] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(357), - [873] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(29), - [875] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(136), - [877] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(333), - [879] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(269), - [881] = {.entry = {.count = 1, .reusable = false}}, - SHIFT(250), - [883] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(247), - [885] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(294), - [887] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_element_choice_repeat1, 3), - [889] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_element_seq_repeat1, 3), - [891] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_notation_type_repeat1, 3, .production_id = 12), - [893] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_mixed_repeat1, 4), - [895] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_element_choice_repeat1, 4), - [897] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_notation_type_repeat1, 4, .production_id = 9), - [899] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(aux_sym_element_seq_repeat1, 4), - [901] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(360), - [903] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(361), - [905] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(362), - [907] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(370), - [909] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(371), - [911] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(375), - [913] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attribute, 3, .production_id = 3), - [915] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attribute_value, 2), - [917] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attribute, 4, .production_id = 3), - [919] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(272), - [921] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(421), - [923] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(417), - [925] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(285), - [927] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_pi_target, 1), - [929] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(459), - [931] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(44), - [933] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_mixed, 3), - [935] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_standalone_decl, 8), - [937] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(307), - [939] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(451), - [941] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(479), - [943] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(94), - [945] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_pe_def, 1), - [947] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(429), - [949] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(80), - [951] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_encoding_decl, 8), - [953] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(443), - [955] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(246), - [957] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(457), - [959] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(50), - [961] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_public_id, 3), - [963] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_children, 2), - [965] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_entity_def, 2), - [967] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_mixed, 4), - [969] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(84), - [971] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_encoding_decl, 7), - [973] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(440), - [975] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(168), - [977] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(473), - [979] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(126), - [981] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_standalone_decl, 7), - [983] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(434), - [985] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(474), - [987] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(90), - [989] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(424), - [991] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(205), - [993] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(456), - [995] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(92), - [997] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(435), - [999] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(65), - [1001] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_content_spec, 1), - [1003] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(472), - [1005] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(140), - [1007] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_pubid_literal, 3), - [1009] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_encoding_decl, 6), - [1011] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(418), - [1013] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(283), - [1015] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(128), - [1017] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(416), - [1019] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(174), - [1021] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(413), - [1023] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_standalone_decl, 6), - [1025] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_mixed, 5), - [1027] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(368), - [1029] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(354), - [1031] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(355), - [1033] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(111), - [1035] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(112), - [1037] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(445), - [1039] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(442), - [1041] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(394), - [1043] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(141), - [1045] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_version_info, 7), - [1047] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(437), - [1049] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(121), - [1051] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_pubid_literal, 2), - [1053] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym__version_num, 2), - [1055] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(30), - [1057] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(14), - [1059] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_version_info, 5), - [1061] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(399), - [1063] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(400), - [1065] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_default_decl, 1), - [1067] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attribute_def, 6, .production_id = 7), - [1069] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_ndata_decl, 4, .production_id = 8), - [1071] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_mixed, 6), - [1073] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(340), - [1075] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(338), - [1077] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(423), - [1079] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(422), - [1081] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(349), - [1083] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(348), - [1085] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_version_info, 6), - [1087] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_default_decl, 3), - [1089] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(406), - [1091] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(115), - [1093] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(396), - [1095] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_default_decl, 2), - [1097] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(216), - [1099] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(97), - [1101] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(146), - [1103] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_enumeration, 5), - [1105] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(217), - [1107] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(271), - [1109] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(411), - [1111] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(450), - [1113] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(160), - [1115] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(351), - [1117] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_notation_type, 5, .production_id = 9), - [1119] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_enumeration, 6), - [1121] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_enumeration, 4), - [1123] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_notation_type, 6, .production_id = 10), - [1125] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(341), - [1127] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(334), - [1129] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_notation_type, 6, .production_id = 9), - [1131] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_enumeration, 3), - [1133] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_notation_type, 7, .production_id = 10), - [1135] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(377), - [1137] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(253), - [1139] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(66), - [1141] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(301), - [1143] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(120), - [1145] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(254), - [1147] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(264), - [1149] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(359), - [1151] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(356), - [1153] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(317), - [1155] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(182), - [1157] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(223), - [1159] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(158), - [1161] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(185), - [1163] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(186), - [1165] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(76), - [1167] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(286), - [1169] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(261), - [1171] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(173), - [1173] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(314), - [1175] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(59), - [1177] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(34), - [1179] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(145), - [1181] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(170), - [1183] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(274), - [1185] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(300), - [1187] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(263), - [1189] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(41), - [1191] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(88), - [1193] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(306), - [1195] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(87), - [1197] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_cdata, 1), - [1199] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(224), - [1201] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(169), - [1203] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(172), - [1205] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(127), - [1207] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(57), - [1209] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(82), - [1211] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(132), - [1213] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(444), - [1215] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(448), - [1217] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(116), - [1219] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(178), - [1221] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(179), - [1223] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(85), - [1225] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(118), - [1227] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(124), - [1229] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(432), - [1231] = {.entry = {.count = 1, .reusable = true}}, - REDUCE(sym_attribute_type, 1), - [1233] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(453), - [1235] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(139), - [1237] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(455), - [1239] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(75), - [1241] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(265), - [1243] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(462), - [1245] = {.entry = {.count = 1, .reusable = true}}, - ACCEPT_INPUT(), - [1247] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(464), - [1249] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(465), - [1251] = {.entry = {.count = 1, .reusable = true}}, - SHIFT(207), + [0] = {.entry = {.count = 0, .reusable = false}}, + [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [31] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_repeat1, 2, 0, 0), SHIFT_REPEAT(446), + [34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_content_repeat1, 2, 0, 0), SHIFT_REPEAT(445), + [37] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_content_repeat1, 2, 0, 0), SHIFT_REPEAT(444), + [40] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_repeat1, 2, 0, 0), SHIFT_REPEAT(443), + [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_repeat1, 2, 0, 0), SHIFT_REPEAT(442), + [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_content_repeat1, 2, 0, 0), SHIFT_REPEAT(475), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_content_repeat1, 2, 0, 0), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_content_repeat1, 2, 0, 0), SHIFT_REPEAT(4), + [54] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_content, 1, 0, 0), + [56] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [58] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [60] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [62] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [64] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__intSubset, 2, 0, 0), SHIFT_REPEAT(167), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__intSubset, 2, 0, 0), SHIFT_REPEAT(29), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__intSubset, 2, 0, 0), SHIFT_REPEAT(479), + [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__intSubset, 2, 0, 0), + [89] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__intSubset, 2, 0, 0), SHIFT_REPEAT(287), + [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), + [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(493), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prolog, 1, 0, 0), + [116] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_EntityValue_repeat2, 2, 0, 0), SHIFT_REPEAT(491), + [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_EntityValue_repeat2, 2, 0, 0), + [121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_EntityValue_repeat2, 2, 0, 0), SHIFT_REPEAT(22), + [124] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_EntityValue_repeat2, 2, 0, 0), SHIFT_REPEAT(492), + [127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_EntityValue_repeat2, 2, 0, 0), SHIFT_REPEAT(493), + [130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_EntityValue_repeat2, 2, 0, 0), SHIFT_REPEAT(494), + [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__cp, 1, 0, 0), + [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(488), + [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), + [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prolog, 2, 0, 0), + [167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_EntityValue_repeat1, 2, 0, 0), SHIFT_REPEAT(487), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_EntityValue_repeat1, 2, 0, 0), + [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_EntityValue_repeat1, 2, 0, 0), SHIFT_REPEAT(31), + [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_EntityValue_repeat1, 2, 0, 0), SHIFT_REPEAT(488), + [178] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_EntityValue_repeat1, 2, 0, 0), SHIFT_REPEAT(489), + [181] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_EntityValue_repeat1, 2, 0, 0), SHIFT_REPEAT(490), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), + [186] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(32), + [189] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(273), + [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), + [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PEReference, 3, 0, 0), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_AttValue_repeat1, 2, 0, 0), + [198] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_AttValue_repeat1, 2, 0, 0), SHIFT_REPEAT(476), + [201] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_AttValue_repeat1, 2, 0, 0), SHIFT_REPEAT(477), + [204] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_AttValue_repeat1, 2, 0, 0), SHIFT_REPEAT(478), + [207] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_AttValue_repeat1, 2, 0, 0), SHIFT_REPEAT(35), + [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_STag, 4, 0, 0), + [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_STag, 4, 0, 0), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 2, 0, 1), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(476), + [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), + [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1, 0, 1), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__Reference, 1, 0, 0), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__Reference, 1, 0, 0), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_AttValue_repeat2, 2, 0, 0), + [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_AttValue_repeat2, 2, 0, 0), SHIFT_REPEAT(483), + [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_AttValue_repeat2, 2, 0, 0), SHIFT_REPEAT(484), + [244] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_AttValue_repeat2, 2, 0, 0), SHIFT_REPEAT(485), + [247] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_AttValue_repeat2, 2, 0, 0), SHIFT_REPEAT(43), + [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 3, 0, 3), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 3, 0, 2), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ETag, 4, 0, 0), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ETag, 4, 0, 0), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(483), + [268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_EmptyElemTag, 5, 0, 0), + [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_EmptyElemTag, 5, 0, 0), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PI, 5, 0, 0), + [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_PI, 5, 0, 0), + [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ETag, 3, 0, 0), + [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ETag, 3, 0, 0), + [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_EmptyElemTag, 4, 0, 0), + [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_EmptyElemTag, 4, 0, 0), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_STag, 3, 0, 0), + [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_STag, 3, 0, 0), + [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 3, 0, 0), + [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 3, 0, 0), + [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_EmptyElemTag, 3, 0, 0), + [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_EmptyElemTag, 3, 0, 0), + [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PI, 3, 0, 0), + [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_PI, 3, 0, 0), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prolog, 3, 0, 0), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 2, 0, 0), + [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 2, 0, 0), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 2, 0, 2), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 1, 0, 0), + [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 1, 0, 0), + [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__choice, 4, 0, 0), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_CDSect, 3, 0, 0), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_CDSect, 3, 0, 0), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_CharRef, 3, 0, 0), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_CharRef, 3, 0, 0), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_CDSect, 2, 0, 0), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_CDSect, 2, 0, 0), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__choice, 7, 0, 0), + [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 4, 0, 3), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_EntityRef, 3, 0, 0), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_EntityRef, 3, 0, 0), + [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prolog, 4, 0, 0), + [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__choice, 6, 0, 0), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__choice, 3, 0, 0), + [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_STag, 5, 0, 0), + [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_STag, 5, 0, 0), + [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__choice, 5, 0, 0), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [434] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__choice_repeat1, 2, 0, 0), SHIFT_REPEAT(92), + [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__choice_repeat1, 2, 0, 0), + [439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__choice_repeat1, 2, 0, 0), SHIFT_REPEAT(357), + [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_PEReference, 3, 0, 0), + [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_StyleSheetPI, 5, 0, 0), + [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_StyleSheetPI, 5, 0, 0), + [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_XmlModelPI, 5, 0, 0), + [450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_XmlModelPI, 5, 0, 0), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_StyleSheetPI, 3, 0, 0), + [464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_StyleSheetPI, 3, 0, 0), + [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_XmlModelPI, 3, 0, 0), + [468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_XmlModelPI, 3, 0, 0), + [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_XmlModelPI, 4, 0, 0), + [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_XmlModelPI, 4, 0, 0), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_StyleSheetPI, 4, 0, 0), + [486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_StyleSheetPI, 4, 0, 0), + [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__cp, 2, 0, 0), + [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_XMLDecl, 4, 0, 0), + [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_XMLDecl, 4, 0, 0), + [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__choice_repeat1, 4, 0, 0), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_XMLDecl, 6, 0, 0), + [506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_XMLDecl, 6, 0, 0), + [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_NotationType_repeat1, 2, 0, 0), + [510] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_NotationType_repeat1, 2, 0, 0), SHIFT_REPEAT(195), + [513] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_NotationType_repeat1, 2, 0, 0), SHIFT_REPEAT(398), + [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_children, 1, 0, 0), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__choice_repeat1, 3, 0, 0), + [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__choice_repeat2, 2, 0, 0), + [526] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__choice_repeat2, 2, 0, 0), SHIFT_REPEAT(482), + [529] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__choice_repeat2, 2, 0, 0), SHIFT_REPEAT(358), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__intSubset, 3, 0, 0), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_XMLDecl, 7, 0, 0), + [544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_XMLDecl, 7, 0, 0), + [546] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_Mixed_repeat1, 2, 0, 0), SHIFT_REPEAT(174), + [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_Mixed_repeat1, 2, 0, 0), + [551] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_Mixed_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_XMLDecl, 5, 0, 0), + [556] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_XMLDecl, 5, 0, 0), + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctypedecl, 12, 0, 0), + [592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctypedecl, 12, 0, 0), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctypedecl, 8, 0, 0), + [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctypedecl, 8, 0, 0), + [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_Mixed_repeat2, 2, 0, 0), + [624] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_Mixed_repeat2, 2, 0, 0), SHIFT_REPEAT(482), + [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctypedecl, 11, 0, 0), + [629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctypedecl, 11, 0, 0), + [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctypedecl, 5, 0, 0), + [633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctypedecl, 5, 0, 0), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_NotationType_repeat1, 3, 0, 0), + [641] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_NotationType_repeat1, 2, 0, 0), SHIFT_REPEAT(188), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_EmptyElemTag_repeat1, 2, 0, 0), + [648] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_EmptyElemTag_repeat1, 2, 0, 0), SHIFT_REPEAT(288), + [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_NotationType_repeat1, 1, 0, 0), + [655] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_NotationType_repeat1, 1, 0, 0), SHIFT_REPEAT(192), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_AttlistDecl_repeat1, 2, 0, 0), + [660] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_AttlistDecl_repeat1, 2, 0, 0), SHIFT_REPEAT(262), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctypedecl, 7, 0, 0), + [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctypedecl, 7, 0, 0), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_Mixed_repeat1, 3, 0, 0), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_Enumeration_repeat1, 2, 0, 0), SHIFT_REPEAT(360), + [686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_Enumeration_repeat1, 2, 0, 0), + [688] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_Enumeration_repeat1, 2, 0, 0), SHIFT_REPEAT(395), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctypedecl, 9, 0, 0), + [695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctypedecl, 9, 0, 0), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctypedecl, 10, 0, 0), + [703] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctypedecl, 10, 0, 0), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctypedecl, 6, 0, 0), + [711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctypedecl, 6, 0, 0), + [713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_Mixed_repeat1, 4, 0, 0), + [715] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Mixed, 6, 0, 0), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [749] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_StyleSheetPI_repeat1, 2, 0, 0), SHIFT_REPEAT(290), + [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_StyleSheetPI_repeat1, 2, 0, 0), + [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_SystemLiteral, 3, 0, 0), + [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ExternalID, 5, 0, 0), + [764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Mixed, 5, 0, 0), + [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Attribute, 3, 0, 0), + [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_AttValue, 3, 0, 4), + [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_Enumeration_repeat1, 3, 0, 0), + [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_Enumeration_repeat1, 4, 0, 0), + [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ExternalID, 3, 0, 0), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__Eq, 1, 0, 0), + [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Mixed, 4, 0, 0), + [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__Eq, 2, 0, 0), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Mixed, 3, 0, 0), + [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_AttValue, 2, 0, 0), + [848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_Mixed_repeat2, 1, 0, 0), + [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_NotationType, 6, 0, 0), + [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_EntityValue, 2, 0, 0), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_GEDecl, 7, 0, 0), + [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__EntityDecl, 1, 0, 0), + [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__markupdecl, 1, 0, 0), + [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_NotationDecl, 7, 0, 0), + [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elementdecl, 8, 0, 0), + [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__AttType, 1, 0, 0), + [902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_AttDef, 4, 0, 0), + [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__EnumeratedType, 1, 0, 0), + [908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PublicID, 3, 0, 0), + [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_NotationDecl, 8, 0, 0), + [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_EntityValue, 3, 0, 4), + [920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PseudoAttValue, 2, 0, 0), + [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_GEDecl, 8, 0, 0), + [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), + [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_AttlistDecl, 7, 0, 0), + [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_children, 2, 0, 0), + [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_StringType, 1, 0, 0), + [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_NotationType, 9, 0, 0), + [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_CDStart, 3, 0, 0), + [972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_NotationType, 8, 0, 0), + [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PseudoAtt, 3, 0, 0), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_NotationType, 7, 0, 0), + [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__Eq, 3, 0, 0), + [988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__VersionInfo, 6, 0, 0), + [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PEDecl, 9, 0, 0), + [1000] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Enumeration, 6, 0, 0), + [1002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_AttlistDecl_repeat1, 2, 0, 0), SHIFT(27), + [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_GEDecl, 9, 0, 0), + [1007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Mixed, 8, 0, 0), + [1009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_AttlistDecl, 6, 0, 0), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [1013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [1015] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_DefaultDecl, 3, 0, 0), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [1021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elementdecl, 7, 0, 0), + [1023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contentspec, 1, 0, 0), + [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PseudoAttValue, 3, 0, 4), + [1031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PubidLiteral, 3, 0, 0), + [1033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), + [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Enumeration, 5, 0, 0), + [1039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Mixed, 7, 0, 0), + [1041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_AttlistDecl, 5, 0, 0), + [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [1047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Enumeration, 3, 0, 0), + [1049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__SDDecl, 6, 0, 0), + [1051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__EncodingDecl, 6, 0, 0), + [1053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_DefaultDecl, 1, 0, 0), + [1055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [1057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_AttDef, 6, 0, 0), + [1059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_PEDecl, 10, 0, 0), + [1061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_NDataDecl, 4, 0, 0), + [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [1065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [1069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [1071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [1073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [1077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_Enumeration, 4, 0, 0), + [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [1083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [1085] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), + [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [1105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [1111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [1125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [1133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [1135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [1141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [1145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [1149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [1153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [1155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [1161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [1165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [1167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [1169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [1177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [1185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [1189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [1193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [1195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [1197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [1199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [1201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [1203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [1205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [1207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [1209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [1211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [1217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [1219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [1221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [1223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [1225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [1227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [1229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [1231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [1233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [1235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [1237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [1239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [1241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [1243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [1245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [1247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [1249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [1251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [1253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [1255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [1257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [1259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), +}; + +enum ts_external_scanner_symbol_identifiers { + ts_external_token_PITarget = 0, + ts_external_token__pi_content = 1, + ts_external_token_Comment = 2, + ts_external_token_CharData = 3, + ts_external_token_CData = 4, + ts_external_token_xml_DASHmodel = 5, + ts_external_token_xml_DASHstylesheet = 6, + ts_external_token__start_tag_name = 7, + ts_external_token__end_tag_name = 8, + ts_external_token__erroneous_end_name = 9, + ts_external_token_SLASH_GT = 10, +}; + +static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { + [ts_external_token_PITarget] = sym_PITarget, + [ts_external_token__pi_content] = sym__pi_content, + [ts_external_token_Comment] = sym_Comment, + [ts_external_token_CharData] = sym_CharData, + [ts_external_token_CData] = sym_CData, + [ts_external_token_xml_DASHmodel] = anon_sym_xml_DASHmodel, + [ts_external_token_xml_DASHstylesheet] = anon_sym_xml_DASHstylesheet, + [ts_external_token__start_tag_name] = sym__start_tag_name, + [ts_external_token__end_tag_name] = sym__end_tag_name, + [ts_external_token__erroneous_end_name] = sym__erroneous_end_name, + [ts_external_token_SLASH_GT] = anon_sym_SLASH_GT, +}; + +static const bool ts_external_scanner_states[11][EXTERNAL_TOKEN_COUNT] = { + [1] = { + [ts_external_token_PITarget] = true, + [ts_external_token__pi_content] = true, + [ts_external_token_Comment] = true, + [ts_external_token_CharData] = true, + [ts_external_token_CData] = true, + [ts_external_token_xml_DASHmodel] = true, + [ts_external_token_xml_DASHstylesheet] = true, + [ts_external_token__start_tag_name] = true, + [ts_external_token__end_tag_name] = true, + [ts_external_token__erroneous_end_name] = true, + [ts_external_token_SLASH_GT] = true, + }, + [2] = { + [ts_external_token_Comment] = true, + }, + [3] = { + [ts_external_token_Comment] = true, + [ts_external_token_CharData] = true, + }, + [4] = { + [ts_external_token_SLASH_GT] = true, + }, + [5] = { + [ts_external_token_PITarget] = true, + [ts_external_token_xml_DASHmodel] = true, + [ts_external_token_xml_DASHstylesheet] = true, + }, + [6] = { + [ts_external_token_CData] = true, + }, + [7] = { + [ts_external_token__start_tag_name] = true, + }, + [8] = { + [ts_external_token__pi_content] = true, + }, + [9] = { + [ts_external_token__end_tag_name] = true, + }, + [10] = { + [ts_external_token_PITarget] = true, + }, }; #ifdef __cplusplus -extern "C" -{ +extern "C" { #endif -#ifdef _WIN32 -#define extern __declspec(dllexport) +void *tree_sitter_xml_external_scanner_create(void); +void tree_sitter_xml_external_scanner_destroy(void *); +bool tree_sitter_xml_external_scanner_scan(void *, TSLexer *, const bool *); +unsigned tree_sitter_xml_external_scanner_serialize(void *, char *); +void tree_sitter_xml_external_scanner_deserialize(void *, const char *, unsigned); + +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) #endif - extern const TSLanguage *tree_sitter_xml(void) - { - static const TSLanguage language = { - .version = LANGUAGE_VERSION, - .symbol_count = SYMBOL_COUNT, - .alias_count = ALIAS_COUNT, - .token_count = TOKEN_COUNT, - .external_token_count = EXTERNAL_TOKEN_COUNT, - .state_count = STATE_COUNT, - .large_state_count = LARGE_STATE_COUNT, - .production_id_count = PRODUCTION_ID_COUNT, - .field_count = FIELD_COUNT, - .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, - .parse_table = &ts_parse_table[0][0], - .small_parse_table = ts_small_parse_table, - .small_parse_table_map = ts_small_parse_table_map, - .parse_actions = ts_parse_actions, - .symbol_names = ts_symbol_names, - .symbol_metadata = ts_symbol_metadata, - .public_symbol_map = ts_symbol_map, - .alias_map = ts_non_terminal_alias_map, - .alias_sequences = &ts_alias_sequences[0][0], - .lex_modes = ts_lex_modes, - .lex_fn = ts_lex, - .primary_state_ids = ts_primary_state_ids, - }; - return &language; - } +TS_PUBLIC const TSLanguage *tree_sitter_xml(void) { + static const TSLanguage language = { + .version = LANGUAGE_VERSION, + .symbol_count = SYMBOL_COUNT, + .alias_count = ALIAS_COUNT, + .token_count = TOKEN_COUNT, + .external_token_count = EXTERNAL_TOKEN_COUNT, + .state_count = STATE_COUNT, + .large_state_count = LARGE_STATE_COUNT, + .production_id_count = PRODUCTION_ID_COUNT, + .field_count = FIELD_COUNT, + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, + .parse_table = &ts_parse_table[0][0], + .small_parse_table = ts_small_parse_table, + .small_parse_table_map = ts_small_parse_table_map, + .parse_actions = ts_parse_actions, + .symbol_names = ts_symbol_names, + .field_names = ts_field_names, + .field_map_slices = ts_field_map_slices, + .field_map_entries = ts_field_map_entries, + .symbol_metadata = ts_symbol_metadata, + .public_symbol_map = ts_symbol_map, + .alias_map = ts_non_terminal_alias_map, + .alias_sequences = &ts_alias_sequences[0][0], + .lex_modes = ts_lex_modes, + .lex_fn = ts_lex, + .keyword_lex_fn = ts_lex_keywords, + .keyword_capture_token = sym_Name, + .external_scanner = { + &ts_external_scanner_states[0][0], + ts_external_scanner_symbol_map, + tree_sitter_xml_external_scanner_create, + tree_sitter_xml_external_scanner_destroy, + tree_sitter_xml_external_scanner_scan, + tree_sitter_xml_external_scanner_serialize, + tree_sitter_xml_external_scanner_deserialize, + }, + .primary_state_ids = ts_primary_state_ids, + }; + return &language; +} #ifdef __cplusplus } #endif diff --git a/pkg/parser/sitter/xml/readme.md b/pkg/parser/sitter/xml/readme.md index 80957d6c3..7a1d219b8 100644 --- a/pkg/parser/sitter/xml/readme.md +++ b/pkg/parser/sitter/xml/readme.md @@ -2,15 +2,5 @@ An XML parser as the Go Tree Sitter library doesn't include one. -Source: https://github.com/dorgnarg/tree-sitter-xml +Source: https://github.com/tree-sitter-grammars/tree-sitter-xml Version SHA: 36dd54f701e3b3e030412a854295af971cf74ad1 - -## Updating - -At the time of writing, the current version of the grammar doesn't work unless -it's rebuilt with the latest tree sitter CLI. First, clone the grammar repo and -then (in the grammar repo): - -```bash -$ tree-sitter generate -``` diff --git a/pkg/parser/sitter/xml/scanner.c b/pkg/parser/sitter/xml/scanner.c new file mode 100644 index 000000000..9921b9748 --- /dev/null +++ b/pkg/parser/sitter/xml/scanner.c @@ -0,0 +1,262 @@ +#include "scanner.h" +#include "tree_sitter/array.h" + +#include + +typedef Array(char) String; + +typedef Array(String) Vector; + +static inline bool string_eq(String *a, String *b) { + if (a->size != b->size) { + return false; + } + return memcmp(a->contents, b->contents, a->size) == 0; +} + +static String scan_tag_name(TSLexer *lexer) { + String tag_name = array_new(); + if (is_valid_name_start_char(lexer->lookahead)) { + array_push(&tag_name, (char)lexer->lookahead); + advance(lexer); + } + while (is_valid_name_char(lexer->lookahead)) { + array_push(&tag_name, (char)lexer->lookahead); + advance(lexer); + } + return tag_name; +} + +static bool scan_start_tag_name(Vector *tags, TSLexer *lexer) { + String tag_name = scan_tag_name(lexer); + if (tag_name.size == 0) { + array_delete(&tag_name); + return false; + } + + lexer->result_symbol = START_TAG_NAME; + array_push(tags, tag_name); + return true; +} + +static bool scan_end_tag_name(Vector *tags, TSLexer *lexer) { + String tag_name = scan_tag_name(lexer); + if (tag_name.size == 0) { + array_delete(&tag_name); + return false; + } + + if (tags->size > 0 && string_eq(array_back(tags), &tag_name)) { + array_delete(&array_pop(tags)); + lexer->result_symbol = END_TAG_NAME; + } else { + lexer->result_symbol = ERRONEOUS_END_NAME; + } + array_delete(&tag_name); + return lexer->result_symbol == END_TAG_NAME; +} + +static bool scan_self_closing_tag_delimiter(Vector *tags, TSLexer *lexer) { + advance(lexer); + advance_if_eq(lexer, '>'); + if (tags->size > 0) { + array_delete(&array_pop(tags)); + lexer->result_symbol = SELF_CLOSING_TAG_DELIMITER; + } + return true; +} + +/// Check if the lexer is in error recovery mode +static inline bool in_error_recovery(const bool *valid_symbols) { + return valid_symbols[PI_TARGET] && valid_symbols[PI_CONTENT] && valid_symbols[COMMENT] && + valid_symbols[CHAR_DATA] && valid_symbols[CDATA]; +} + +/// Scan for a CharData node +static bool scan_char_data(TSLexer *lexer) { + bool advanced_once = false; + + while (!lexer->eof(lexer) && lexer->lookahead != '<' && lexer->lookahead != '&') { + if (lexer->lookahead == ']') { + lexer->mark_end(lexer); + advance(lexer); + if (lexer->lookahead == ']') { + advance(lexer); + if (lexer->lookahead == '>') { + advance(lexer); + if (advanced_once) { + lexer->result_symbol = CHAR_DATA; + return false; + } + } + } + } + advanced_once = true; + advance(lexer); + } + + if (advanced_once) { + lexer->mark_end(lexer); + lexer->result_symbol = CHAR_DATA; + return true; + } + return false; +} + +/// Scan for a CData node +static bool scan_cdata(TSLexer *lexer) { + bool advanced_once = false; + + while (!lexer->eof(lexer)) { + if (lexer->lookahead == ']') { + lexer->mark_end(lexer); + advance(lexer); + if (lexer->lookahead == ']') { + advance(lexer); + if (lexer->lookahead == '>' && advanced_once) { + lexer->result_symbol = CDATA; + return true; + } + } + } + advanced_once = true; + advance(lexer); + } + + return false; +} + +bool tree_sitter_xml_external_scanner_scan(void *payload, TSLexer *lexer, const bool *valid_symbols) { + Vector *tags = (Vector *)payload; + + if (in_error_recovery(valid_symbols)) { + return false; + } + + if (valid_symbols[PI_TARGET]) { + return scan_pi_target(lexer, valid_symbols); + } + + if (valid_symbols[PI_CONTENT]) { + return scan_pi_content(lexer); + } + + if (valid_symbols[CHAR_DATA] && scan_char_data(lexer)) { + return true; + } + + if (valid_symbols[CDATA] && scan_cdata(lexer)) { + return true; + } + + switch (lexer->lookahead) { + case '<': + lexer->mark_end(lexer); + advance(lexer); + if (lexer->lookahead == '!') { + advance(lexer); + return scan_comment(lexer); + } + break; + case '/': + if (valid_symbols[SELF_CLOSING_TAG_DELIMITER]) { + return scan_self_closing_tag_delimiter(tags, lexer); + } + break; + case '\0': + break; + default: + if (valid_symbols[START_TAG_NAME]) { + return scan_start_tag_name(tags, lexer); + } + if (valid_symbols[END_TAG_NAME]) { + return scan_end_tag_name(tags, lexer); + } + } + + return false; +} + +void *tree_sitter_xml_external_scanner_create() { + Vector *tags = (Vector *)ts_calloc(1, sizeof(Vector)); + if (tags == NULL) abort(); + array_init(tags); + return tags; +} + +void tree_sitter_xml_external_scanner_destroy(void *payload) { + Vector *tags = (Vector *)payload; + for (uint32_t i = 0; i < tags->size; ++i) { + array_delete(array_get(tags, i)); + } + array_delete(tags); + ts_free(tags); +} + +unsigned tree_sitter_xml_external_scanner_serialize(void *payload, char *buffer) { + Vector *tags = (Vector *)payload; + uint32_t tag_count = tags->size > UINT16_MAX ? UINT16_MAX : tags->size; + uint32_t serialized_tag_count = 0, size = sizeof tag_count; + + memcpy(&buffer[size], &tag_count, size); + size += sizeof tag_count; + + for (; serialized_tag_count < tag_count; ++serialized_tag_count) { + String *tag = array_get(tags, serialized_tag_count); + uint32_t name_length = tag->size; + if (name_length > UINT8_MAX) { + name_length = UINT8_MAX; + } + if (size + 2 + name_length >= TREE_SITTER_SERIALIZATION_BUFFER_SIZE) { + break; + } + buffer[size++] = (char)name_length; + if (name_length > 0) { + memcpy(&buffer[size], tag->contents, name_length); + } + array_delete(tag); + size += name_length; + } + + memcpy(&buffer[0], &serialized_tag_count, sizeof serialized_tag_count); + return size; +} + +void tree_sitter_xml_external_scanner_deserialize(void *payload, const char *buffer, unsigned length) { + Vector *tags = (Vector *)payload; + + for (unsigned i = 0; i < tags->size; ++i) { + array_delete(array_get(tags, i)); + } + array_delete(tags); + + if (length == 0) return; + + uint32_t size = 0, tag_count = 0, serialized_tag_count = 0; + memcpy(&serialized_tag_count, &buffer[size], sizeof serialized_tag_count); + size += sizeof serialized_tag_count; + memcpy(&tag_count, &buffer[size], sizeof tag_count); + size += sizeof tag_count; + + if (tag_count == 0) return; + + array_reserve(tags, tag_count); + + uint32_t iter = 0; + for (; iter < serialized_tag_count; ++iter) { + String tag = array_new(); + tag.size = (uint8_t)buffer[size++]; + if (tag.size > 0) { + array_reserve(&tag, tag.size + 1); + memcpy(tag.contents, &buffer[size], tag.size); + size += tag.size; + } + array_push(tags, tag); + } + // add zero tags if we didn't read enough, this is because the + // buffer had no more room but we held more tags. + for (; iter < tag_count; ++iter) { + String tag = array_new(); + array_push(tags, tag); + } +} diff --git a/pkg/parser/sitter/xml/scanner.h b/pkg/parser/sitter/xml/scanner.h new file mode 100644 index 000000000..8326cc97d --- /dev/null +++ b/pkg/parser/sitter/xml/scanner.h @@ -0,0 +1,147 @@ +#pragma once + +#include "tree_sitter/parser.h" +#include + +enum TokenType { + PI_TARGET, + PI_CONTENT, + COMMENT, + CHAR_DATA, + CDATA, + XML_MODEL, + XML_STYLESHEET, + START_TAG_NAME, + END_TAG_NAME, + ERRONEOUS_END_NAME, + SELF_CLOSING_TAG_DELIMITER, +}; + +/// Advance the lexer if the next token matches the given character +#define advance_if_eq(lexer, chr) \ + if (!lexer->eof(lexer) && (lexer)->lookahead == (chr)) advance((lexer)); else return false + +#ifdef _WIN32 +#undef max +#undef min +#endif + +/// Advance the lexer to the next token +static inline void advance(TSLexer *lexer) { lexer->advance(lexer, false); } + +/// Check if the character is valid in a name +/// TODO: explicitly follow https://www.w3.org/TR/xml11/#NT-Name +static inline bool is_valid_name_char(wchar_t chr) { + return iswalnum(chr) || chr == '_' || chr == ':' || chr == '.' || chr == '-' || chr == 0xB7; +} + +/// Check if the character is valid to start a name +/// TODO: explicitly follow https://www.w3.org/TR/xml11/#NT-NameStartChar +static inline bool is_valid_name_start_char(wchar_t chr) { + return iswalpha(chr) || chr == '_' || chr == ':'; +} + +/// Check if the lexer matches the given word +static inline bool check_word(TSLexer *lexer, const char *const word, unsigned length) { + for (unsigned j = 0; j < length; ++j) { + advance_if_eq(lexer, word[j]); + } + return true; +} + +/// Scan for the target of a PI node +static bool scan_pi_target(TSLexer *lexer, const bool *valid_symbols) { + bool advanced_once = false, found_x_first = false; + + if (is_valid_name_start_char(lexer->lookahead)) { + if (lexer->lookahead == 'x' || lexer->lookahead == 'X') { + found_x_first = true; + lexer->mark_end(lexer); + } + advanced_once = true; + advance(lexer); + } + + if (advanced_once) { + while (is_valid_name_char(lexer->lookahead)) { + if (found_x_first && (lexer->lookahead == 'm' || lexer->lookahead == 'M')) { + advance(lexer); + if (lexer->lookahead == 'l' || lexer->lookahead == 'L') { + advance(lexer); + if (is_valid_name_char(lexer->lookahead)) { + found_x_first = false; + bool last_char_hyphen = lexer->lookahead == '-'; + advance(lexer); + if (last_char_hyphen) { + if (valid_symbols[XML_MODEL] && check_word(lexer, "model", 5)) + return false; + if (valid_symbols[XML_STYLESHEET] && check_word(lexer, "stylesheet", 10)) + return false; + } + } else { + return false; + } + } + } + + found_x_first = false; + advance(lexer); + } + + lexer->mark_end(lexer); + lexer->result_symbol = PI_TARGET; + return true; + } + + return false; +} + +/// Scan for the content of a PI node +static bool scan_pi_content(TSLexer *lexer) { + while (!lexer->eof(lexer) && lexer->lookahead != '\n' && lexer->lookahead != '?') + advance(lexer); + + if (lexer->lookahead != '?') + return false; + + lexer->mark_end(lexer); + advance(lexer); + + if (lexer->lookahead == '>') { + advance(lexer); + while (lexer->lookahead == ' ') + advance(lexer); + advance_if_eq(lexer, '\n'); + lexer->result_symbol = PI_CONTENT; + return true; + } + + return false; +} + +/// Scan for a Comment node +static bool scan_comment(TSLexer *lexer) { + advance_if_eq(lexer, '-'); + advance_if_eq(lexer, '-'); + + while (!lexer->eof(lexer)) { + if (lexer->lookahead == '-') { + advance(lexer); + if (lexer->lookahead == '-') { + advance(lexer); + break; + } + } else { + advance(lexer); + } + } + + if (lexer->lookahead == '>') { + advance(lexer); + lexer->mark_end(lexer); + lexer->result_symbol = COMMENT; + return true; + } + + return false; +} diff --git a/pkg/parser/sitter/xml/tree_sitter/alloc.h b/pkg/parser/sitter/xml/tree_sitter/alloc.h new file mode 100644 index 000000000..1f4466d75 --- /dev/null +++ b/pkg/parser/sitter/xml/tree_sitter/alloc.h @@ -0,0 +1,54 @@ +#ifndef TREE_SITTER_ALLOC_H_ +#define TREE_SITTER_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +// Allow clients to override allocation functions +#ifdef TREE_SITTER_REUSE_ALLOCATOR + +extern void *(*ts_current_malloc)(size_t); +extern void *(*ts_current_calloc)(size_t, size_t); +extern void *(*ts_current_realloc)(void *, size_t); +extern void (*ts_current_free)(void *); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/pkg/parser/sitter/xml/tree_sitter/array.h b/pkg/parser/sitter/xml/tree_sitter/array.h new file mode 100644 index 000000000..15a3b233b --- /dev/null +++ b/pkg/parser/sitter/xml/tree_sitter/array.h @@ -0,0 +1,290 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + _array__reserve((Array *)(self), array_elem_size(self), new_capacity) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) _array__delete((Array *)(self)) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + (_array__grow((Array *)(self), 1, array_elem_size(self)), \ + (self)->contents[(self)->size++] = (element)) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + _array__grow((Array *)(self), count, array_elem_size(self)); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), (self)->size, \ + 0, count, contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), _index, \ + old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((Array *)(self), array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) + +/// Swap one array with another +#define array_swap(self, other) \ + _array__swap((Array *)(self), (Array *)(other)) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +typedef Array(void) Array; + +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(Array *self) { + if (self->contents) { + ts_free(self->contents); + self->contents = NULL; + self->size = 0; + self->capacity = 0; + } +} + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(Array *self, size_t element_size, + uint32_t index) { + assert(index < self->size); + char *contents = (char *)self->contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (self->size - index - 1) * element_size); + self->size--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { + if (new_capacity > self->capacity) { + if (self->contents) { + self->contents = ts_realloc(self->contents, new_capacity * element_size); + } else { + self->contents = ts_malloc(new_capacity * element_size); + } + self->capacity = new_capacity; + } +} + +/// This is not what you're looking for, see `array_assign`. +static inline void _array__assign(Array *self, const Array *other, size_t element_size) { + _array__reserve(self, element_size, other->size); + self->size = other->size; + memcpy(self->contents, other->contents, self->size * element_size); +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(Array *self, Array *other) { + Array swap = *other; + *other = *self; + *self = swap; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { + uint32_t new_size = self->size + count; + if (new_size > self->capacity) { + uint32_t new_capacity = self->capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + _array__reserve(self, element_size, new_capacity); + } +} + +/// This is not what you're looking for, see `array_splice`. +static inline void _array__splice(Array *self, size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = self->size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + assert(old_end <= self->size); + + _array__reserve(self, element_size, new_size); + + char *contents = (char *)self->contents; + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + self->size += new_count - old_count; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(default : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/pkg/parser/sitter/xml/tree_sitter/parser.h b/pkg/parser/sitter/xml/tree_sitter/parser.h index 9f61369d5..17f0e94bf 100644 --- a/pkg/parser/sitter/xml/tree_sitter/parser.h +++ b/pkg/parser/sitter/xml/tree_sitter/parser.h @@ -2,8 +2,7 @@ #define TREE_SITTER_PARSER_H_ #ifdef __cplusplus -extern "C" -{ +extern "C" { #endif #include @@ -14,146 +13,162 @@ extern "C" #define ts_builtin_sym_end 0 #define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 - typedef uint16_t TSStateId; - #ifndef TREE_SITTER_API_H_ - typedef uint16_t TSSymbol; - typedef uint16_t TSFieldId; - typedef struct TSLanguage TSLanguage; +typedef uint16_t TSStateId; +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; #endif - typedef struct - { - TSFieldId field_id; - uint8_t child_index; - bool inherited; - } TSFieldMapEntry; - - typedef struct - { - uint16_t index; - uint16_t length; - } TSFieldMapSlice; - - typedef struct - { - bool visible; - bool named; - bool supertype; - } TSSymbolMetadata; - - typedef struct TSLexer TSLexer; - - struct TSLexer - { - int32_t lookahead; - TSSymbol result_symbol; - void (*advance)(TSLexer *, bool); - void (*mark_end)(TSLexer *); - uint32_t (*get_column)(TSLexer *); - bool (*is_at_included_range_start)(const TSLexer *); - bool (*eof)(const TSLexer *); - }; - - typedef enum - { - TSParseActionTypeShift, - TSParseActionTypeReduce, - TSParseActionTypeAccept, - TSParseActionTypeRecover, - } TSParseActionType; - - typedef union - { - struct - { - uint8_t type; - TSStateId state; - bool extra; - bool repetition; - } shift; - struct - { - uint8_t type; - uint8_t child_count; - TSSymbol symbol; - int16_t dynamic_precedence; - uint16_t production_id; - } reduce; +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +typedef struct { + uint16_t index; + uint16_t length; +} TSFieldMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { uint8_t type; - } TSParseAction; - - typedef struct - { - uint16_t lex_state; - uint16_t external_lex_state; - } TSLexMode; - - typedef union - { - TSParseAction action; - struct - { - uint8_t count; - bool reusable; - } entry; - } TSParseActionEntry; - - struct TSLanguage - { - uint32_t version; - uint32_t symbol_count; - uint32_t alias_count; - uint32_t token_count; - uint32_t external_token_count; - uint32_t state_count; - uint32_t large_state_count; - uint32_t production_id_count; - uint32_t field_count; - uint16_t max_alias_sequence_length; - const uint16_t *parse_table; - const uint16_t *small_parse_table; - const uint32_t *small_parse_table_map; - const TSParseActionEntry *parse_actions; - const char *const *symbol_names; - const char *const *field_names; - const TSFieldMapSlice *field_map_slices; - const TSFieldMapEntry *field_map_entries; - const TSSymbolMetadata *symbol_metadata; - const TSSymbol *public_symbol_map; - const uint16_t *alias_map; - const TSSymbol *alias_sequences; - const TSLexMode *lex_modes; - bool (*lex_fn)(TSLexer *, TSStateId); - bool (*keyword_lex_fn)(TSLexer *, TSStateId); - TSSymbol keyword_capture_token; - struct - { - const bool *states; - const TSSymbol *symbol_map; - void *(*create)(void); - void (*destroy)(void *); - bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); - unsigned (*serialize)(void *, char *); - void (*deserialize)(void *, const char *, unsigned); - } external_scanner; - const TSStateId *primary_state_ids; - }; - - /* - * Lexer Macros - */ - -#define START_LEXER() \ - bool result = false; \ - bool skip = false; \ - bool eof = false; \ - int32_t lookahead; \ - goto start; \ - next_state: \ - lexer->advance(lexer, skip); \ - start: \ - skip = false; \ + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + +struct TSLanguage { + uint32_t version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSFieldMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; +}; + +static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + +/* + * Lexer Macros + */ + +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + UNUSED \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ lookahead = lexer->lookahead; #define ADVANCE(state_value) \ @@ -162,6 +177,17 @@ extern "C" goto next_state; \ } +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + #define SKIP(state_value) \ { \ skip = true; \ @@ -176,74 +202,64 @@ extern "C" #define END_STATE() return result; - /* - * Parse Table Macros - */ +/* + * Parse Table Macros + */ -#define SMALL_STATE(id) id - LARGE_STATE_COUNT +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) #define STATE(id) id #define ACTIONS(id) id -#define SHIFT(state_value) \ - { \ - { \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .state = state_value \ - } \ - } \ - } - -#define SHIFT_REPEAT(state_value) \ - { \ - { \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .state = state_value, \ - .repetition = true \ - } \ - } \ - } - -#define SHIFT_EXTRA() \ - { \ - { \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .extra = true \ - } \ - } \ - } - -#define REDUCE(symbol_val, child_count_val, ...) \ - { \ - { \ - .reduce = { \ - .type = TSParseActionTypeReduce, \ - .symbol = symbol_val, \ - .child_count = child_count_val, \ - __VA_ARGS__}, \ - } \ - } - -#define RECOVER() \ - { \ - { \ - .type = TSParseActionTypeRecover \ - } \ - } +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value) \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value), \ + .repetition = true \ + } \ + }} -#define ACCEPT_INPUT() \ - { \ - { \ - .type = TSParseActionTypeAccept \ +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ } \ - } + }} + +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} #ifdef __cplusplus } #endif -#endif // TREE_SITTER_PARSER_H_ +#endif // TREE_SITTER_PARSER_H_ diff --git a/pkg/scanner/ast/.snapshots/TestDisabledRules b/pkg/scanner/ast/.snapshots/TestDisabledRules index a25f33134..fc64dc274 100644 --- a/pkg/scanner/ast/.snapshots/TestDisabledRules +++ b/pkg/scanner/ast/.snapshots/TestDisabledRules @@ -97,76 +97,92 @@ children: - 5 - 6 - 7 - - type: call + - type: body_statement id: 11 - range: 6:4 - 6:9 + range: 6:4 - 7:9 + dataflow_sources: + - 12 + - 16 disabledrules: - 5 - 6 - 7 - 8 children: - - type: identifier + - type: call id: 12 - range: 6:4 - 6:5 - content: a - alias_of: - - 8 - disabledrules: - - 5 - - 6 - - 7 - - 8 - - type: '"."' - id: 13 - range: 6:5 - 6:6 - disabledrules: - - 5 - - 6 - - 7 - - 8 - - type: identifier - id: 14 - range: 6:6 - 6:9 - content: foo + range: 6:4 - 6:9 disabledrules: - 5 - 6 - 7 - 8 - - type: call - id: 15 - range: 7:4 - 7:9 - disabledrules: - - 5 - - 6 - - 7 - children: - - type: identifier + children: + - type: identifier + id: 13 + range: 6:4 - 6:5 + content: a + alias_of: + - 8 + disabledrules: + - 5 + - 6 + - 7 + - 8 + - type: '"."' + id: 14 + range: 6:5 - 6:6 + disabledrules: + - 5 + - 6 + - 7 + - 8 + - type: identifier + id: 15 + range: 6:6 - 6:9 + content: foo + disabledrules: + - 5 + - 6 + - 7 + - 8 + - type: call id: 16 - range: 7:4 - 7:5 - content: b - disabledrules: - - 5 - - 6 - - 7 - - type: '"."' - id: 17 - range: 7:5 - 7:6 - disabledrules: - - 5 - - 6 - - 7 - - type: identifier - id: 18 - range: 7:6 - 7:9 - content: bar + range: 7:4 - 7:9 disabledrules: - 5 - 6 - 7 + - 8 + children: + - type: identifier + id: 17 + range: 7:4 - 7:5 + content: b + disabledrules: + - 5 + - 6 + - 7 + - 8 + - type: '"."' + id: 18 + range: 7:5 - 7:6 + disabledrules: + - 5 + - 6 + - 7 + - 8 + - type: identifier + id: 19 + range: 7:6 - 7:9 + content: bar + disabledrules: + - 5 + - 6 + - 7 + - 8 - type: '"end"' - id: 19 + id: 20 range: 8:3 - 8:6 disabledrules: - 5 diff --git a/pkg/scanner/ast/.snapshots/TestExpectedRulesJava b/pkg/scanner/ast/.snapshots/TestExpectedRulesJava index 12a25f942..b0479c921 100644 --- a/pkg/scanner/ast/.snapshots/TestExpectedRulesJava +++ b/pkg/scanner/ast/.snapshots/TestExpectedRulesJava @@ -9,17 +9,10 @@ id: 0 range: 2:3 - 15:2 dataflow_sources: - 1 - - 8 - - 15 children: - - type: local_variable_declaration + - type: method_declaration id: 1 - range: 2:3 - 2:20 - dataflow_sources: - - 2 - - 4 - - 5 - - 7 + range: 2:3 - 14:4 children: - type: modifiers id: 2 @@ -34,624 +27,637 @@ children: id: 4 range: 2:10 - 2:16 content: String - - type: variable_declarator + - type: identifier id: 5 range: 2:17 - 2:20 - children: - - type: identifier - id: 6 - range: 2:17 - 2:20 - content: bad - alias_of: - - 1 - - type: '";"' - id: 7 - range: 2:20 - 2:20 - - type: ERROR - id: 8 - range: 2:20 - 2:33 - dataflow_sources: - - 9 - children: + content: bad - type: formal_parameters - id: 9 + id: 6 range: 2:20 - 2:33 dataflow_sources: - - 10 + - 7 + - 8 - 11 - - 14 children: - type: '"("' - id: 10 + id: 7 range: 2:20 - 2:21 - type: formal_parameter - id: 11 + id: 8 range: 2:21 - 2:32 alias_of: - - 13 + - 10 children: - type: type_identifier - id: 12 + id: 9 range: 2:21 - 2:27 content: String - type: identifier - id: 13 + id: 10 range: 2:28 - 2:32 content: text - type: '")"' - id: 14 + id: 11 range: 2:32 - 2:33 - - type: block - id: 15 - range: 2:34 - 14:4 - children: - - type: '"{"' - id: 16 - range: 2:34 - 2:35 - - type: local_variable_declaration - id: 17 - range: 3:4 - 3:60 - dataflow_sources: - - 18 - - 19 - - 30 + - type: block + id: 12 + range: 2:34 - 14:4 children: - - type: type_identifier - id: 18 - range: 3:4 - 3:17 - content: MessageDigest - - type: variable_declarator - id: 19 - range: 3:18 - 3:59 + - type: '"{"' + id: 13 + range: 2:34 - 2:35 + - type: local_variable_declaration + id: 14 + range: 3:4 - 3:60 + dataflow_sources: + - 15 + - 16 + - 30 children: - - type: identifier - id: 20 - range: 3:18 - 3:20 - content: md - alias_of: - - 17 - - 22 - - type: '"="' - id: 21 - range: 3:21 - 3:22 - - type: method_invocation - id: 22 - range: 3:23 - 3:59 - dataflow_sources: - - 26 + - type: type_identifier + id: 15 + range: 3:4 - 3:17 + content: MessageDigest + - type: variable_declarator + id: 16 + range: 3:18 - 3:59 children: - type: identifier - id: 23 - range: 3:23 - 3:36 - content: MessageDigest - - type: '"."' - id: 24 - range: 3:36 - 3:37 - - type: identifier - id: 25 - range: 3:37 - 3:48 - content: getInstance - - type: argument_list - id: 26 - range: 3:48 - 3:59 + id: 17 + range: 3:18 - 3:20 + content: md + alias_of: + - 14 + - 19 + - type: '"="' + id: 18 + range: 3:21 - 3:22 + - type: method_invocation + id: 19 + range: 3:23 - 3:59 dataflow_sources: - - 27 - - 28 - - 29 + - 23 children: - - type: '"("' - id: 27 - range: 3:48 - 3:49 - - type: string_literal - id: 28 - range: 3:49 - 3:58 - content: '"SHA-256"' - - type: '")"' - id: 29 - range: 3:58 - 3:59 - - type: '";"' - id: 30 - range: 3:59 - 3:60 - - type: local_variable_declaration - id: 31 - range: 4:4 - 4:59 - dataflow_sources: - - 32 - - 38 - - 56 - children: - - type: array_type - id: 32 - range: 4:4 - 4:10 + - type: identifier + id: 20 + range: 3:23 - 3:36 + content: MessageDigest + - type: '"."' + id: 21 + range: 3:36 - 3:37 + - type: identifier + id: 22 + range: 3:37 - 3:48 + content: getInstance + - type: argument_list + id: 23 + range: 3:48 - 3:59 + dataflow_sources: + - 24 + - 25 + - 29 + children: + - type: '"("' + id: 24 + range: 3:48 - 3:49 + - type: string_literal + id: 25 + range: 3:49 - 3:58 + dataflow_sources: + - 26 + - 27 + - 28 + children: + - type: '"""' + id: 26 + range: 3:49 - 3:50 + - type: string_fragment + id: 27 + range: 3:50 - 3:57 + content: SHA-256 + - type: '"""' + id: 28 + range: 3:57 - 3:58 + - type: '")"' + id: 29 + range: 3:58 - 3:59 + - type: '";"' + id: 30 + range: 3:59 - 3:60 + - type: local_variable_declaration + id: 31 + range: 4:4 - 4:59 dataflow_sources: - - 33 - - 35 + - 32 + - 38 + - 59 children: - - type: integral_type - id: 33 - range: 4:4 - 4:8 + - type: array_type + id: 32 + range: 4:4 - 4:10 dataflow_sources: - - 34 + - 33 + - 35 children: - - type: '"byte"' - id: 34 + - type: integral_type + id: 33 range: 4:4 - 4:8 - - type: dimensions - id: 35 - range: 4:8 - 4:10 - dataflow_sources: - - 36 - - 37 - children: - - type: '"["' - id: 36 - range: 4:8 - 4:9 - - type: '"]"' - id: 37 - range: 4:9 - 4:10 - - type: variable_declarator - id: 38 - range: 4:11 - 4:58 - children: - - type: identifier - id: 39 - range: 4:11 - 4:22 - content: resultBytes - alias_of: - - 31 - - 41 - - type: '"="' - id: 40 - range: 4:23 - 4:24 - - type: method_invocation - id: 41 - range: 4:25 - 4:58 - dataflow_sources: - - 45 + dataflow_sources: + - 34 + children: + - type: '"byte"' + id: 34 + range: 4:4 - 4:8 + - type: dimensions + id: 35 + range: 4:8 - 4:10 + dataflow_sources: + - 36 + - 37 + children: + - type: '"["' + id: 36 + range: 4:8 - 4:9 + - type: '"]"' + id: 37 + range: 4:9 - 4:10 + - type: variable_declarator + id: 38 + range: 4:11 - 4:58 children: - type: identifier - id: 42 - range: 4:25 - 4:27 - content: md + id: 39 + range: 4:11 - 4:22 + content: resultBytes alias_of: - - 20 - - type: '"."' - id: 43 - range: 4:27 - 4:28 - - type: identifier - id: 44 - range: 4:28 - 4:34 - content: digest - - type: argument_list - id: 45 - range: 4:34 - 4:58 + - 31 + - 41 + - type: '"="' + id: 40 + range: 4:23 - 4:24 + - type: method_invocation + id: 41 + range: 4:25 - 4:58 dataflow_sources: - - 46 - - 47 - - 55 + - 45 children: - - type: '"("' - id: 46 - range: 4:34 - 4:35 - - type: method_invocation - id: 47 - range: 4:35 - 4:57 + - type: identifier + id: 42 + range: 4:25 - 4:27 + content: md + alias_of: + - 17 + - type: '"."' + id: 43 + range: 4:27 - 4:28 + - type: identifier + id: 44 + range: 4:28 - 4:34 + content: digest + - type: argument_list + id: 45 + range: 4:34 - 4:58 dataflow_sources: - - 48 - - 51 + - 46 + - 47 + - 58 children: - - type: identifier - id: 48 - range: 4:35 - 4:39 - content: text - alias_of: - - 13 - - type: '"."' - id: 49 - range: 4:39 - 4:40 - - type: identifier - id: 50 - range: 4:40 - 4:48 - content: getBytes - - type: argument_list - id: 51 - range: 4:48 - 4:57 + - type: '"("' + id: 46 + range: 4:34 - 4:35 + - type: method_invocation + id: 47 + range: 4:35 - 4:57 dataflow_sources: - - 52 - - 53 - - 54 + - 48 + - 51 children: - - type: '"("' - id: 52 - range: 4:48 - 4:49 - - type: string_literal - id: 53 - range: 4:49 - 4:56 - content: '"UTF-8"' - - type: '")"' - id: 54 - range: 4:56 - 4:57 - - type: '")"' - id: 55 - range: 4:57 - 4:58 - - type: '";"' - id: 56 - range: 4:58 - 4:59 - - type: local_variable_declaration - id: 57 - range: 6:4 - 6:54 - dataflow_sources: - - 58 - - 59 - - 68 - children: - - type: type_identifier - id: 58 - range: 6:4 - 6:17 - content: StringBuilder - - type: variable_declarator - id: 59 - range: 6:18 - 6:53 + - type: identifier + id: 48 + range: 4:35 - 4:39 + content: text + alias_of: + - 10 + - type: '"."' + id: 49 + range: 4:39 - 4:40 + - type: identifier + id: 50 + range: 4:40 - 4:48 + content: getBytes + - type: argument_list + id: 51 + range: 4:48 - 4:57 + dataflow_sources: + - 52 + - 53 + - 57 + children: + - type: '"("' + id: 52 + range: 4:48 - 4:49 + - type: string_literal + id: 53 + range: 4:49 - 4:56 + dataflow_sources: + - 54 + - 55 + - 56 + children: + - type: '"""' + id: 54 + range: 4:49 - 4:50 + - type: string_fragment + id: 55 + range: 4:50 - 4:55 + content: UTF-8 + - type: '"""' + id: 56 + range: 4:55 - 4:56 + - type: '")"' + id: 57 + range: 4:56 - 4:57 + - type: '")"' + id: 58 + range: 4:57 - 4:58 + - type: '";"' + id: 59 + range: 4:58 - 4:59 + - type: local_variable_declaration + id: 60 + range: 6:4 - 6:54 + dataflow_sources: + - 61 + - 62 + - 71 children: - - type: identifier - id: 60 - range: 6:18 - 6:31 - content: stringBuilder - alias_of: - - 57 - - 62 - - type: '"="' + - type: type_identifier id: 61 - range: 6:32 - 6:33 - - type: object_creation_expression + range: 6:4 - 6:17 + content: StringBuilder + - type: variable_declarator id: 62 - range: 6:34 - 6:53 - dataflow_sources: - - 63 - - 64 - - 65 + range: 6:18 - 6:53 children: - - type: '"new"' + - type: identifier id: 63 - range: 6:34 - 6:37 - - type: type_identifier + range: 6:18 - 6:31 + content: stringBuilder + alias_of: + - 60 + - 65 + - type: '"="' id: 64 - range: 6:38 - 6:51 - content: StringBuilder - - type: argument_list + range: 6:32 - 6:33 + - type: object_creation_expression id: 65 - range: 6:51 - 6:53 + range: 6:34 - 6:53 dataflow_sources: - 66 - 67 + - 68 children: - - type: '"("' + - type: '"new"' id: 66 - range: 6:51 - 6:52 - - type: '")"' + range: 6:34 - 6:37 + - type: type_identifier id: 67 - range: 6:52 - 6:53 - - type: '";"' - id: 68 - range: 6:53 - 6:54 - - type: for_statement - id: 69 - range: 7:4 - 11:5 - children: - - type: '"for"' - id: 70 - range: 7:4 - 7:7 - - type: '"("' - id: 71 - range: 7:8 - 7:9 - - type: local_variable_declaration + range: 6:38 - 6:51 + content: StringBuilder + - type: argument_list + id: 68 + range: 6:51 - 6:53 + dataflow_sources: + - 69 + - 70 + children: + - type: '"("' + id: 69 + range: 6:51 - 6:52 + - type: '")"' + id: 70 + range: 6:52 - 6:53 + - type: '";"' + id: 71 + range: 6:53 - 6:54 + - type: for_statement id: 72 - range: 7:9 - 7:59 - dataflow_sources: - - 73 - - 75 - - 79 - - 80 - - 87 + range: 7:4 - 11:5 children: - - type: integral_type + - type: '"for"' id: 73 - range: 7:9 - 7:12 - dataflow_sources: - - 74 - children: - - type: '"int"' - id: 74 - range: 7:9 - 7:12 - - type: variable_declarator + range: 7:4 - 7:7 + - type: '"("' + id: 74 + range: 7:8 - 7:9 + - type: local_variable_declaration id: 75 - range: 7:13 - 7:18 + range: 7:9 - 7:59 + dataflow_sources: + - 76 + - 78 + - 82 + - 83 + - 90 children: - - type: identifier + - type: integral_type id: 76 - range: 7:13 - 7:14 - content: i - alias_of: - - 72 - - 78 - - type: '"="' - id: 77 - range: 7:15 - 7:16 - - type: decimal_integer_literal + range: 7:9 - 7:12 + dataflow_sources: + - 77 + children: + - type: '"int"' + id: 77 + range: 7:9 - 7:12 + - type: variable_declarator id: 78 - range: 7:17 - 7:18 - content: "0" - - type: '","' - id: 79 - range: 7:18 - 7:19 - - type: variable_declarator - id: 80 - range: 7:20 - 7:58 - children: - - type: identifier - id: 81 - range: 7:20 - 7:37 - content: resultBytesLength - alias_of: - - 72 - - 83 - - type: '"="' + range: 7:13 - 7:18 + children: + - type: identifier + id: 79 + range: 7:13 - 7:14 + content: i + alias_of: + - 75 + - 81 + - type: '"="' + id: 80 + range: 7:15 - 7:16 + - type: decimal_integer_literal + id: 81 + range: 7:17 - 7:18 + content: "0" + - type: '","' id: 82 - range: 7:38 - 7:39 - - type: field_access + range: 7:18 - 7:19 + - type: variable_declarator id: 83 - range: 7:40 - 7:58 + range: 7:20 - 7:58 children: - type: identifier id: 84 - range: 7:40 - 7:51 - content: resultBytes + range: 7:20 - 7:37 + content: resultBytesLength alias_of: - - 39 - - type: '"."' + - 75 + - 86 + - type: '"="' id: 85 - range: 7:51 - 7:52 - - type: identifier + range: 7:38 - 7:39 + - type: field_access id: 86 - range: 7:52 - 7:58 - content: length - - type: '";"' - id: 87 - range: 7:58 - 7:59 - - type: binary_expression - id: 88 - range: 7:60 - 7:81 - dataflow_sources: - - 89 - - 90 - - 91 - children: - - type: identifier - id: 89 - range: 7:60 - 7:61 - content: i - alias_of: - - 76 - - type: '"<"' - id: 90 - range: 7:62 - 7:63 - - type: identifier + range: 7:40 - 7:58 + children: + - type: identifier + id: 87 + range: 7:40 - 7:51 + content: resultBytes + alias_of: + - 39 + - type: '"."' + id: 88 + range: 7:51 - 7:52 + - type: identifier + id: 89 + range: 7:52 - 7:58 + content: length + - type: '";"' + id: 90 + range: 7:58 - 7:59 + - type: binary_expression id: 91 - range: 7:64 - 7:81 - content: resultBytesLength - alias_of: - - 81 - - type: '";"' - id: 92 - range: 7:81 - 7:82 - - type: update_expression - id: 93 - range: 7:83 - 7:86 - dataflow_sources: - - 94 - - 95 - children: - - type: identifier - id: 94 - range: 7:83 - 7:84 - content: i - - type: '"++"' + range: 7:60 - 7:81 + dataflow_sources: + - 92 + - 93 + - 94 + children: + - type: identifier + id: 92 + range: 7:60 - 7:61 + content: i + alias_of: + - 79 + - type: '"<"' + id: 93 + range: 7:62 - 7:63 + - type: identifier + id: 94 + range: 7:64 - 7:81 + content: resultBytesLength + alias_of: + - 84 + - type: '";"' id: 95 - range: 7:84 - 7:86 - - type: '")"' - id: 96 - range: 7:86 - 7:87 - - type: block - id: 97 - range: 7:88 - 11:5 - children: - - type: '"{"' - id: 98 - range: 7:88 - 7:89 - - type: local_variable_declaration - id: 99 - range: 8:6 - 8:30 + range: 7:81 - 7:82 + - type: update_expression + id: 96 + range: 7:83 - 7:86 dataflow_sources: - - 100 - - 102 - - 110 + - 97 + - 98 children: - - type: integral_type - id: 100 - range: 8:6 - 8:10 - dataflow_sources: - - 101 - children: - - type: '"byte"' - id: 101 - range: 8:6 - 8:10 - - type: variable_declarator + - type: identifier + id: 97 + range: 7:83 - 7:84 + content: i + - type: '"++"' + id: 98 + range: 7:84 - 7:86 + - type: '")"' + id: 99 + range: 7:86 - 7:87 + - type: block + id: 100 + range: 7:88 - 11:5 + children: + - type: '"{"' + id: 101 + range: 7:88 - 7:89 + - type: local_variable_declaration id: 102 - range: 8:11 - 8:29 + range: 8:6 - 8:30 + dataflow_sources: + - 103 + - 105 + - 113 children: - - type: identifier + - type: integral_type id: 103 - range: 8:11 - 8:12 - content: b - alias_of: - - 99 - - 105 - - type: '"="' - id: 104 - range: 8:13 - 8:14 - - type: array_access - id: 105 - range: 8:15 - 8:29 + range: 8:6 - 8:10 dataflow_sources: - - 106 - - 107 - - 108 - - 109 + - 104 + children: + - type: '"byte"' + id: 104 + range: 8:6 - 8:10 + - type: variable_declarator + id: 105 + range: 8:11 - 8:29 children: - type: identifier id: 106 - range: 8:15 - 8:26 - content: resultBytes + range: 8:11 - 8:12 + content: b alias_of: - - 39 - - type: '"["' + - 102 + - 108 + - type: '"="' id: 107 - range: 8:26 - 8:27 - - type: identifier + range: 8:13 - 8:14 + - type: array_access id: 108 - range: 8:27 - 8:28 - content: i - alias_of: - - 76 - - type: '"]"' - id: 109 - range: 8:28 - 8:29 - - type: '";"' - id: 110 - range: 8:29 - 8:30 - - type: line_comment - id: 111 - range: 9:6 - 9:30 - content: // bearer:expected rule1 - - type: local_variable_declaration - id: 112 - range: 10:6 - 10:45 - dataflow_sources: - - 113 - - 114 - - 125 - expectedrules: - - rule1 - children: - - type: type_identifier - id: 113 - range: 10:6 - 10:12 - content: String - - type: variable_declarator + range: 8:15 - 8:29 + dataflow_sources: + - 109 + - 110 + - 111 + - 112 + children: + - type: identifier + id: 109 + range: 8:15 - 8:26 + content: resultBytes + alias_of: + - 39 + - type: '"["' + id: 110 + range: 8:26 - 8:27 + - type: identifier + id: 111 + range: 8:27 - 8:28 + content: i + alias_of: + - 79 + - type: '"]"' + id: 112 + range: 8:28 - 8:29 + - type: '";"' + id: 113 + range: 8:29 - 8:30 + - type: line_comment id: 114 - range: 10:13 - 10:44 + range: 9:6 - 9:30 + content: // bearer:expected rule1 + - type: local_variable_declaration + id: 115 + range: 10:6 - 10:45 + dataflow_sources: + - 116 + - 117 + - 128 + expectedrules: + - rule1 children: - - type: identifier - id: 115 - range: 10:13 - 10:19 - content: badHex - alias_of: - - 112 - - 117 - - type: '"="' + - type: type_identifier id: 116 - range: 10:20 - 10:21 - - type: method_invocation + range: 10:6 - 10:12 + content: String + - type: variable_declarator id: 117 - range: 10:22 - 10:44 - dataflow_sources: - - 121 + range: 10:13 - 10:44 children: - type: identifier id: 118 - range: 10:22 - 10:29 - content: Integer - - type: '"."' + range: 10:13 - 10:19 + content: badHex + alias_of: + - 115 + - 120 + - type: '"="' id: 119 - range: 10:29 - 10:30 - - type: identifier + range: 10:20 - 10:21 + - type: method_invocation id: 120 - range: 10:30 - 10:41 - content: toHexString - - type: argument_list - id: 121 - range: 10:41 - 10:44 + range: 10:22 - 10:44 dataflow_sources: - - 122 - - 123 - 124 children: - - type: '"("' + - type: identifier + id: 121 + range: 10:22 - 10:29 + content: Integer + - type: '"."' id: 122 - range: 10:41 - 10:42 + range: 10:29 - 10:30 - type: identifier id: 123 - range: 10:42 - 10:43 - content: b - alias_of: - - 103 - - type: '")"' + range: 10:30 - 10:41 + content: toHexString + - type: argument_list id: 124 - range: 10:43 - 10:44 - - type: '";"' - id: 125 - range: 10:44 - 10:45 - - type: '"}"' - id: 126 - range: 11:4 - 11:5 - - type: return_statement - id: 127 - range: 13:4 - 13:36 - dataflow_sources: - - 128 - - 129 - - 136 - children: - - type: '"return"' - id: 128 - range: 13:4 - 13:10 - - type: method_invocation - id: 129 - range: 13:11 - 13:35 + range: 10:41 - 10:44 + dataflow_sources: + - 125 + - 126 + - 127 + children: + - type: '"("' + id: 125 + range: 10:41 - 10:42 + - type: identifier + id: 126 + range: 10:42 - 10:43 + content: b + alias_of: + - 106 + - type: '")"' + id: 127 + range: 10:43 - 10:44 + - type: '";"' + id: 128 + range: 10:44 - 10:45 + - type: '"}"' + id: 129 + range: 11:4 - 11:5 + - type: return_statement + id: 130 + range: 13:4 - 13:36 dataflow_sources: - - 130 - - 133 + - 131 + - 132 + - 139 children: - - type: identifier - id: 130 - range: 13:11 - 13:24 - content: stringBuilder - alias_of: - - 60 - - type: '"."' + - type: '"return"' id: 131 - range: 13:24 - 13:25 - - type: identifier + range: 13:4 - 13:10 + - type: method_invocation id: 132 - range: 13:25 - 13:33 - content: toString - - type: argument_list - id: 133 - range: 13:33 - 13:35 + range: 13:11 - 13:35 dataflow_sources: - - 134 - - 135 + - 133 + - 136 children: - - type: '"("' + - type: identifier + id: 133 + range: 13:11 - 13:24 + content: stringBuilder + alias_of: + - 63 + - type: '"."' id: 134 - range: 13:33 - 13:34 - - type: '")"' + range: 13:24 - 13:25 + - type: identifier id: 135 - range: 13:34 - 13:35 - - type: '";"' - id: 136 - range: 13:35 - 13:36 - - type: '"}"' - id: 137 - range: 14:3 - 14:4 + range: 13:25 - 13:33 + content: toString + - type: argument_list + id: 136 + range: 13:33 - 13:35 + dataflow_sources: + - 137 + - 138 + children: + - type: '"("' + id: 137 + range: 13:33 - 13:34 + - type: '")"' + id: 138 + range: 13:34 - 13:35 + - type: '";"' + id: 139 + range: 13:35 - 13:36 + - type: '"}"' + id: 140 + range: 14:3 - 14:4 diff --git a/pkg/scanner/ast/.snapshots/TestExpectedRulesRuby b/pkg/scanner/ast/.snapshots/TestExpectedRulesRuby index eb5c1c998..455c62370 100644 --- a/pkg/scanner/ast/.snapshots/TestExpectedRulesRuby +++ b/pkg/scanner/ast/.snapshots/TestExpectedRulesRuby @@ -46,22 +46,28 @@ children: - type: '")"' id: 8 range: 3:10 - 3:11 - - type: call + - type: body_statement id: 9 range: 4:4 - 4:9 + dataflow_sources: + - 10 children: - - type: identifier + - type: call id: 10 - range: 4:4 - 4:5 - content: b - - type: '"."' - id: 11 - range: 4:5 - 4:6 - - type: identifier - id: 12 - range: 4:6 - 4:9 - content: bar + range: 4:4 - 4:9 + children: + - type: identifier + id: 11 + range: 4:4 - 4:5 + content: b + - type: '"."' + id: 12 + range: 4:5 - 4:6 + - type: identifier + id: 13 + range: 4:6 - 4:9 + content: bar - type: '"end"' - id: 13 + id: 14 range: 5:3 - 5:6 diff --git a/pkg/scanner/ast/query/query.go b/pkg/scanner/ast/query/query.go index 14f8600c6..5866bdbfa 100644 --- a/pkg/scanner/ast/query/query.go +++ b/pkg/scanner/ast/query/query.go @@ -3,6 +3,7 @@ package query import ( "context" "errors" + "fmt" "strings" "github.com/rs/zerolog/log" @@ -119,7 +120,7 @@ func (querySet *Set) Compile() error { sitterQuery, err := sitter.NewQuery([]byte(s.String()), querySet.sitterLanguage) if err != nil { - return err + return fmt.Errorf("%w\n\n%s", err, s.String()) } querySet.sitterQuery = sitterQuery diff --git a/pkg/scanner/ast/tree/.snapshots/TestTree b/pkg/scanner/ast/tree/.snapshots/TestTree index a72615024..751d54d40 100644 --- a/pkg/scanner/ast/tree/.snapshots/TestTree +++ b/pkg/scanner/ast/tree/.snapshots/TestTree @@ -27,22 +27,26 @@ children: - type: '")"' id: 7 range: 2:10 - 2:11 - - type: call + - type: body_statement id: 8 range: 3:4 - 3:9 children: - - type: identifier + - type: call id: 9 - range: 3:4 - 3:5 - content: a - - type: '"."' - id: 10 - range: 3:5 - 3:6 - - type: identifier - id: 11 - range: 3:6 - 3:9 - content: foo + range: 3:4 - 3:9 + children: + - type: identifier + id: 10 + range: 3:4 - 3:5 + content: a + - type: '"."' + id: 11 + range: 3:5 - 3:6 + - type: identifier + id: 12 + range: 3:6 - 3:9 + content: foo - type: '"end"' - id: 12 + id: 13 range: 4:3 - 4:6 diff --git a/pkg/scanner/detectors/.snapshots/TestDatatypeDetectorInvalidDetection-datatype b/pkg/scanner/detectors/.snapshots/TestDatatypeDetectorInvalidDetection-datatype index 42d354f3a..0eae37dc5 100644 --- a/pkg/scanner/detectors/.snapshots/TestDatatypeDetectorInvalidDetection-datatype +++ b/pkg/scanner/detectors/.snapshots/TestDatatypeDetectorInvalidDetection-datatype @@ -27,8 +27,7 @@ children: - 5 - 6 - 7 - - 8 - - 63 + - 65 children: - type: '"class"' id: 5 @@ -37,268 +36,284 @@ children: id: 6 range: 1:14 - 1:31 content: HashingAssignment - - type: '";"' + - type: body_statement id: 7 - range: 1:31 - 1:31 - - type: call - id: 8 range: 1:32 - 5:2 dataflow_sources: - - 10 + - 8 children: - - type: identifier - id: 9 - range: 1:32 - 1:39 - content: extends - - type: argument_list - id: 10 - range: 1:40 - 5:2 + - type: call + id: 8 + range: 1:32 - 5:2 dataflow_sources: - - 11 + - 10 children: - - type: call - id: 11 + - type: identifier + id: 9 + range: 1:32 - 1:39 + content: extends + - type: argument_list + id: 10 range: 1:40 - 5:2 + dataflow_sources: + - 11 children: - - type: constant - id: 12 - range: 1:40 - 1:58 - content: AssignmentEndpoint - - type: block - id: 13 - range: 1:59 - 5:2 + - type: call + id: 11 + range: 1:40 - 5:2 children: - - type: '"{"' - id: 14 - range: 1:59 - 1:60 - - type: call - id: 15 - range: 2:3 - 4:4 - dataflow_sources: - - 17 + - type: constant + id: 12 + range: 1:40 - 1:58 + content: AssignmentEndpoint + - type: block + id: 13 + range: 1:59 - 5:2 children: - - type: identifier - id: 16 - range: 2:3 - 2:9 - content: public - - type: argument_list - id: 17 - range: 2:10 - 4:4 + - type: '"{"' + id: 14 + range: 1:59 - 1:60 + - type: block_body + id: 15 + range: 2:3 - 4:4 dataflow_sources: - - 18 + - 16 children: - type: call - id: 18 - range: 2:10 - 4:4 + id: 16 + range: 2:3 - 4:4 dataflow_sources: - - 20 + - 18 children: - - type: constant - id: 19 - range: 2:10 - 2:16 - content: String + - type: identifier + id: 17 + range: 2:3 - 2:9 + content: public - type: argument_list - id: 20 - range: 2:17 - 4:4 + id: 18 + range: 2:10 - 4:4 dataflow_sources: - - 21 + - 19 children: - type: call - id: 21 - range: 2:17 - 4:4 + id: 19 + range: 2:10 - 4:4 dataflow_sources: - - 23 + - 21 children: - - type: identifier - id: 22 - range: 2:17 - 2:23 - content: getMd5 + - type: constant + id: 20 + range: 2:10 - 2:16 + content: String - type: argument_list - id: 23 - range: 2:23 - 2:51 + id: 21 + range: 2:17 - 4:4 dataflow_sources: - - 24 - - 25 - - 29 + - 22 children: - - type: '"("' - id: 24 - range: 2:23 - 2:24 - type: call - id: 25 - range: 2:24 - 2:50 + id: 22 + range: 2:17 - 4:4 dataflow_sources: - - 27 + - 24 children: - - type: constant - id: 26 - range: 2:24 - 2:42 - content: HttpServletRequest + - type: identifier + id: 23 + range: 2:17 - 2:23 + content: getMd5 - type: argument_list - id: 27 - range: 2:43 - 2:50 + id: 24 + range: 2:23 - 2:51 dataflow_sources: - - 28 + - 25 + - 26 + - 30 children: - - type: identifier - id: 28 - range: 2:43 - 2:50 - content: request - - type: '")"' - id: 29 - range: 2:50 - 2:51 - - type: block - id: 30 - range: 2:52 - 4:4 - children: - - type: '"{"' - id: 31 - range: 2:52 - 2:53 - - type: call - id: 32 - range: 3:5 - 3:66 - dataflow_sources: - - 34 - children: - - type: constant - id: 33 - range: 3:5 - 3:11 - content: String - - type: argument_list - id: 34 - range: 3:12 - 3:66 - dataflow_sources: - - 35 + - type: '"("' + id: 25 + range: 2:23 - 2:24 + - type: call + id: 26 + range: 2:24 - 2:50 + dataflow_sources: + - 28 + children: + - type: constant + id: 27 + range: 2:24 - 2:42 + content: HttpServletRequest + - type: argument_list + id: 28 + range: 2:43 - 2:50 + dataflow_sources: + - 29 + children: + - type: identifier + id: 29 + range: 2:43 - 2:50 + content: request + - type: '")"' + id: 30 + range: 2:50 - 2:51 + - type: block + id: 31 + range: 2:52 - 4:4 children: - - type: assignment - id: 35 - range: 3:12 - 3:66 - alias_of: - - 38 - queries: - - 2 + - type: '"{"' + id: 32 + range: 2:52 - 2:53 + - type: block_body + id: 33 + range: 3:5 - 3:67 + dataflow_sources: + - 34 + - 62 children: - - type: identifier - id: 36 - range: 3:12 - 3:18 - content: secret - - type: '"="' - id: 37 - range: 3:19 - 3:20 - - type: element_reference - id: 38 - range: 3:21 - 3:66 + - type: call + id: 34 + range: 3:5 - 3:66 dataflow_sources: - - 39 - queries: - - 5 + - 36 children: - type: constant - id: 39 - range: 3:21 - 3:28 - content: SECRETS - - type: '"["' - id: 40 - range: 3:28 - 3:29 - - type: call - id: 41 - range: 3:29 - 3:65 + id: 35 + range: 3:5 - 3:11 + content: String + - type: argument_list + id: 36 + range: 3:12 - 3:66 dataflow_sources: - - 43 + - 37 children: - - type: identifier - id: 42 - range: 3:29 - 3:32 - content: new - - type: argument_list - id: 43 - range: 3:33 - 3:65 - dataflow_sources: - - 44 + - type: assignment + id: 37 + range: 3:12 - 3:66 + alias_of: + - 40 + queries: + - 2 children: - - type: call - id: 44 - range: 3:33 - 3:65 + - type: identifier + id: 38 + range: 3:12 - 3:18 + content: secret + - type: '"="' + id: 39 + range: 3:19 - 3:20 + - type: element_reference + id: 40 + range: 3:21 - 3:66 dataflow_sources: - - 52 + - 41 queries: - - 4 + - 5 children: + - type: constant + id: 41 + range: 3:21 - 3:28 + content: SECRETS + - type: '"["' + id: 42 + range: 3:28 - 3:29 - type: call - id: 45 - range: 3:33 - 3:41 + id: 43 + range: 3:29 - 3:65 dataflow_sources: - - 47 + - 45 children: - - type: constant - id: 46 - range: 3:33 - 3:39 - content: Random + - type: identifier + id: 44 + range: 3:29 - 3:32 + content: new - type: argument_list - id: 47 - range: 3:39 - 3:41 + id: 45 + range: 3:33 - 3:65 dataflow_sources: - - 48 - - 49 - children: - - type: '"("' - id: 48 - range: 3:39 - 3:40 - - type: '")"' - id: 49 - range: 3:40 - 3:41 - - type: '"."' - id: 50 - range: 3:41 - 3:42 - - type: identifier - id: 51 - range: 3:42 - 3:49 - content: nextInt - - type: argument_list - id: 52 - range: 3:49 - 3:65 - dataflow_sources: - - 53 - - 54 - - 58 - children: - - type: '"("' - id: 53 - range: 3:49 - 3:50 - - type: call - id: 54 - range: 3:50 - 3:64 - queries: - - 4 + - 46 children: - - type: constant - id: 55 - range: 3:50 - 3:57 - content: SECRETS - - type: '"."' - id: 56 - range: 3:57 - 3:58 - - type: identifier - id: 57 - range: 3:58 - 3:64 - content: length - - type: '")"' - id: 58 - range: 3:64 - 3:65 - - type: '"]"' - id: 59 - range: 3:65 - 3:66 - - type: '";"' - id: 60 - range: 3:66 - 3:67 - - type: '"}"' - id: 61 - range: 4:3 - 4:4 - - type: '"}"' - id: 62 - range: 5:1 - 5:2 + - type: call + id: 46 + range: 3:33 - 3:65 + dataflow_sources: + - 54 + queries: + - 4 + children: + - type: call + id: 47 + range: 3:33 - 3:41 + dataflow_sources: + - 49 + children: + - type: constant + id: 48 + range: 3:33 - 3:39 + content: Random + - type: argument_list + id: 49 + range: 3:39 - 3:41 + dataflow_sources: + - 50 + - 51 + children: + - type: '"("' + id: 50 + range: 3:39 - 3:40 + - type: '")"' + id: 51 + range: 3:40 - 3:41 + - type: '"."' + id: 52 + range: 3:41 - 3:42 + - type: identifier + id: 53 + range: 3:42 - 3:49 + content: nextInt + - type: argument_list + id: 54 + range: 3:49 - 3:65 + dataflow_sources: + - 55 + - 56 + - 60 + children: + - type: '"("' + id: 55 + range: 3:49 - 3:50 + - type: call + id: 56 + range: 3:50 - 3:64 + queries: + - 4 + children: + - type: constant + id: 57 + range: 3:50 - 3:57 + content: SECRETS + - type: '"."' + id: 58 + range: 3:57 - 3:58 + - type: identifier + id: 59 + range: 3:58 - 3:64 + content: length + - type: '")"' + id: 60 + range: 3:64 - 3:65 + - type: '"]"' + id: 61 + range: 3:65 - 3:66 + - type: '";"' + id: 62 + range: 3:66 - 3:67 + - type: '"}"' + id: 63 + range: 4:3 - 4:4 + - type: '"}"' + id: 64 + range: 5:1 - 5:2 - type: '"end"' - id: 63 + id: 65 range: 5:2 - 5:2 [] diff --git a/pkg/scanner/detectors/customrule/patternquery/builder/builder.go b/pkg/scanner/detectors/customrule/patternquery/builder/builder.go index 54dd96766..b1ac0ca48 100644 --- a/pkg/scanner/detectors/customrule/patternquery/builder/builder.go +++ b/pkg/scanner/detectors/customrule/patternquery/builder/builder.go @@ -199,7 +199,7 @@ func (builder *builder) build(rootNode *asttree.Node) (*Result, error) { builder.write("(") - if err := builder.compileNode(rootNode, true, false); err != nil { + if err := builder.compileNode(rootNode, true, false, ""); err != nil { return nil, err } @@ -217,7 +217,7 @@ func (builder *builder) build(rootNode *asttree.Node) (*Result, error) { }, nil } -func (builder *builder) compileNode(node *asttree.Node, isRoot bool, isLastChild bool) error { +func (builder *builder) compileNode(node *asttree.Node, isRoot bool, isLastChild bool, parentType string) error { if node.SitterNode().IsError() { return fmt.Errorf( "error parsing pattern at %d:%d: %s", @@ -239,8 +239,8 @@ func (builder *builder) compileNode(node *asttree.Node, isRoot bool, isLastChild } else if !node.IsNamed() { builder.compileAnonymousNode(node) } else if len(node.NamedChildren()) == 0 || builder.patternLanguage.IsLeaf(node) { - builder.compileLeafNode(node) - } else if err := builder.compileNodeWithChildren(node); err != nil { + builder.compileLeafNode(node, parentType) + } else if err := builder.compileNodeWithChildren(node, parentType); err != nil { return err } @@ -292,11 +292,11 @@ func (builder *builder) compileAnonymousNode(node *asttree.Node) { } // Leaves match their type and content -func (builder *builder) compileLeafNode(node *asttree.Node) { +func (builder *builder) compileLeafNode(node *asttree.Node, parentType string) { if !slices.Contains(builder.patternLanguage.LeafContentTypes(), node.Type()) { builder.write("[") - for _, nodeType := range builder.patternLanguage.NodeTypes(node) { + for _, nodeType := range builder.patternLanguage.NodeTypes(node, parentType) { builder.write(" (") builder.write(nodeType) builder.write(" )") @@ -312,7 +312,7 @@ func (builder *builder) compileLeafNode(node *asttree.Node) { builder.write("[") - for _, nodeType := range builder.patternLanguage.NodeTypes(node) { + for _, nodeType := range builder.patternLanguage.NodeTypes(node, parentType) { paramContent[nodeType] = builder.patternLanguage.TranslateContent( node.Type(), nodeType, node.Content(), @@ -328,7 +328,7 @@ func (builder *builder) compileLeafNode(node *asttree.Node) { } // Nodes with children match their type and child nodes -func (builder *builder) compileNodeWithChildren(node *asttree.Node) error { +func (builder *builder) compileNodeWithChildren(node *asttree.Node, parentType string) error { builder.write("[") var children []*asttree.Node @@ -340,14 +340,14 @@ func (builder *builder) compileNodeWithChildren(node *asttree.Node) error { lastNode := children[len(children)-1] - for _, nodeType := range builder.patternLanguage.NodeTypes(node) { + for _, nodeType := range builder.patternLanguage.NodeTypes(node, parentType) { builder.write("(") builder.write(nodeType) for _, child := range node.Children() { builder.write(" ") - if err := builder.compileNode(child, false, child == lastNode); err != nil { + if err := builder.compileNode(child, false, child == lastNode, nodeType); err != nil { return err } } diff --git a/pkg/scanner/language/pattern.go b/pkg/scanner/language/pattern.go index 78d84557b..c635ef184 100644 --- a/pkg/scanner/language/pattern.go +++ b/pkg/scanner/language/pattern.go @@ -72,7 +72,7 @@ type Pattern interface { // way they parse: // call(verify_mode: OpenSSL::SSL::VERIFY_NONE) // call(:verify_mode => OpenSSL::SSL::VERIFY_NONE) - NodeTypes(node *tree.Node) []string + NodeTypes(node *tree.Node, parentType string) []string // LeafContentTypes returns all the leaf node types which should be matched // on their content. eg. strings literals will match their literal values, function names, ... LeafContentTypes() []string