summaryrefslogtreecommitdiff
path: root/src/parse/language.c
Commit message (Collapse)AuthorAgeFilesLines
* Silence uninitialised use warningrjek/clang-warningsRob Kendrick (humdrum)2013-04-251-1/+1
|
* Cleanup: Remove unused UNUSED()Daniel Silverstone2012-07-191-2/+0
|
* @font-face support. Credit: James MontgomerieJohn Mark Bell2011-12-041-6/+36
| | | | | | Things missing: parser tests; the following descriptors: font-feature-settings, font-stretch, font-variant, unicode-range. svn path=/trunk/libcss/; revision=13244
* Extend lifetime of property stringsJohn Mark Bell2011-10-061-9/+1
| | | | svn path=/trunk/libcss/; revision=12974
* Tidy upJohn Mark Bell2011-10-061-1/+0
| | | | svn path=/trunk/libcss/; revision=12973
* Avoid interning propstrings table for every stylesheet, style tag and style ↵Michael Drake2011-10-061-14/+6
| | | | | | attribute. svn path=/trunk/libcss/; revision=12972
* CSS3 NamespacesJohn Mark Bell2011-03-121-35/+299
| | | | svn path=/trunk/libcss/; revision=11972
* Pedantic whitespace insertionJohn Mark Bell2011-01-311-0/+1
| | | | svn path=/trunk/libcss/; revision=11574
* C89.François Revel2011-01-311-1/+2
| | | | svn path=/trunk/libcss/; revision=11573
* CSS3 SelectorsJohn Mark Bell2011-01-311-75/+401
| | | | svn path=/trunk/libcss/; revision=11557
* Rename all css_[^_] internal symbols to css__ so that they're nicely namespacedDaniel Silverstone2011-01-261-55/+55
| | | | svn path=/trunk/libcss/; revision=11492
* Ensure there are zero global symbols without css_ or css__ in front of them. ↵Daniel Silverstone2011-01-201-2/+2
| | | | | | This helps prevent confusion if someone else wants a function called parse_background or similar svn path=/trunk/libcss/; revision=11416
* Merge parser autogeneration and string handling refactor branch ↵Vincent Sanders2011-01-191-6/+13
| | | | | | r=jmb,kinnison,vince svn path=/trunk/libcss/; revision=11408
* Hack around platform headers doing the likes of typedef float FLOAT;John Mark Bell2010-12-291-2/+3
| | | | svn path=/trunk/libcss/; revision=11138
* Provide notification hook for imported stylesheets, to enable clients to ↵John Mark Bell2010-12-051-0/+12
| | | | | | parallelise their processing svn path=/trunk/libcss/; revision=10999
* Make libcss suitable for the new libwapcaplet behaviour.Daniel Silverstone2010-03-281-37/+39
| | | | svn path=/trunk/libcss/; revision=10168
* Fix libcss to use new libwapcaplet behaviour.Daniel Silverstone2010-03-271-69/+38
| | | | | | | TODO: update the tests to include a refcounting proof svn path=/trunk/libcss/; revision=10162
* If, after parsing the media list, we've ended up with no media whatsoever, ↵John Mark Bell2009-07-271-1/+6
| | | | | | then the list must have been blank, which implies CSS_MEDIA_ALL. svn path=/trunk/libcss/; revision=8822
* Don't intern lower-case versions of strings. Use ↵John Mark Bell2009-07-271-30/+117
| | | | | | lwc_context_string_caseless_isequal, instead. svn path=/trunk/libcss/; revision=8815
* Change mechanism for handling case sensitivity of element names. Now has ↵John Mark Bell2009-07-171-4/+1
| | | | | | | | another selection handler callback for this. Change selector hash to use an ASCII case-insensitive hash function. svn path=/trunk/libcss/; revision=8602
* Hacky avoidance of element name case insensitivity. The correct solution is ↵John Mark Bell2009-07-161-1/+4
| | | | | | for the client to tell us the sensitivity when creating the stylesheet. svn path=/trunk/libcss/; revision=8573
* It probably helps to remember that @import also contains URL data.John Mark Bell2009-07-011-1/+19
| | | | svn path=/trunk/libcss/; revision=8229
* Less pointless inliningJohn Mark Bell2009-06-271-21/+21
| | | | svn path=/trunk/libcss/; revision=8033
* Support for parsing inline stylesJohn Mark Bell2009-06-261-4/+7
| | | | svn path=/trunk/libcss/; revision=8024
* Nested block support.John Mark Bell2009-06-261-75/+207
| | | | svn path=/trunk/libcss/; revision=8014
* Any declaration with non-whitespace tokens unconsumed after parsing the ↵John Mark Bell2009-06-251-1/+11
| | | | | | property value and potential !important is invalid. svn path=/trunk/libcss/; revision=7970
* Centralise !important handling.John Mark Bell2009-06-181-0/+14
| | | | | | Document background-attachment parser and make it behave correctly. svn path=/trunk/libcss/; revision=7856
* Lose redundant assignmentJohn Mark Bell2009-05-271-1/+1
| | | | svn path=/trunk/libcss/; revision=7585
* More refactoring groundwork. This actually compiles and passes the testsuite.John Mark Bell2009-05-261-62/+0
| | | | svn path=/trunk/libcss/; revision=7556
* Groundwork for property parser refactoring.John Mark Bell2009-05-261-2/+1
| | | | svn path=/trunk/libcss/; revision=7555
* Pedantic line wrappingJohn Mark Bell2009-05-261-1/+2
| | | | svn path=/trunk/libcss/; revision=7554
* A bunch of c89.John Mark Bell2009-04-151-6/+7
| | | | | | | Lose trailing commas. GCC 2.95 compatibility. svn path=/trunk/libcss/; revision=7099
* Port libcss to libwapcaplet.Daniel Silverstone2009-02-141-7/+16
| | | | | | | | | It passes the tests, perhaps we need more of them. Lifetimes of lwc_string objects really need attention before we can consider this finished. svn path=/trunk/libcss/; revision=6517
* Rework handling of imported stylesheets.John Mark Bell2009-02-141-37/+2
| | | | | | No longer is the client called back mid-parse. Instead, they must acquire details of and process imported stylesheets after css_stylesheet_data_done() has been called on the parent sheet. The return code of css_stylesheet_data_done() informs the client of the need to process imported sheets. svn path=/trunk/libcss/; revision=6504
* Parse media type list in @import ruleJohn Mark Bell2009-02-141-6/+50
| | | | svn path=/trunk/libcss/; revision=6490
* I guess it helps if you actually flag that you've had a valid statement, so ↵John Mark Bell2009-02-141-0/+6
| | | | | | @import/@charset cease to take effect. svn path=/trunk/libcss/; revision=6484
* Drop css_error_handler and rename css_alloc to css_allocator_fnDaniel Silverstone2009-02-141-2/+2
| | | | svn path=/trunk/libcss/; revision=6482
* Assert that we've got a style once the property handler's returned CSS_OK.John Mark Bell2009-02-141-9/+7
| | | | svn path=/trunk/libcss/; revision=6479
* Distinguish between pseudo classes and pseudo elementsJohn Mark Bell2009-02-101-2/+22
| | | | svn path=/trunk/libcss/; revision=6406
* Simplify API of css_stylesheet_selector_create -- it's always used to create ↵John Mark Bell2009-01-251-4/+2
| | | | | | element selectors. Everything else is handled via detail. svn path=/trunk/libcss/; revision=6266
* Make @import actually create a rule and attempt some kind of fetch logic.John Mark Bell2009-01-141-1/+61
| | | | | | | There's still a bunch of outstanding functionality here (like URL resolution and media list parsing). Also, there's currently no way of telling the client to stop fetching data for a stylesheet (and, more importantly, not to attempt to access the stylesheet again as it's about to be destroyed) svn path=/trunk/libcss/; revision=6062
* Create charset rule objects.John Mark Bell2009-01-141-2/+28
| | | | svn path=/trunk/libcss/; revision=6059
* Given that we're going to be copying selector details, anyway, it seems ↵John Mark Bell2008-12-011-19/+13
| | | | | | pointless to create objects on the heap which can equally well be on the stack, given the shortness of their lifetime. svn path=/trunk/libcss/; revision=5863
* Retain pointer to dictionary entries so we don't have to rediscover it later.John Mark Bell2008-12-011-17/+17
| | | | svn path=/trunk/libcss/; revision=5862
* Use parserutils_hash instead of parserutils_dict.John Mark Bell2008-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* Tidy things up somewhat.John Mark Bell2008-11-281-0/+1002
css21 is now language, as everything will share the same parsing rules (although there is facility to alter behaviour based upon the language level -- consult language->sheet->level and then decide what to do) svn path=/trunk/libcss/; revision=5815