summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* A bunch of property parsers.John Mark Bell2008-10-257-55/+558
| | | | | | | | | | 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-235-8/+175
| | | | | | Provide API to create/destroy css_styles and append them to css_rules. svn path=/trunk/libcss/; revision=5625
* Actually include the opcodes header.John Mark Bell2008-10-222-2/+3
| | | | | | Fix typos. svn path=/trunk/libcss/; revision=5624
* Something approximating an enumeration of the opcode-specific value field.John Mark Bell2008-10-222-2/+633
| | | | | | Some type-related pedantry, too. svn path=/trunk/libcss/; revision=5623
* Bytecode stuffJohn Mark Bell2008-10-222-0/+166
| | | | svn path=/trunk/libcss/; revision=5621
* Parse common part of declarations.John Mark Bell2008-10-224-6/+1888
| | | | | | Stub out handlers for properties. svn path=/trunk/libcss/; revision=5620
* In hindsight, it's more likely that opcodes will be added than flags, so use ↵John Mark Bell2008-10-221-5/+5
| | | | | | 10 bits for the opcode and 8 for flags. svn path=/trunk/libcss/; revision=5619
* Provide example of typed parameter listJohn Mark Bell2008-10-211-0/+9
| | | | svn path=/trunk/libcss/; revision=5618
* Document shorthand propertiesJohn Mark Bell2008-10-211-0/+32
| | | | svn path=/trunk/libcss/; revision=5617
* Reduce space requirements by squashing opcode + flags + value into 32 bits. John Mark Bell2008-10-211-545/+431
| | | | | | | This has been achieved by reducing opcode's width from 16 to 8 bits. This is fine as there's 172 opcodes still available at present so plenty of room for expansion. Flags have been reduced from 16 to 10 bits wide and currently have 8 bits unused. This leaves 14 bits available for the opcode-specific value. No opcode needs all 14 bits at present. Inherit is now a global flag rather than a pre-defined value. This saves looking at the value field at all when styles are inherited and generally reduces complexity. svn path=/trunk/libcss/; revision=5616
* All properties done.John Mark Bell2008-10-211-23/+844
| | | | svn path=/trunk/libcss/; revision=5615
* Beginnings of a bytecode format.John Mark Bell2008-10-211-0/+318
| | | | svn path=/trunk/libcss/; revision=5611
* Style information for selector rulesets can be shared between the individual ↵John Mark Bell2008-10-201-2/+1
| | | | | | selectors in the ruleset. Therefore, hang it off the css_rule object, rather than having a separate copy for every selector in the ruleset. Selectors know which css_rule they belong to so can easily find the applicable style information. svn path=/trunk/libcss/; revision=5609
* Fix stupid.John Mark Bell2008-10-201-4/+8
| | | | svn path=/trunk/libcss/; revision=5606
* Squash warningJohn Mark Bell2008-10-201-1/+1
| | | | svn path=/trunk/libcss/; revision=5605
* 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
* Provide an internal mechanism for dumping stylesheets to a file handle.John Mark Bell2008-10-193-1/+178
| | | | | | Make the css21 test driver call this so we can see if it's working. svn path=/trunk/libcss/; revision=5602
* Finish selector list parsingJohn Mark Bell2008-10-193-77/+415
| | | | svn path=/trunk/libcss/; revision=5599
* More work on selector list parsingJohn Mark Bell2008-10-181-18/+99
| | | | svn path=/trunk/libcss/; revision=5597
* Modify CSS2.1 frontend test driver to use the public stylesheet API.John Mark Bell2008-09-253-22/+18
| | | | | | 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
* Implement css_stylesheet_append_data and css_stylesheet_data_doneJohn Mark Bell2008-09-251-10/+6
| | | | svn path=/trunk/libcss/; revision=5438
* Create a parser instance for a stylesheet. Also create a level-specific ↵John Mark Bell2008-09-253-3/+41
| | | | | | 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-253-10/+23
| | | | svn path=/trunk/libcss/; revision=5436
* Add API to get/set a stylesheet's disabled stateJohn Mark Bell2008-09-252-2/+39
| | | | svn path=/trunk/libcss/; revision=5435
* Implement most of stylesheet's public APIJohn Mark Bell2008-09-252-19/+79
| | | | svn path=/trunk/libcss/; revision=5434
* Public stylesheet API & stubbed out implementations.John Mark Bell2008-09-257-8/+193
| | | | | | Make public headers use libcss_ as their guard macro prefix. svn path=/trunk/libcss/; revision=5433
* Implement a bunch of css_stylesheet_*John Mark Bell2008-09-202-24/+107
| | | | svn path=/trunk/libcss/; revision=5376
* More API munging. Also stub out implementations of new APIs.John Mark Bell2008-09-133-1/+190
| | | | svn path=/trunk/libcss/; revision=5306
* Some idle API poking.John Mark Bell2008-09-121-7/+27
| | | | svn path=/trunk/libcss/; revision=5305
* OS X friendly install invocationJohn Mark Bell2008-09-101-3/+3
| | | | svn path=/trunk/libcss/; revision=5302
* Make install/uninstall non-silentJohn Mark Bell2008-09-091-6/+6
| | | | svn path=/trunk/libcss/; revision=5295
* Make install/uninstall consider DESTDIRJohn Mark Bell2008-09-091-8/+8
| | | | svn path=/trunk/libcss/; revision=5294
* Fix compilation of test drivers on 64bit platforms.John Mark Bell2008-09-053-17/+28
| | | | svn path=/trunk/libcss/; revision=5261
* Dependency trackingJohn Mark Bell2008-09-054-5/+64
| | | | svn path=/trunk/libcss/; revision=5258
* Fix testutils line readerJohn Mark Bell2008-09-051-1/+1
| | | | svn path=/trunk/libcss/; revision=5256
* Minor changes.John Mark Bell2008-09-052-3/+14
| | | | svn path=/trunk/libcss/; revision=5255
* Make export target usefulJohn Mark Bell2008-09-051-4/+3
| | | | svn path=/trunk/libcss/; revision=5254
* Add test case for broken comment in rule on haiku-os site.Michael Drake2008-08-282-0/+32
| | | | svn path=/trunk/libcss/; revision=5215
* Turn internal representation outline into a header file.John Mark Bell2008-08-082-0/+139
| | | | svn path=/trunk/libcss/; revision=4964
* Provide a way of modelling the likes of a[hello="foo"][bar="baz"] { ... }John Mark Bell2008-08-071-2/+4
| | | | svn path=/trunk/libcss/; revision=4957
* Sketch out the internal representation of a stylesheetJohn Mark Bell2008-08-071-0/+96
| | | | svn path=/trunk/libcss/; revision=4942
* Flag hideous todo thanks to CSSOMJohn Mark Bell2008-08-051-0/+3
| | | | svn path=/trunk/libcss/; revision=4924
* 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-054-84/+98
| | | | | | | | | 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-043-13/+61
| | | | | | effectively. svn path=/trunk/libcss/; revision=4903
* For tokens where there's a possibility of case differences requiring case ↵John Mark Bell2008-08-043-89/+140
| | | | | | insensitive matching, intern lower cased versions of strings alongside the originals. svn path=/trunk/libcss/; revision=4902
* Handle @charsetJohn Mark Bell2008-08-041-1/+24
| | | | svn path=/trunk/libcss/; revision=4901