summaryrefslogtreecommitdiff
path: root/src/parse/css21.c
Commit message (Collapse)AuthorAgeFilesLines
* Tidy things up somewhat.John Mark Bell2008-11-281-1291/+0
| | | | | | css21 is now language, as everything will share the same parsing rules (although there is facility to alter behaviour based upon the language level -- consult language->sheet->level and then decide what to do) svn path=/trunk/libcss/; revision=5815
* css_string is now the same as a parserutils_dict_entry. This allows us to ↵John Mark Bell2008-11-271-28/+34
| | | | | | | | | | use dict entries directly as strings. iChange the way in which selectors are represented. This significantly reduces memory requirements -- reducing the approximate usage count (excludes the string dictionary, which is about 360k) of allzengarden.css from 4,535,400 bytes to 2,414,312 bytes on a 64bit platform. The string dictionary is now created and owned by the stylesheet object. The parser is just given access to this so that it can store strings in it. svn path=/trunk/libcss/; revision=5809
* white-spaceJohn Mark Bell2008-11-261-0/+5
| | | | svn path=/trunk/libcss/; revision=5801
* volumeJohn Mark Bell2008-11-261-1/+6
| | | | svn path=/trunk/libcss/; revision=5800
* vertical-alignJohn Mark Bell2008-11-261-1/+8
| | | | svn path=/trunk/libcss/; revision=5798
* unicode-bidiJohn Mark Bell2008-11-251-1/+3
| | | | svn path=/trunk/libcss/; revision=5797
* text-transformJohn Mark Bell2008-11-251-1/+5
| | | | svn path=/trunk/libcss/; revision=5796
* text-alignJohn Mark Bell2008-11-251-1/+3
| | | | svn path=/trunk/libcss/; revision=5794
* speech-rateJohn Mark Bell2008-11-251-1/+8
| | | | svn path=/trunk/libcss/; revision=5790
* speakJohn Mark Bell2008-11-251-1/+2
| | | | svn path=/trunk/libcss/; revision=5789
* speak-punctuationJohn Mark Bell2008-11-251-1/+2
| | | | svn path=/trunk/libcss/; revision=5788
* speak-numeralJohn Mark Bell2008-11-251-1/+3
| | | | svn path=/trunk/libcss/; revision=5787
* speak-headerJohn Mark Bell2008-11-251-1/+2
| | | | svn path=/trunk/libcss/; revision=5786
* positionJohn Mark Bell2008-11-251-1/+5
| | | | svn path=/trunk/libcss/; revision=5784
* pitchJohn Mark Bell2008-11-251-1/+5
| | | | svn path=/trunk/libcss/; revision=5783
* page-break-afterJohn Mark Bell2008-11-251-1/+3
| | | | svn path=/trunk/libcss/; revision=5776
* overflowJohn Mark Bell2008-11-251-1/+2
| | | | svn path=/trunk/libcss/; revision=5773
* max-heightJohn Mark Bell2008-11-251-0/+2
| | | | | | | | | | | | | max-width min-height min-width orphans outline-color outline-style TODO: fix all instances of the creation of bytecode with parameters. Currently, they only consult value to determine if there are additional parameters. This means that, in the case of inherit and the default value being one which takes parameters, spurious space is allocated in the bytecode. svn path=/trunk/libcss/; revision=5771
* list-style-type.John Mark Bell2008-11-251-1/+17
| | | | | | Apparently, upper-greek doesn't exist, so remove it from the bytecode. svn path=/trunk/libcss/; revision=5769
* list-style-positionJohn Mark Bell2008-11-251-1/+3
| | | | svn path=/trunk/libcss/; revision=5768
* Port css21 frontend to new object APIJohn Mark Bell2008-11-091-38/+24
| | | | svn path=/trunk/libcss/; revision=5676
* Port libcss to new lpu API.John Mark Bell2008-11-091-31/+41
| | | | | | Make lexer, core parser, and css21 parser constructors&destructors return errors svn path=/trunk/libcss/; revision=5674
* font-variant, font-weightJohn Mark Bell2008-10-261-1/+6
| | | | svn path=/trunk/libcss/; revision=5644
* font-styleJohn Mark Bell2008-10-261-1/+4
| | | | svn path=/trunk/libcss/; revision=5643
* font-sizeJohn Mark Bell2008-10-261-1/+10
| | | | svn path=/trunk/libcss/; revision=5642
* empty-cellsJohn Mark Bell2008-10-261-0/+3
| | | | svn path=/trunk/libcss/; revision=5640
* elevationJohn Mark Bell2008-10-261-1/+6
| | | | svn path=/trunk/libcss/; revision=5639
* directionJohn Mark Bell2008-10-261-1/+21
| | | | | | display svn path=/trunk/libcss/; revision=5638
* border-collapseJohn Mark Bell2008-10-261-0/+4
| | | | | | | | {top,right,bottom,left} s/parse_length_specifier/parse_unit_specifier/g Fix error propagation in some cases. svn path=/trunk/libcss/; revision=5634
* border-{top,right,bottom,left}-{style,width}John Mark Bell2008-10-261-1/+14
| | | | svn path=/trunk/libcss/; revision=5633
* A bunch of property parsers.John Mark Bell2008-10-251-4/+25
| | | | | | | | | | Split out !important parsing into a separate function. Support for dumping bytecode to a file handle in some kind of human-readable format. Strings can be represented in the bytecode as a pointer, length pair rather than embedding the string data into the bytecode -- all strings are interned by the core syntax parser. Add todo relating to early destruction of parser object (it shouldn't be needed once parsing is complete). Note documented issue surrounding interned string dictionary, however. In general, it seems wasteful to create a new dictionary containing string representations of keywords for every single parser instance. It would be better to have one central (statically allocated?) dictionary for this and then each parser instance can have a smaller dictionary containing any unknown strings contained within the stylesheet being parsed (e.g. string constants or URLs). svn path=/trunk/libcss/; revision=5627
* Something approximating a parser for clear.John Mark Bell2008-10-231-3/+13
| | | | | | Provide API to create/destroy css_styles and append them to css_rules. svn path=/trunk/libcss/; revision=5625
* Parse common part of declarations.John Mark Bell2008-10-221-3/+199
| | | | | | Stub out handlers for properties. svn path=/trunk/libcss/; revision=5620
* Update commentJohn Mark Bell2008-10-191-1/+8
| | | | svn path=/trunk/libcss/; revision=5604
* Fix parsing of combinators: the CSS 2.1 spec grammar contains inaccuracies ↵John Mark Bell2008-10-191-11/+35
| | | | | | | | -- combinators may be preceded by whitespace. Fix handling of whitespace after a selector list: again, the CSS 2.1 grammar isn't accurate here. svn path=/trunk/libcss/; revision=5603
* Finish selector list parsingJohn Mark Bell2008-10-191-75/+411
| | | | svn path=/trunk/libcss/; revision=5599
* More work on selector list parsingJohn Mark Bell2008-10-181-18/+99
| | | | svn path=/trunk/libcss/; revision=5597
* Minor changes.John Mark Bell2008-09-051-2/+0
| | | | svn path=/trunk/libcss/; revision=5255
* Turn internal representation outline into a header file.John Mark Bell2008-08-081-0/+1
| | | | svn path=/trunk/libcss/; revision=4964
* s/handleSelector/handleSelectorList/John Mark Bell2008-08-051-3/+3
| | | | svn path=/trunk/libcss/; revision=4923
* Disable @media and @page -- I'd rather focus on non-nested blocks in the ↵John Mark Bell2008-08-051-0/+7
| | | | | | first instance. svn path=/trunk/libcss/; revision=4922
* Make selector token vector be associated with the ruleset, rather than ↵John Mark Bell2008-08-051-49/+72
| | | | | | | | | having its own event type. Store details about the current construct on the context stack. Document block-content, selector, and declaration stuff. svn path=/trunk/libcss/; revision=4921
* Something approximating @importJohn Mark Bell2008-08-041-4/+29
| | | | svn path=/trunk/libcss/; revision=4904
* Beginnings of a mechanism to intern known strings and compare pointers ↵John Mark Bell2008-08-041-13/+33
| | | | | | effectively. svn path=/trunk/libcss/; revision=4903
* Handle @charsetJohn Mark Bell2008-08-041-1/+24
| | | | svn path=/trunk/libcss/; revision=4901
* Stub out at-rule handlingJohn Mark Bell2008-08-041-1/+46
| | | | svn path=/trunk/libcss/; revision=4899
* Change API of event callback to return css_error (this is more useful than bool)John Mark Bell2008-08-041-46/+155
| | | | | | Implement all the context-related event handlers in the stage 2 parser. svn path=/trunk/libcss/; revision=4898
* More stub.John Mark Bell2008-08-011-3/+140
| | | | svn path=/trunk/libcss/; revision=4855
* Stub out a CSS 2.1 stage 2 parser.John Mark Bell2008-08-011-0/+96
Parser core doesn't need to know about css_stylesheet, so change its API. svn path=/trunk/libcss/; revision=4854