path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* All numerical values are represented in 22:10 fixed point.John Mark Bell2008-11-231-9/+4
| | | | svn path=/trunk/libcss/; revision=5762
* Update Lexer/Token documentation to handle CSS numbers correctly.John Mark Bell2008-10-272-3/+3
| | | | | | This is delightful. I get to rework the lexer state machine. Grr. svn path=/trunk/libcss/; revision=5646
* A bunch of property parsers.John Mark Bell2008-10-251-3/+3
| | | | | | | | | | 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
* 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
* 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
* Implement the first-stage parser.John Mark Bell2008-07-301-0/+210
| | | | | | | | | | | 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
* Update lexer documentationJohn Mark Bell2008-06-262-0/+2
| | | | svn path=/trunk/libcss/; revision=4456
* Import beginnings of a CSS parsing library.John Mark Bell2008-05-012-0/+95
Currently comprises a lexer. svn path=/trunk/libcss/; revision=4112