summaryrefslogtreecommitdiff
path: root/test/parse.c
Commit message (Collapse)AuthorAgeFilesLines
* Just the one iteration -- I'm fed up of waiting for this to finish.John Mark Bell2009-01-121-1/+1
| | | | | | Multiple iterations are only of any use for benchmarking, anyway. svn path=/trunk/libcss/; revision=6051
* More modifications to allow numerous iterations for profiling.John Mark Bell2008-11-301-33/+40
| | | | | | | | | | | Overall time breakdown for allzengarden.css is approximately: lex : 37% core : 43% lang : 20% svn path=/trunk/libcss/; revision=5857
* 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-5/+11
| | | | | | | | | | 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
* Port libcss to new lpu API.John Mark Bell2008-11-091-3/+2
| | | | | | Make lexer, core parser, and css21 parser constructors&destructors return errors svn path=/trunk/libcss/; revision=5674
* Fix compilation of test drivers on 64bit platforms.John Mark Bell2008-09-051-1/+1
| | | | svn path=/trunk/libcss/; revision=5261
* Minor changes.John Mark Bell2008-09-051-1/+14
| | | | svn path=/trunk/libcss/; revision=5255
* Change API of event callback to return css_error (this is more useful than bool)John Mark Bell2008-08-041-3/+3
| | | | | | Implement all the context-related event handlers in the stage 2 parser. svn path=/trunk/libcss/; revision=4898
* Stub out a CSS 2.1 stage 2 parser.John Mark Bell2008-08-011-2/+2
| | | | | | Parser core doesn't need to know about css_stylesheet, so change its API. svn path=/trunk/libcss/; revision=4854
* Allow silencing of parser test driver.John Mark Bell2008-08-011-0/+6
| | | | svn path=/trunk/libcss/; revision=4852
* Fix handling of empty strings.John Mark Bell2008-08-011-0/+2
| | | | | | | | Parse errors in blocks are ignored -- it'll be up to the client to deal with this. Fix processing of malformed decl-list entries (e.g. foo: bar; !important;) Fix test driver to calculate remaining length correctly. svn path=/trunk/libcss/; revision=4849
* Generate and emit eventsJohn Mark Bell2008-07-301-0/+38
| | | | svn path=/trunk/libcss/; revision=4828
* Implement the first-stage parser.John Mark Bell2008-07-301-0/+79
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