| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Fix assertion failure when the first token within a ruleset isn't an IDENT.
svn path=/trunk/libcss/; revision=6213
|
|
|
|
| |
svn path=/trunk/libcss/; revision=6165
|
|
|
|
|
|
| |
Fix EOF handling in the core parser.
svn path=/trunk/libcss/; revision=6164
|
|
|
|
|
|
| |
Fixes content: "", for example.
svn path=/trunk/libcss/; revision=6147
|
|
|
|
| |
svn path=/trunk/libcss/; revision=5862
|
|
|
|
|
|
| |
into the css_token_type enum.
svn path=/trunk/libcss/; revision=5860
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Update eatWS appropriately. This reduces the number of calls to getToken by a million or so.
svn path=/trunk/libcss/; revision=5855
|
|
|
|
| |
svn path=/trunk/libcss/; revision=5854
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/trunk/libcss/; revision=5848
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
care about is the token type in this case.
svn path=/trunk/libcss/; revision=5806
|
|
|
|
|
|
| |
Make lexer, core parser, and css21 parser constructors&destructors return errors
svn path=/trunk/libcss/; revision=5674
|
|
|
|
| |
svn path=/trunk/libcss/; revision=4924
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
effectively.
svn path=/trunk/libcss/; revision=4903
|
|
|
|
|
|
| |
insensitive matching, intern lower cased versions of strings alongside the originals.
svn path=/trunk/libcss/; revision=4902
|
|
|
|
|
|
| |
Implement all the context-related event handlers in the stage 2 parser.
svn path=/trunk/libcss/; revision=4898
|
|
|
|
|
|
| |
that have been pushed back have already been interned, so it's stupid to re-intern every time. This has required that the lexer permits its clients to modify the data members of the css_token object. That's fine, as it assumes nothing about them (they're basically just a window onto the internal lexer state, anyway).
svn path=/trunk/libcss/; revision=4857
|
|
|
|
|
|
| |
Parser core doesn't need to know about css_stylesheet, so change its API.
svn path=/trunk/libcss/; revision=4854
|
|
|
|
| |
svn path=/trunk/libcss/; revision=4852
|
|
|
|
| |
svn path=/trunk/libcss/; revision=4851
|
|
|
|
| |
svn path=/trunk/libcss/; revision=4850
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Fix malformed selector input to actually result in a terminated block.
svn path=/trunk/libcss/; revision=4848
|
|
|
|
| |
svn path=/trunk/libcss/; revision=4847
|
|
|
|
|
|
| |
Implement recovery from malformed selectors
svn path=/trunk/libcss/; revision=4846
|
|
|
|
| |
svn path=/trunk/libcss/; revision=4828
|
|
|
|
| |
svn path=/trunk/libcss/; revision=4826
|
|
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
|