nokolexbor 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ext/nokolexbor/config.h +186 -0
- data/ext/nokolexbor/extconf.rb +131 -0
- data/ext/nokolexbor/libxml/HTMLparser.h +320 -0
- data/ext/nokolexbor/libxml/SAX2.h +173 -0
- data/ext/nokolexbor/libxml/chvalid.h +230 -0
- data/ext/nokolexbor/libxml/debugXML.h +217 -0
- data/ext/nokolexbor/libxml/dict.h +81 -0
- data/ext/nokolexbor/libxml/encoding.h +232 -0
- data/ext/nokolexbor/libxml/entities.h +153 -0
- data/ext/nokolexbor/libxml/globals.h +529 -0
- data/ext/nokolexbor/libxml/hash.h +236 -0
- data/ext/nokolexbor/libxml/list.h +137 -0
- data/ext/nokolexbor/libxml/parser.h +1264 -0
- data/ext/nokolexbor/libxml/parserInternals.h +641 -0
- data/ext/nokolexbor/libxml/pattern.h +100 -0
- data/ext/nokolexbor/libxml/threads.h +94 -0
- data/ext/nokolexbor/libxml/tree.h +1315 -0
- data/ext/nokolexbor/libxml/uri.h +94 -0
- data/ext/nokolexbor/libxml/valid.h +448 -0
- data/ext/nokolexbor/libxml/xmlIO.h +369 -0
- data/ext/nokolexbor/libxml/xmlautomata.h +146 -0
- data/ext/nokolexbor/libxml/xmlerror.h +919 -0
- data/ext/nokolexbor/libxml/xmlexports.h +79 -0
- data/ext/nokolexbor/libxml/xmlmemory.h +226 -0
- data/ext/nokolexbor/libxml/xmlregexp.h +222 -0
- data/ext/nokolexbor/libxml/xmlstring.h +140 -0
- data/ext/nokolexbor/libxml/xmlversion.h +526 -0
- data/ext/nokolexbor/libxml/xpath.h +575 -0
- data/ext/nokolexbor/libxml/xpathInternals.h +632 -0
- data/ext/nokolexbor/libxml/xpointer.h +137 -0
- data/ext/nokolexbor/libxml.h +76 -0
- data/ext/nokolexbor/memory.c +39 -0
- data/ext/nokolexbor/nl_document.c +51 -0
- data/ext/nokolexbor/nl_node.c +790 -0
- data/ext/nokolexbor/nl_node_set.c +368 -0
- data/ext/nokolexbor/nl_xpath_context.c +200 -0
- data/ext/nokolexbor/nokolexbor.c +63 -0
- data/ext/nokolexbor/nokolexbor.h +37 -0
- data/ext/nokolexbor/private/buf.h +70 -0
- data/ext/nokolexbor/private/dict.h +11 -0
- data/ext/nokolexbor/private/enc.h +17 -0
- data/ext/nokolexbor/private/error.h +21 -0
- data/ext/nokolexbor/private/globals.h +9 -0
- data/ext/nokolexbor/private/memory.h +9 -0
- data/ext/nokolexbor/private/parser.h +27 -0
- data/ext/nokolexbor/private/string.h +9 -0
- data/ext/nokolexbor/private/threads.h +50 -0
- data/ext/nokolexbor/private/tree.h +18 -0
- data/ext/nokolexbor/private/xpath.h +7 -0
- data/ext/nokolexbor/timsort.h +601 -0
- data/ext/nokolexbor/xml_SAX2.c +80 -0
- data/ext/nokolexbor/xml_buf.c +363 -0
- data/ext/nokolexbor/xml_chvalid.c +334 -0
- data/ext/nokolexbor/xml_dict.c +1264 -0
- data/ext/nokolexbor/xml_encoding.c +124 -0
- data/ext/nokolexbor/xml_error.c +134 -0
- data/ext/nokolexbor/xml_globals.c +1085 -0
- data/ext/nokolexbor/xml_hash.c +1141 -0
- data/ext/nokolexbor/xml_memory.c +203 -0
- data/ext/nokolexbor/xml_parser.c +127 -0
- data/ext/nokolexbor/xml_parserInternals.c +338 -0
- data/ext/nokolexbor/xml_pattern.c +2375 -0
- data/ext/nokolexbor/xml_string.c +1051 -0
- data/ext/nokolexbor/xml_threads.c +881 -0
- data/ext/nokolexbor/xml_tree.c +148 -0
- data/ext/nokolexbor/xml_xpath.c +14743 -0
- data/lib/nokolexbor/attribute.rb +18 -0
- data/lib/nokolexbor/document.rb +6 -0
- data/lib/nokolexbor/node.rb +264 -0
- data/lib/nokolexbor/node_set.rb +124 -0
- data/lib/nokolexbor/version.rb +5 -0
- data/lib/nokolexbor/xpath_context.rb +14 -0
- data/lib/nokolexbor.rb +17 -0
- data/patches/0001-lexbor-support-text-pseudo-element.patch +137 -0
- data/patches/0002-lexbor-match-id-class-case-sensitive.patch +22 -0
- data/patches/0003-lexbor-attach-template-content-to-self.patch +13 -0
- data/vendor/lexbor/CMakeLists.txt +331 -0
- data/vendor/lexbor/config.cmake +890 -0
- data/vendor/lexbor/feature.cmake +134 -0
- data/vendor/lexbor/source/lexbor/core/array.c +208 -0
- data/vendor/lexbor/source/lexbor/core/array.h +100 -0
- data/vendor/lexbor/source/lexbor/core/array_obj.c +216 -0
- data/vendor/lexbor/source/lexbor/core/array_obj.h +134 -0
- data/vendor/lexbor/source/lexbor/core/avl.c +442 -0
- data/vendor/lexbor/source/lexbor/core/avl.h +82 -0
- data/vendor/lexbor/source/lexbor/core/base.h +86 -0
- data/vendor/lexbor/source/lexbor/core/bst.c +468 -0
- data/vendor/lexbor/source/lexbor/core/bst.h +108 -0
- data/vendor/lexbor/source/lexbor/core/bst_map.c +238 -0
- data/vendor/lexbor/source/lexbor/core/bst_map.h +87 -0
- data/vendor/lexbor/source/lexbor/core/config.cmake +12 -0
- data/vendor/lexbor/source/lexbor/core/conv.c +203 -0
- data/vendor/lexbor/source/lexbor/core/conv.h +53 -0
- data/vendor/lexbor/source/lexbor/core/core.h +35 -0
- data/vendor/lexbor/source/lexbor/core/def.h +57 -0
- data/vendor/lexbor/source/lexbor/core/diyfp.c +153 -0
- data/vendor/lexbor/source/lexbor/core/diyfp.h +258 -0
- data/vendor/lexbor/source/lexbor/core/dobject.c +187 -0
- data/vendor/lexbor/source/lexbor/core/dobject.h +92 -0
- data/vendor/lexbor/source/lexbor/core/dtoa.c +404 -0
- data/vendor/lexbor/source/lexbor/core/dtoa.h +28 -0
- data/vendor/lexbor/source/lexbor/core/fs.h +60 -0
- data/vendor/lexbor/source/lexbor/core/hash.c +476 -0
- data/vendor/lexbor/source/lexbor/core/hash.h +218 -0
- data/vendor/lexbor/source/lexbor/core/in.c +267 -0
- data/vendor/lexbor/source/lexbor/core/in.h +172 -0
- data/vendor/lexbor/source/lexbor/core/lexbor.h +35 -0
- data/vendor/lexbor/source/lexbor/core/mem.c +228 -0
- data/vendor/lexbor/source/lexbor/core/mem.h +141 -0
- data/vendor/lexbor/source/lexbor/core/mraw.c +428 -0
- data/vendor/lexbor/source/lexbor/core/mraw.h +114 -0
- data/vendor/lexbor/source/lexbor/core/perf.h +45 -0
- data/vendor/lexbor/source/lexbor/core/plog.c +73 -0
- data/vendor/lexbor/source/lexbor/core/plog.h +102 -0
- data/vendor/lexbor/source/lexbor/core/print.c +168 -0
- data/vendor/lexbor/source/lexbor/core/print.h +39 -0
- data/vendor/lexbor/source/lexbor/core/sbst.h +59 -0
- data/vendor/lexbor/source/lexbor/core/serialize.c +27 -0
- data/vendor/lexbor/source/lexbor/core/serialize.h +32 -0
- data/vendor/lexbor/source/lexbor/core/shs.c +118 -0
- data/vendor/lexbor/source/lexbor/core/shs.h +82 -0
- data/vendor/lexbor/source/lexbor/core/str.c +617 -0
- data/vendor/lexbor/source/lexbor/core/str.h +247 -0
- data/vendor/lexbor/source/lexbor/core/str_res.h +369 -0
- data/vendor/lexbor/source/lexbor/core/strtod.c +326 -0
- data/vendor/lexbor/source/lexbor/core/strtod.h +28 -0
- data/vendor/lexbor/source/lexbor/core/types.h +39 -0
- data/vendor/lexbor/source/lexbor/core/utils.c +43 -0
- data/vendor/lexbor/source/lexbor/core/utils.h +36 -0
- data/vendor/lexbor/source/lexbor/css/base.h +44 -0
- data/vendor/lexbor/source/lexbor/css/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/css/css.h +25 -0
- data/vendor/lexbor/source/lexbor/css/log.c +336 -0
- data/vendor/lexbor/source/lexbor/css/log.h +103 -0
- data/vendor/lexbor/source/lexbor/css/node.h +29 -0
- data/vendor/lexbor/source/lexbor/css/parser.c +473 -0
- data/vendor/lexbor/source/lexbor/css/parser.h +368 -0
- data/vendor/lexbor/source/lexbor/css/selectors/base.h +48 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo.c +91 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo.h +66 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo_const.h +109 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo_res.h +302 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo_state.c +279 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo_state.h +85 -0
- data/vendor/lexbor/source/lexbor/css/selectors/selector.c +927 -0
- data/vendor/lexbor/source/lexbor/css/selectors/selector.h +200 -0
- data/vendor/lexbor/source/lexbor/css/selectors/selectors.c +340 -0
- data/vendor/lexbor/source/lexbor/css/selectors/selectors.h +137 -0
- data/vendor/lexbor/source/lexbor/css/selectors/state.c +1718 -0
- data/vendor/lexbor/source/lexbor/css/selectors/state.h +79 -0
- data/vendor/lexbor/source/lexbor/css/stylesheet.h +37 -0
- data/vendor/lexbor/source/lexbor/css/syntax/anb.c +443 -0
- data/vendor/lexbor/source/lexbor/css/syntax/anb.h +45 -0
- data/vendor/lexbor/source/lexbor/css/syntax/base.h +33 -0
- data/vendor/lexbor/source/lexbor/css/syntax/parser.c +9 -0
- data/vendor/lexbor/source/lexbor/css/syntax/parser.h +25 -0
- data/vendor/lexbor/source/lexbor/css/syntax/res.h +48 -0
- data/vendor/lexbor/source/lexbor/css/syntax/state.c +2603 -0
- data/vendor/lexbor/source/lexbor/css/syntax/state.h +140 -0
- data/vendor/lexbor/source/lexbor/css/syntax/state_res.h +273 -0
- data/vendor/lexbor/source/lexbor/css/syntax/syntax.c +67 -0
- data/vendor/lexbor/source/lexbor/css/syntax/token.c +618 -0
- data/vendor/lexbor/source/lexbor/css/syntax/token.h +298 -0
- data/vendor/lexbor/source/lexbor/css/syntax/token_res.h +68 -0
- data/vendor/lexbor/source/lexbor/css/syntax/tokenizer/error.c +30 -0
- data/vendor/lexbor/source/lexbor/css/syntax/tokenizer/error.h +58 -0
- data/vendor/lexbor/source/lexbor/css/syntax/tokenizer.c +278 -0
- data/vendor/lexbor/source/lexbor/css/syntax/tokenizer.h +121 -0
- data/vendor/lexbor/source/lexbor/dom/base.h +32 -0
- data/vendor/lexbor/source/lexbor/dom/collection.c +97 -0
- data/vendor/lexbor/source/lexbor/dom/collection.h +112 -0
- data/vendor/lexbor/source/lexbor/dom/config.cmake +3 -0
- data/vendor/lexbor/source/lexbor/dom/dom.h +29 -0
- data/vendor/lexbor/source/lexbor/dom/exception.c +18 -0
- data/vendor/lexbor/source/lexbor/dom/exception.h +73 -0
- data/vendor/lexbor/source/lexbor/dom/interface.c +110 -0
- data/vendor/lexbor/source/lexbor/dom/interface.h +88 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/attr.c +445 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/attr.h +152 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/attr_const.h +62 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/attr_res.h +143 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/cdata_section.c +55 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/cdata_section.h +38 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/character_data.c +110 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/character_data.h +51 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/comment.c +64 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/comment.h +42 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document.c +536 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document.h +243 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document_fragment.c +36 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document_fragment.h +36 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document_type.c +125 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document_type.h +108 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/element.c +1411 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/element.h +319 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/event_target.c +32 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/event_target.h +34 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/node.c +661 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/node.h +192 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/processing_instruction.c +87 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/processing_instruction.h +66 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/shadow_root.c +36 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/shadow_root.h +44 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/text.c +63 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/text.h +42 -0
- data/vendor/lexbor/source/lexbor/encoding/base.h +218 -0
- data/vendor/lexbor/source/lexbor/encoding/big5.c +42839 -0
- data/vendor/lexbor/source/lexbor/encoding/config.cmake +12 -0
- data/vendor/lexbor/source/lexbor/encoding/const.h +65 -0
- data/vendor/lexbor/source/lexbor/encoding/decode.c +3193 -0
- data/vendor/lexbor/source/lexbor/encoding/decode.h +370 -0
- data/vendor/lexbor/source/lexbor/encoding/encode.c +1931 -0
- data/vendor/lexbor/source/lexbor/encoding/encode.h +377 -0
- data/vendor/lexbor/source/lexbor/encoding/encoding.c +252 -0
- data/vendor/lexbor/source/lexbor/encoding/encoding.h +475 -0
- data/vendor/lexbor/source/lexbor/encoding/euc_kr.c +53883 -0
- data/vendor/lexbor/source/lexbor/encoding/gb18030.c +47905 -0
- data/vendor/lexbor/source/lexbor/encoding/iso_2022_jp_katakana.c +159 -0
- data/vendor/lexbor/source/lexbor/encoding/jis0208.c +22477 -0
- data/vendor/lexbor/source/lexbor/encoding/jis0212.c +15787 -0
- data/vendor/lexbor/source/lexbor/encoding/multi.h +53 -0
- data/vendor/lexbor/source/lexbor/encoding/range.c +71 -0
- data/vendor/lexbor/source/lexbor/encoding/range.h +34 -0
- data/vendor/lexbor/source/lexbor/encoding/res.c +222 -0
- data/vendor/lexbor/source/lexbor/encoding/res.h +34 -0
- data/vendor/lexbor/source/lexbor/encoding/single.c +13748 -0
- data/vendor/lexbor/source/lexbor/encoding/single.h +116 -0
- data/vendor/lexbor/source/lexbor/html/base.h +44 -0
- data/vendor/lexbor/source/lexbor/html/config.cmake +3 -0
- data/vendor/lexbor/source/lexbor/html/encoding.c +574 -0
- data/vendor/lexbor/source/lexbor/html/encoding.h +106 -0
- data/vendor/lexbor/source/lexbor/html/html.h +107 -0
- data/vendor/lexbor/source/lexbor/html/interface.c +165 -0
- data/vendor/lexbor/source/lexbor/html/interface.h +186 -0
- data/vendor/lexbor/source/lexbor/html/interface_res.h +4449 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/anchor_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/anchor_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/area_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/area_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/audio_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/audio_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/base_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/base_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/body_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/body_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/br_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/br_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/button_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/button_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/canvas_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/canvas_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/d_list_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/d_list_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/data_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/data_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/data_list_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/data_list_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/details_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/details_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/dialog_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/dialog_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/directory_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/directory_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/div_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/div_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/document.c +444 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/document.h +256 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/element.c +64 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/element.h +54 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/embed_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/embed_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/field_set_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/field_set_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/font_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/font_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/form_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/form_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/frame_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/frame_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/frame_set_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/frame_set_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/head_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/head_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/heading_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/heading_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/hr_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/hr_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/html_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/html_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/iframe_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/iframe_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/image_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/image_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/input_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/input_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/label_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/label_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/legend_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/legend_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/li_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/li_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/link_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/link_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/map_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/map_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/marquee_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/marquee_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/media_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/media_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/menu_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/menu_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/meta_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/meta_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/meter_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/meter_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/mod_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/mod_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/o_list_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/o_list_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/object_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/object_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/opt_group_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/opt_group_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/option_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/option_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/output_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/output_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/paragraph_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/paragraph_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/param_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/param_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/picture_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/picture_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/pre_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/pre_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/progress_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/progress_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/quote_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/quote_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/script_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/script_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/select_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/select_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/slot_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/slot_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/source_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/source_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/span_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/span_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/style_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/style_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_caption_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_caption_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_cell_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_cell_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_col_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_col_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_row_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_row_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_section_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_section_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/template_element.c +46 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/template_element.h +38 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/text_area_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/text_area_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/time_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/time_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/title_element.c +133 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/title_element.h +42 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/track_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/track_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/u_list_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/u_list_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/unknown_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/unknown_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/video_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/video_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/window.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/window.h +34 -0
- data/vendor/lexbor/source/lexbor/html/node.c +14 -0
- data/vendor/lexbor/source/lexbor/html/node.h +67 -0
- data/vendor/lexbor/source/lexbor/html/parser.c +469 -0
- data/vendor/lexbor/source/lexbor/html/parser.h +170 -0
- data/vendor/lexbor/source/lexbor/html/serialize.c +1510 -0
- data/vendor/lexbor/source/lexbor/html/serialize.h +93 -0
- data/vendor/lexbor/source/lexbor/html/tag.h +103 -0
- data/vendor/lexbor/source/lexbor/html/tag_res.h +2262 -0
- data/vendor/lexbor/source/lexbor/html/token.c +386 -0
- data/vendor/lexbor/source/lexbor/html/token.h +130 -0
- data/vendor/lexbor/source/lexbor/html/token_attr.c +44 -0
- data/vendor/lexbor/source/lexbor/html/token_attr.h +67 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/error.c +28 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/error.h +141 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/res.h +4956 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state.c +2171 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state.h +225 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_comment.c +489 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_comment.h +27 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_doctype.c +1654 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_doctype.h +27 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_rawtext.c +303 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_rawtext.h +32 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_rcdata.c +311 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_rcdata.h +32 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_script.c +1209 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_script.h +32 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer.c +499 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer.h +343 -0
- data/vendor/lexbor/source/lexbor/html/tree/active_formatting.c +241 -0
- data/vendor/lexbor/source/lexbor/html/tree/active_formatting.h +117 -0
- data/vendor/lexbor/source/lexbor/html/tree/error.c +26 -0
- data/vendor/lexbor/source/lexbor/html/tree/error.h +114 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_after_body.c +62 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_after_frameset.c +63 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_body.c +82 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_frameset.c +88 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_head.c +222 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/before_head.c +144 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/before_html.c +166 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/foreign_content.c +358 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_body.c +1974 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_caption.c +158 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_cell.c +187 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_column_group.c +194 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_frameset.c +149 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_head.c +374 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_head_noscript.c +121 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_row.c +211 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_select.c +341 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_select_in_table.c +115 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table.c +451 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table_body.c +208 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table_text.c +127 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_template.c +189 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/initial.c +411 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/text.c +61 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode.h +135 -0
- data/vendor/lexbor/source/lexbor/html/tree/open_elements.c +251 -0
- data/vendor/lexbor/source/lexbor/html/tree/open_elements.h +105 -0
- data/vendor/lexbor/source/lexbor/html/tree/template_insertion.c +10 -0
- data/vendor/lexbor/source/lexbor/html/tree/template_insertion.h +100 -0
- data/vendor/lexbor/source/lexbor/html/tree.c +1726 -0
- data/vendor/lexbor/source/lexbor/html/tree.h +431 -0
- data/vendor/lexbor/source/lexbor/html/tree_res.h +111 -0
- data/vendor/lexbor/source/lexbor/ns/base.h +32 -0
- data/vendor/lexbor/source/lexbor/ns/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/ns/const.h +37 -0
- data/vendor/lexbor/source/lexbor/ns/ns.c +154 -0
- data/vendor/lexbor/source/lexbor/ns/ns.h +66 -0
- data/vendor/lexbor/source/lexbor/ns/res.h +97 -0
- data/vendor/lexbor/source/lexbor/ports/posix/config.cmake +11 -0
- data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/fs.c +236 -0
- data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/memory.c +33 -0
- data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/perf.c +158 -0
- data/vendor/lexbor/source/lexbor/ports/windows_nt/config.cmake +18 -0
- data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/fs.c +239 -0
- data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/memory.c +33 -0
- data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/perf.c +81 -0
- data/vendor/lexbor/source/lexbor/selectors/base.h +30 -0
- data/vendor/lexbor/source/lexbor/selectors/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/selectors/selectors.c +1591 -0
- data/vendor/lexbor/source/lexbor/selectors/selectors.h +71 -0
- data/vendor/lexbor/source/lexbor/tag/base.h +32 -0
- data/vendor/lexbor/source/lexbor/tag/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/tag/const.h +225 -0
- data/vendor/lexbor/source/lexbor/tag/res.h +562 -0
- data/vendor/lexbor/source/lexbor/tag/tag.c +144 -0
- data/vendor/lexbor/source/lexbor/tag/tag.h +123 -0
- data/vendor/lexbor/source/lexbor/utils/base.h +32 -0
- data/vendor/lexbor/source/lexbor/utils/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/utils/http.c +534 -0
- data/vendor/lexbor/source/lexbor/utils/http.h +90 -0
- data/vendor/lexbor/source/lexbor/utils/utils.h +15 -0
- data/vendor/lexbor/source/lexbor/utils/warc.c +817 -0
- data/vendor/lexbor/source/lexbor/utils/warc.h +126 -0
- data/vendor/lexbor/utils/lexbor/css/selectors/pseudo.py +231 -0
- data/vendor/lexbor/utils/lexbor/css/selectors/tmp/const.h +21 -0
- data/vendor/lexbor/utils/lexbor/css/selectors/tmp/res.h +26 -0
- data/vendor/lexbor/utils/lexbor/css/syntax/definitions.py +49 -0
- data/vendor/lexbor/utils/lexbor/css/syntax/token_res.py +54 -0
- data/vendor/lexbor/utils/lexbor/css/syntax/tokenizer_code_map.py +36 -0
- data/vendor/lexbor/version +1 -0
- metadata +542 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2018-2020 Alexander Borisov
|
|
3
|
+
*
|
|
4
|
+
* Author: Alexander Borisov <borisov@lexbor.com>
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef LEXBOR_CSS_SYNTAX_TOKEN_H
|
|
8
|
+
#define LEXBOR_CSS_SYNTAX_TOKEN_H
|
|
9
|
+
|
|
10
|
+
#ifdef __cplusplus
|
|
11
|
+
extern "C" {
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#include "lexbor/core/str.h"
|
|
15
|
+
|
|
16
|
+
#include "lexbor/css/log.h"
|
|
17
|
+
#include "lexbor/css/syntax/base.h"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
#define lxb_css_syntax_token_base(token) ((lxb_css_syntax_token_base_t *) (token))
|
|
21
|
+
#define lxb_css_syntax_token_ident(token) ((lxb_css_syntax_token_ident_t *) (token))
|
|
22
|
+
#define lxb_css_syntax_token_function(token) ((lxb_css_syntax_token_function_t *) (token))
|
|
23
|
+
#define lxb_css_syntax_token_at_keyword(token) ((lxb_css_syntax_token_at_keyword_t *) (token))
|
|
24
|
+
#define lxb_css_syntax_token_hash(token) ((lxb_css_syntax_token_hash_t *) (token))
|
|
25
|
+
#define lxb_css_syntax_token_string(token) ((lxb_css_syntax_token_string_t *) (token))
|
|
26
|
+
#define lxb_css_syntax_token_bad_string(token) ((lxb_css_syntax_token_bad_string_t *) (token))
|
|
27
|
+
#define lxb_css_syntax_token_url(token) ((lxb_css_syntax_token_url_t *) (token))
|
|
28
|
+
#define lxb_css_syntax_token_bad_url(token) ((lxb_css_syntax_token_bad_url_t *) (token))
|
|
29
|
+
#define lxb_css_syntax_token_delim(token) ((lxb_css_syntax_token_delim_t *) (token))
|
|
30
|
+
#define lxb_css_syntax_token_delim_char(token) (((lxb_css_syntax_token_delim_t *) (token))->character)
|
|
31
|
+
#define lxb_css_syntax_token_number(token) ((lxb_css_syntax_token_number_t *) (token))
|
|
32
|
+
#define lxb_css_syntax_token_percentage(token) ((lxb_css_syntax_token_percentage_t *) (token))
|
|
33
|
+
#define lxb_css_syntax_token_dimension(token) ((lxb_css_syntax_token_dimension_t *) (token))
|
|
34
|
+
#define lxb_css_syntax_token_dimension_string(token) (&((lxb_css_syntax_token_dimension_t *) (token))->str)
|
|
35
|
+
#define lxb_css_syntax_token_whitespace(token) ((lxb_css_syntax_token_whitespace_t *) (token))
|
|
36
|
+
#define lxb_css_syntax_token_cdo(token) ((lxb_css_syntax_token_cdo_t *) (token))
|
|
37
|
+
#define lxb_css_syntax_token_cdc(token) ((lxb_css_syntax_token_cdc_t *) (token))
|
|
38
|
+
#define lxb_css_syntax_token_colon(token) ((lxb_css_syntax_token_colon_t *) (token))
|
|
39
|
+
#define lxb_css_syntax_token_semicolon(token) ((lxb_css_syntax_token_semicolon_t *) (token))
|
|
40
|
+
#define lxb_css_syntax_token_comma(token) ((lxb_css_syntax_token_comma_t *) (token))
|
|
41
|
+
#define lxb_css_syntax_token_ls_bracket(token) ((lxb_css_syntax_token_ls_bracket_t *) (token))
|
|
42
|
+
#define lxb_css_syntax_token_rs_bracket(token) ((lxb_css_syntax_token_rs_bracket_t *) (token))
|
|
43
|
+
#define lxb_css_syntax_token_l_parenthesis(token) ((lxb_css_syntax_token_l_parenthesis_t *) (token))
|
|
44
|
+
#define lxb_css_syntax_token_r_parenthesis(token) ((lxb_css_syntax_token_r_parenthesis_t *) (token))
|
|
45
|
+
#define lxb_css_syntax_token_lc_bracket(token) ((lxb_css_syntax_token_lc_bracket_t *) (token))
|
|
46
|
+
#define lxb_css_syntax_token_rc_bracket(token) ((lxb_css_syntax_token_rc_bracket_t *) (token))
|
|
47
|
+
#define lxb_css_syntax_token_comment(token) ((lxb_css_syntax_token_comment_t *) (token))
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
typedef struct lxb_css_syntax_token_data lxb_css_syntax_token_data_t;
|
|
51
|
+
|
|
52
|
+
typedef const lxb_char_t *
|
|
53
|
+
(*lxb_css_syntax_token_data_cb_f)(const lxb_char_t *begin, const lxb_char_t *end,
|
|
54
|
+
lexbor_str_t *str, lexbor_mraw_t *mraw,
|
|
55
|
+
lxb_css_syntax_token_data_t *td);
|
|
56
|
+
|
|
57
|
+
typedef lxb_status_t
|
|
58
|
+
(*lxb_css_syntax_token_cb_f)(const lxb_char_t *data, size_t len, void *ctx);
|
|
59
|
+
|
|
60
|
+
struct lxb_css_syntax_token_data {
|
|
61
|
+
lxb_css_syntax_token_data_cb_f cb;
|
|
62
|
+
lxb_status_t status;
|
|
63
|
+
int count;
|
|
64
|
+
uint32_t num;
|
|
65
|
+
bool is_last;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
typedef enum {
|
|
69
|
+
LXB_CSS_SYNTAX_TOKEN_UNDEF = 0x00,
|
|
70
|
+
|
|
71
|
+
/* String tokens. */
|
|
72
|
+
LXB_CSS_SYNTAX_TOKEN_IDENT,
|
|
73
|
+
LXB_CSS_SYNTAX_TOKEN_FUNCTION,
|
|
74
|
+
LXB_CSS_SYNTAX_TOKEN_AT_KEYWORD,
|
|
75
|
+
LXB_CSS_SYNTAX_TOKEN_HASH,
|
|
76
|
+
LXB_CSS_SYNTAX_TOKEN_STRING,
|
|
77
|
+
LXB_CSS_SYNTAX_TOKEN_BAD_STRING,
|
|
78
|
+
LXB_CSS_SYNTAX_TOKEN_URL,
|
|
79
|
+
LXB_CSS_SYNTAX_TOKEN_BAD_URL,
|
|
80
|
+
LXB_CSS_SYNTAX_TOKEN_COMMENT, /* not in specification */
|
|
81
|
+
LXB_CSS_SYNTAX_TOKEN_WHITESPACE,
|
|
82
|
+
|
|
83
|
+
/* Has a string. */
|
|
84
|
+
LXB_CSS_SYNTAX_TOKEN_DIMENSION,
|
|
85
|
+
|
|
86
|
+
/* Other tokens. */
|
|
87
|
+
LXB_CSS_SYNTAX_TOKEN_DELIM,
|
|
88
|
+
LXB_CSS_SYNTAX_TOKEN_NUMBER,
|
|
89
|
+
LXB_CSS_SYNTAX_TOKEN_PERCENTAGE,
|
|
90
|
+
LXB_CSS_SYNTAX_TOKEN_CDO,
|
|
91
|
+
LXB_CSS_SYNTAX_TOKEN_CDC,
|
|
92
|
+
LXB_CSS_SYNTAX_TOKEN_COLON,
|
|
93
|
+
LXB_CSS_SYNTAX_TOKEN_SEMICOLON,
|
|
94
|
+
LXB_CSS_SYNTAX_TOKEN_COMMA,
|
|
95
|
+
LXB_CSS_SYNTAX_TOKEN_LS_BRACKET, /* U+005B LEFT SQUARE BRACKET ([) */
|
|
96
|
+
LXB_CSS_SYNTAX_TOKEN_RS_BRACKET, /* U+005D RIGHT SQUARE BRACKET (]) */
|
|
97
|
+
LXB_CSS_SYNTAX_TOKEN_L_PARENTHESIS, /* U+0028 LEFT PARENTHESIS (() */
|
|
98
|
+
LXB_CSS_SYNTAX_TOKEN_R_PARENTHESIS, /* U+0029 RIGHT PARENTHESIS ()) */
|
|
99
|
+
LXB_CSS_SYNTAX_TOKEN_LC_BRACKET, /* U+007B LEFT CURLY BRACKET ({) */
|
|
100
|
+
LXB_CSS_SYNTAX_TOKEN_RC_BRACKET, /* U+007D RIGHT CURLY BRACKET (}) */
|
|
101
|
+
LXB_CSS_SYNTAX_TOKEN__EOF,
|
|
102
|
+
LXB_CSS_SYNTAX_TOKEN__LAST_ENTRY
|
|
103
|
+
}
|
|
104
|
+
lxb_css_syntax_token_type_t;
|
|
105
|
+
|
|
106
|
+
typedef struct lxb_css_syntax_token_base {
|
|
107
|
+
const lxb_char_t *begin;
|
|
108
|
+
const lxb_char_t *end;
|
|
109
|
+
|
|
110
|
+
uintptr_t user_id;
|
|
111
|
+
}
|
|
112
|
+
lxb_css_syntax_token_base_t;
|
|
113
|
+
|
|
114
|
+
typedef struct lxb_css_syntax_token_number {
|
|
115
|
+
lxb_css_syntax_token_base_t base;
|
|
116
|
+
|
|
117
|
+
double num;
|
|
118
|
+
bool is_float;
|
|
119
|
+
bool have_sign;
|
|
120
|
+
}
|
|
121
|
+
lxb_css_syntax_token_number_t;
|
|
122
|
+
|
|
123
|
+
typedef struct lxb_css_syntax_token_string {
|
|
124
|
+
lxb_css_syntax_token_base_t base;
|
|
125
|
+
|
|
126
|
+
const lxb_char_t *data;
|
|
127
|
+
size_t length;
|
|
128
|
+
}
|
|
129
|
+
lxb_css_syntax_token_string_t;
|
|
130
|
+
|
|
131
|
+
typedef struct lxb_css_syntax_token_dimension {
|
|
132
|
+
lxb_css_syntax_token_number_t num;
|
|
133
|
+
lxb_css_syntax_token_string_t str;
|
|
134
|
+
}
|
|
135
|
+
lxb_css_syntax_token_dimension_t;
|
|
136
|
+
|
|
137
|
+
typedef struct lxb_css_syntax_token_delim {
|
|
138
|
+
lxb_css_syntax_token_base_t base;
|
|
139
|
+
lxb_char_t character;
|
|
140
|
+
}
|
|
141
|
+
lxb_css_syntax_token_delim_t;
|
|
142
|
+
|
|
143
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_ident_t;
|
|
144
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_function_t;
|
|
145
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_at_keyword_t;
|
|
146
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_hash_t;
|
|
147
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_bad_string_t;
|
|
148
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_url_t;
|
|
149
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_bad_url_t;
|
|
150
|
+
typedef lxb_css_syntax_token_number_t lxb_css_syntax_token_percentage_t;
|
|
151
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_whitespace_t;
|
|
152
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_cdo_t;
|
|
153
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_cdc_t;
|
|
154
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_colon_t;
|
|
155
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_semicolon_t;
|
|
156
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_comma_t;
|
|
157
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_ls_bracket_t;
|
|
158
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_rs_bracket_t;
|
|
159
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_l_parenthesis_t;
|
|
160
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_r_parenthesis_t;
|
|
161
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_lc_bracket_t;
|
|
162
|
+
typedef lxb_css_syntax_token_base_t lxb_css_syntax_token_rc_bracket_t;
|
|
163
|
+
typedef lxb_css_syntax_token_string_t lxb_css_syntax_token_comment_t;
|
|
164
|
+
|
|
165
|
+
struct lxb_css_syntax_token {
|
|
166
|
+
union lxb_css_syntax_token_u {
|
|
167
|
+
lxb_css_syntax_token_base_t base;
|
|
168
|
+
lxb_css_syntax_token_comment_t comment;
|
|
169
|
+
lxb_css_syntax_token_number_t number;
|
|
170
|
+
lxb_css_syntax_token_dimension_t dimension;
|
|
171
|
+
lxb_css_syntax_token_percentage_t percentage;
|
|
172
|
+
lxb_css_syntax_token_hash_t hash;
|
|
173
|
+
lxb_css_syntax_token_string_t string;
|
|
174
|
+
lxb_css_syntax_token_bad_string_t bad_string;
|
|
175
|
+
lxb_css_syntax_token_delim_t delim;
|
|
176
|
+
lxb_css_syntax_token_l_parenthesis_t lparenthesis;
|
|
177
|
+
lxb_css_syntax_token_r_parenthesis_t rparenthesis;
|
|
178
|
+
lxb_css_syntax_token_cdc_t cdc;
|
|
179
|
+
lxb_css_syntax_token_function_t function;
|
|
180
|
+
lxb_css_syntax_token_ident_t ident;
|
|
181
|
+
lxb_css_syntax_token_url_t url;
|
|
182
|
+
lxb_css_syntax_token_bad_url_t bad_url;
|
|
183
|
+
lxb_css_syntax_token_at_keyword_t at_keyword;
|
|
184
|
+
lxb_css_syntax_token_whitespace_t whitespace;
|
|
185
|
+
}
|
|
186
|
+
types;
|
|
187
|
+
|
|
188
|
+
lxb_css_syntax_token_type_t type;
|
|
189
|
+
bool cloned;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
LXB_API lxb_css_syntax_token_t *
|
|
194
|
+
lxb_css_syntax_token(lxb_css_syntax_tokenizer_t *tkz);
|
|
195
|
+
|
|
196
|
+
LXB_API lxb_css_syntax_token_t *
|
|
197
|
+
lxb_css_syntax_token_next(lxb_css_syntax_tokenizer_t *tkz);
|
|
198
|
+
|
|
199
|
+
LXB_API void
|
|
200
|
+
lxb_css_syntax_token_consume(lxb_css_syntax_tokenizer_t *tkz);
|
|
201
|
+
|
|
202
|
+
LXB_API void
|
|
203
|
+
lxb_css_syntax_token_consume_n(lxb_css_syntax_tokenizer_t *tkz, unsigned count);
|
|
204
|
+
|
|
205
|
+
LXB_API lxb_status_t
|
|
206
|
+
lxb_css_syntax_token_string_dup(lxb_css_syntax_token_string_t *token,
|
|
207
|
+
lexbor_str_t *str, lexbor_mraw_t *mraw);
|
|
208
|
+
|
|
209
|
+
LXB_API lxb_status_t
|
|
210
|
+
lxb_css_syntax_token_string_make(lxb_css_syntax_tokenizer_t *tkz,
|
|
211
|
+
lxb_css_syntax_token_t *token);
|
|
212
|
+
|
|
213
|
+
LXB_API void
|
|
214
|
+
lxb_css_syntax_token_string_free(lxb_css_syntax_tokenizer_t *tkz,
|
|
215
|
+
lxb_css_syntax_token_t *token);
|
|
216
|
+
|
|
217
|
+
LXB_API const lxb_char_t *
|
|
218
|
+
lxb_css_syntax_token_type_name_by_id(lxb_css_syntax_token_type_t type);
|
|
219
|
+
|
|
220
|
+
LXB_API lxb_css_syntax_token_type_t
|
|
221
|
+
lxb_css_syntax_token_type_id_by_name(const lxb_char_t *type_name, size_t len);
|
|
222
|
+
|
|
223
|
+
LXB_API lxb_status_t
|
|
224
|
+
lxb_css_syntax_token_serialize(const lxb_css_syntax_token_t *token,
|
|
225
|
+
lxb_css_syntax_token_cb_f cb, void *ctx);
|
|
226
|
+
|
|
227
|
+
LXB_API lxb_status_t
|
|
228
|
+
lxb_css_syntax_token_serialize_str(const lxb_css_syntax_token_t *token,
|
|
229
|
+
lexbor_str_t *str, lexbor_mraw_t *mraw);
|
|
230
|
+
|
|
231
|
+
LXB_API lxb_char_t *
|
|
232
|
+
lxb_css_syntax_token_serialize_char(const lxb_css_syntax_token_t *token,
|
|
233
|
+
size_t *out_length);
|
|
234
|
+
|
|
235
|
+
LXB_API lxb_css_log_message_t *
|
|
236
|
+
lxb_css_syntax_token_error(lxb_css_parser_t *parser,
|
|
237
|
+
const lxb_css_syntax_token_t *token,
|
|
238
|
+
const char *module_name);
|
|
239
|
+
|
|
240
|
+
/*
|
|
241
|
+
* Inline functions
|
|
242
|
+
*/
|
|
243
|
+
lxb_inline lxb_css_syntax_token_t *
|
|
244
|
+
lxb_css_syntax_token_create(lexbor_dobject_t *dobj)
|
|
245
|
+
{
|
|
246
|
+
return (lxb_css_syntax_token_t *) lexbor_dobject_calloc(dobj);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
lxb_inline void
|
|
250
|
+
lxb_css_syntax_token_clean(lxb_css_syntax_token_t *token)
|
|
251
|
+
{
|
|
252
|
+
memset(token, 0, sizeof(lxb_css_syntax_token_t));
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
lxb_inline lxb_css_syntax_token_t *
|
|
256
|
+
lxb_css_syntax_token_destroy(lxb_css_syntax_token_t *token,
|
|
257
|
+
lexbor_dobject_t *dobj)
|
|
258
|
+
{
|
|
259
|
+
return (lxb_css_syntax_token_t *) lexbor_dobject_free(dobj, token);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
lxb_inline const lxb_char_t *
|
|
263
|
+
lxb_css_syntax_token_type_name(const lxb_css_syntax_token_t *token)
|
|
264
|
+
{
|
|
265
|
+
return lxb_css_syntax_token_type_name_by_id(token->type);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
lxb_inline lxb_css_syntax_token_type_t
|
|
269
|
+
lxb_css_syntax_token_type(const lxb_css_syntax_token_t *token)
|
|
270
|
+
{
|
|
271
|
+
return token->type;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/*
|
|
275
|
+
* No inline functions for ABI.
|
|
276
|
+
*/
|
|
277
|
+
LXB_API lxb_css_syntax_token_t *
|
|
278
|
+
lxb_css_syntax_token_create_noi(lexbor_dobject_t *dobj);
|
|
279
|
+
|
|
280
|
+
LXB_API void
|
|
281
|
+
lxb_css_syntax_token_clean_noi(lxb_css_syntax_token_t *token);
|
|
282
|
+
|
|
283
|
+
LXB_API lxb_css_syntax_token_t *
|
|
284
|
+
lxb_css_syntax_token_destroy_noi(lxb_css_syntax_token_t *token,
|
|
285
|
+
lexbor_dobject_t *dobj);
|
|
286
|
+
|
|
287
|
+
LXB_API const lxb_char_t *
|
|
288
|
+
lxb_css_syntax_token_type_name_noi(lxb_css_syntax_token_t *token);
|
|
289
|
+
|
|
290
|
+
LXB_API lxb_css_syntax_token_type_t
|
|
291
|
+
lxb_css_syntax_token_type_noi(lxb_css_syntax_token_t *token);
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
#ifdef __cplusplus
|
|
295
|
+
} /* extern "C" */
|
|
296
|
+
#endif
|
|
297
|
+
|
|
298
|
+
#endif /* LEXBOR_CSS_SYNTAX_TOKEN_H */
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2018-2019 Alexander Borisov
|
|
3
|
+
*
|
|
4
|
+
* Author: Alexander Borisov <borisov@lexbor.com>
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef LEXBOR_CSS_SYNTAX_TOKEN_RES_H
|
|
8
|
+
#define LEXBOR_CSS_SYNTAX_TOKEN_RES_H
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
#ifdef LXB_CSS_SYNTAX_TOKEN_RES_NAME_SHS_MAP
|
|
12
|
+
#ifndef LXB_CSS_SYNTAX_TOKEN_RES_NAME_SHS_MAP_ENABLED
|
|
13
|
+
#define LXB_CSS_SYNTAX_TOKEN_RES_NAME_SHS_MAP_ENABLED
|
|
14
|
+
static const lexbor_shs_entry_t lxb_css_syntax_token_res_name_shs_map[] =
|
|
15
|
+
{
|
|
16
|
+
{NULL, NULL, 92, 0}, {NULL, NULL, 0, 0},
|
|
17
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
18
|
+
{NULL, NULL, 0, 0}, {"end-of-file", (void *) LXB_CSS_SYNTAX_TOKEN__EOF, 11, 0},
|
|
19
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
20
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
21
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
22
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
23
|
+
{"ident", (void *) LXB_CSS_SYNTAX_TOKEN_IDENT, 5, 0}, {"cdo", (void *) LXB_CSS_SYNTAX_TOKEN_CDO, 3, 0},
|
|
24
|
+
{NULL, NULL, 0, 0}, {"left-parenthesis", (void *) LXB_CSS_SYNTAX_TOKEN_L_PARENTHESIS, 16, 0},
|
|
25
|
+
{"right-parenthesis", (void *) LXB_CSS_SYNTAX_TOKEN_R_PARENTHESIS, 17, 0}, {NULL, NULL, 0, 0},
|
|
26
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
27
|
+
{NULL, NULL, 0, 0}, {"percentage", (void *) LXB_CSS_SYNTAX_TOKEN_PERCENTAGE, 10, 0},
|
|
28
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
29
|
+
{NULL, NULL, 0, 0}, {"at-keyword", (void *) LXB_CSS_SYNTAX_TOKEN_AT_KEYWORD, 10, 0},
|
|
30
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
31
|
+
{"string", (void *) LXB_CSS_SYNTAX_TOKEN_STRING, 6, 0}, {NULL, NULL, 0, 0},
|
|
32
|
+
{"bad-url", (void *) LXB_CSS_SYNTAX_TOKEN_BAD_URL, 7, 0}, {NULL, NULL, 0, 0},
|
|
33
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
34
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
35
|
+
{NULL, NULL, 0, 0}, {"bad-string", (void *) LXB_CSS_SYNTAX_TOKEN_BAD_STRING, 10, 0},
|
|
36
|
+
{"whitespace", (void *) LXB_CSS_SYNTAX_TOKEN_WHITESPACE, 10, 0}, {NULL, NULL, 0, 0},
|
|
37
|
+
{"undefined", (void *) LXB_CSS_SYNTAX_TOKEN_UNDEF, 9, 0}, {NULL, NULL, 0, 0},
|
|
38
|
+
{"right-curly-bracket", (void *) LXB_CSS_SYNTAX_TOKEN_RC_BRACKET, 19, 0}, {"right-square-bracket", (void *) LXB_CSS_SYNTAX_TOKEN_RS_BRACKET, 20, 0},
|
|
39
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
40
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
41
|
+
{NULL, NULL, 0, 0}, {"number", (void *) LXB_CSS_SYNTAX_TOKEN_NUMBER, 6, 0},
|
|
42
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
43
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
44
|
+
{"semicolon", (void *) LXB_CSS_SYNTAX_TOKEN_SEMICOLON, 9, 0}, {NULL, NULL, 0, 0},
|
|
45
|
+
{"dimension", (void *) LXB_CSS_SYNTAX_TOKEN_DIMENSION, 9, 0}, {NULL, NULL, 0, 0},
|
|
46
|
+
{"colon", (void *) LXB_CSS_SYNTAX_TOKEN_COLON, 5, 0}, {"function", (void *) LXB_CSS_SYNTAX_TOKEN_FUNCTION, 8, 0},
|
|
47
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
48
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
49
|
+
{NULL, NULL, 0, 0}, {"comma", (void *) LXB_CSS_SYNTAX_TOKEN_COMMA, 5, 0},
|
|
50
|
+
{"url", (void *) LXB_CSS_SYNTAX_TOKEN_URL, 3, 0}, {NULL, NULL, 0, 0},
|
|
51
|
+
{NULL, NULL, 0, 0}, {"cdc", (void *) LXB_CSS_SYNTAX_TOKEN_CDC, 3, 0},
|
|
52
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
53
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
54
|
+
{NULL, NULL, 0, 0}, {"hash", (void *) LXB_CSS_SYNTAX_TOKEN_HASH, 4, 0},
|
|
55
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
56
|
+
{"comment", (void *) LXB_CSS_SYNTAX_TOKEN_COMMENT, 7, 0}, {NULL, NULL, 0, 0},
|
|
57
|
+
{"delim", (void *) LXB_CSS_SYNTAX_TOKEN_DELIM, 5, 0}, {NULL, NULL, 0, 0},
|
|
58
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
59
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
60
|
+
{NULL, NULL, 0, 0}, {NULL, NULL, 0, 0},
|
|
61
|
+
{NULL, NULL, 0, 0}, {"left-curly-bracket", (void *) LXB_CSS_SYNTAX_TOKEN_LC_BRACKET, 18, 0},
|
|
62
|
+
{"left-square-bracket", (void *) LXB_CSS_SYNTAX_TOKEN_LS_BRACKET, 19, 0}
|
|
63
|
+
};
|
|
64
|
+
#endif /* LXB_CSS_SYNTAX_TOKEN_RES_NAME_SHS_MAP_ENABLED */
|
|
65
|
+
#endif /* LXB_CSS_SYNTAX_TOKEN_RES_NAME_SHS_MAP */
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
#endif /* LEXBOR_CSS_SYNTAX_TOKEN_RES_H */
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2018-2019 Alexander Borisov
|
|
3
|
+
*
|
|
4
|
+
* Author: Alexander Borisov <borisov@lexbor.com>
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#include "lexbor/css/syntax/tokenizer/error.h"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
lxb_css_syntax_tokenizer_error_t *
|
|
11
|
+
lxb_css_syntax_tokenizer_error_add(lexbor_array_obj_t *parse_errors,
|
|
12
|
+
const lxb_char_t *pos,
|
|
13
|
+
lxb_css_syntax_tokenizer_error_id_t id)
|
|
14
|
+
{
|
|
15
|
+
if (parse_errors == NULL) {
|
|
16
|
+
return NULL;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
lxb_css_syntax_tokenizer_error_t *entry;
|
|
20
|
+
|
|
21
|
+
entry = lexbor_array_obj_push(parse_errors);
|
|
22
|
+
if (entry == NULL) {
|
|
23
|
+
return NULL;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
entry->id = id;
|
|
27
|
+
entry->pos = pos;
|
|
28
|
+
|
|
29
|
+
return entry;
|
|
30
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2018-2019 Alexander Borisov
|
|
3
|
+
*
|
|
4
|
+
* Author: Alexander Borisov <borisov@lexbor.com>
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef LEXBOR_CSS_SYNTAX_TOKENIZER_ERROR_H
|
|
8
|
+
#define LEXBOR_CSS_SYNTAX_TOKENIZER_ERROR_H
|
|
9
|
+
|
|
10
|
+
#ifdef __cplusplus
|
|
11
|
+
extern "C" {
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#include "lexbor/core/base.h"
|
|
15
|
+
#include "lexbor/core/array_obj.h"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
typedef enum {
|
|
19
|
+
/* unexpected-eof */
|
|
20
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_UNEOF = 0x0000,
|
|
21
|
+
/* eof-in-comment */
|
|
22
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_EOINCO,
|
|
23
|
+
/* eof-in-string */
|
|
24
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_EOINST,
|
|
25
|
+
/* eof-in-url */
|
|
26
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_EOINUR,
|
|
27
|
+
/* qo-in-url */
|
|
28
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_QOINUR,
|
|
29
|
+
/* wrong-escape-in-url */
|
|
30
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_WRESINUR,
|
|
31
|
+
/* newline-in-string */
|
|
32
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_NEINST,
|
|
33
|
+
/* bad-char */
|
|
34
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_BACH,
|
|
35
|
+
/* bad-code-point */
|
|
36
|
+
LXB_CSS_SYNTAX_TOKENIZER_ERROR_BACOPO,
|
|
37
|
+
}
|
|
38
|
+
lxb_css_syntax_tokenizer_error_id_t;
|
|
39
|
+
|
|
40
|
+
typedef struct {
|
|
41
|
+
const lxb_char_t *pos;
|
|
42
|
+
lxb_css_syntax_tokenizer_error_id_t id;
|
|
43
|
+
}
|
|
44
|
+
lxb_css_syntax_tokenizer_error_t;
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
LXB_API lxb_css_syntax_tokenizer_error_t *
|
|
48
|
+
lxb_css_syntax_tokenizer_error_add(lexbor_array_obj_t *parse_errors,
|
|
49
|
+
const lxb_char_t *pos,
|
|
50
|
+
lxb_css_syntax_tokenizer_error_id_t id);
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
#ifdef __cplusplus
|
|
54
|
+
} /* extern "C" */
|
|
55
|
+
#endif
|
|
56
|
+
|
|
57
|
+
#endif /* LEXBOR_CSS_SYNTAX_TOKENIZER_ERROR_H */
|
|
58
|
+
|