summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Divorce css_string from whatever gets stored in lpu hashes.John Mark Bell2008-12-011-4/+4
| | | | | | | | | | | | | | | | | | Use pointers to parserutils_hash_entry directly in stylesheet datastructures. The upshot of this for allzengarden.css is: 5506 slots used (of 8192 => 67.211914%) Data: 8 full blocks: 32768 bytes 9 partial blocks: 35124 bytes (of 36864 => 95.279945%) Total: 69936 (4112) (32) Hash structures: 65584 i.e. a total string dictionary size of 135,520 bytes, which is some 74,056 bytes less than before. svn path=/trunk/libcss/; revision=5859
* Use parserutils_hash instead of parserutils_dict.John Mark Bell2008-11-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | This approximately halves the size of the interned string table. We now have the following for allzengarden.css: 5507 slots used (of 8192 => 67.224121%) Data: 3 full blocks: 12288 bytes 10 partial blocks: 38946 bytes (of 40960 => 95.083008%) Total: 53488 (4112) (32) Entries: 21 full blocks: 86016 bytes 1 partial blocks: 2096 bytes (of 4096 => 51.171875%) Total: 90496 (4112) (32) Hash structures: 65592 Which gives a total dictionary size of 209,576 bytes. Note that 43% of this is parserutils_hash_entry structures (length-pointer pairs). It would be good, therefore, to be able to purge these. svn path=/trunk/libcss/; revision=5852
* css_string is now the same as a parserutils_dict_entry. This allows us to ↵John Mark Bell2008-11-271-4/+6
| | | | | | | | | | 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
* Fix number parsing and make test code automatically determine correctness.John Mark Bell2008-11-241-1/+2
| | | | | | | More test data, which covers everything. Fix includes in libcss/types.h svn path=/trunk/libcss/; revision=5764
* Make stylesheet component constructors/destructors report errorsJohn Mark Bell2008-11-091-3/+3
| | | | svn path=/trunk/libcss/; revision=5675
* Modify CSS2.1 frontend test driver to use the public stylesheet API.John Mark Bell2008-09-251-0/+8
| | | | | | Media type handling may need to change -- 32bits may not be large enough in the long term, and there's no sensible way of extending this without causing ABI breakage in the future. svn path=/trunk/libcss/; revision=5439
* Create a parser instance for a stylesheet. Also create a level-specific ↵John Mark Bell2008-09-251-1/+1
| | | | | | frontend. This probably wants reworking as we don't really want to be switching on the language level every time we want to interact with the parser frontend. svn path=/trunk/libcss/; revision=5437
* Mechanism for the client to select the language level.John Mark Bell2008-09-252-8/+20
| | | | svn path=/trunk/libcss/; revision=5436
* Add API to get/set a stylesheet's disabled stateJohn Mark Bell2008-09-251-2/+3
| | | | svn path=/trunk/libcss/; revision=5435
* Implement most of stylesheet's public APIJohn Mark Bell2008-09-251-0/+2
| | | | svn path=/trunk/libcss/; revision=5434
* Public stylesheet API & stubbed out implementations.John Mark Bell2008-09-255-8/+53
| | | | | | Make public headers use libcss_ as their guard macro prefix. svn path=/trunk/libcss/; revision=5433
* Implement the first-stage parser.John Mark Bell2008-07-301-0/+2
| | | | | | | | | | | Things missing: 1) Recovery after parse errors 2) Event emission (the locations of DEBUG_EVENTS are about right for this) 3) A second-stage parser 4) Any kind of testsuite svn path=/trunk/libcss/; revision=4825
* Import beginnings of a CSS parsing library.John Mark Bell2008-05-014-0/+114
Currently comprises a lexer. svn path=/trunk/libcss/; revision=4112