summaryrefslogtreecommitdiff
path: root/src/parse/parse.c
Commit message (Collapse)AuthorAgeFilesLines
* Flag hideous todo thanks to CSSOMJohn Mark Bell2008-08-051-0/+3
| | | | svn path=/trunk/libcss/; revision=4924
* Make selector token vector be associated with the ruleset, rather than ↵John Mark Bell2008-08-051-33/+25
| | | | | | | | | 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
* Beginnings of a mechanism to intern known strings and compare pointers ↵John Mark Bell2008-08-041-0/+25
| | | | | | effectively. svn path=/trunk/libcss/; revision=4903
* For tokens where there's a possibility of case differences requiring case ↵John Mark Bell2008-08-041-89/+136
| | | | | | insensitive matching, intern lower cased versions of strings alongside the originals. svn path=/trunk/libcss/; revision=4902
* Change API of event callback to return css_error (this is more useful than bool)John Mark Bell2008-08-041-2/+3
| | | | | | Implement all the context-related event handlers in the stage 2 parser. svn path=/trunk/libcss/; revision=4898
* Only intern strings when we get a token from the lexer. Strings in tokens ↵John Mark Bell2008-08-011-14/+16
| | | | | | 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
* Stub out a CSS 2.1 stage 2 parser.John Mark Bell2008-08-011-7/+3
| | | | | | 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-1/+2
| | | | svn path=/trunk/libcss/; revision=4852
* Silence debugJohn Mark Bell2008-08-011-1/+1
| | | | svn path=/trunk/libcss/; revision=4851
* EOF isn't a parse errorJohn Mark Bell2008-08-011-2/+0
| | | | svn path=/trunk/libcss/; revision=4850
* Fix handling of empty strings.John Mark Bell2008-08-011-28/+16
| | | | | | | | 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 at-rule processing.John Mark Bell2008-07-311-7/+5
| | | | | | Fix malformed selector input to actually result in a terminated block. svn path=/trunk/libcss/; revision=4848
* Something approximating recovery from malformed at-rules.John Mark Bell2008-07-311-6/+141
| | | | svn path=/trunk/libcss/; revision=4847
* Improve recovery from malformed declarationsJohn Mark Bell2008-07-311-69/+195
| | | | | | Implement recovery from malformed selectors svn path=/trunk/libcss/; revision=4846
* Generate and emit eventsJohn Mark Bell2008-07-301-0/+82
| | | | svn path=/trunk/libcss/; revision=4828
* Implement error recovery for malformed declarations.John Mark Bell2008-07-301-12/+176
| | | | svn path=/trunk/libcss/; revision=4826
* Implement the first-stage parser.John Mark Bell2008-07-301-0/+1671
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