summaryrefslogtreecommitdiffstats
path: root/dimension/tokenize.c
Commit message (Collapse)AuthorAgeFilesLines
* Add dmnsn_free() to match dmnsn_malloc().Tavian Barnes2010-09-261-7/+7
|
* Fix crash on parsing malformed directives.Tavian Barnes2010-07-041-10/+63
| | | | | Previously, inputs like "#if (1=1) #declare foo = #end;" would cause a segfault.
* Fix some -Wextra warnings.Tavian Barnes2010-06-151-3/+3
|
* New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get().Tavian Barnes2010-05-081-4/+2
|
* Use C99 for loop initializers.Tavian Barnes2010-05-051-3/+2
|
* Fix some includes.Tavian Barnes2010-04-271-0/+1
|
* Give backtraces for diagnostics from macros and include files.Tavian Barnes2010-04-181-20/+36
| | | | | Partly this means that dmnsn_diagnostic() can't be called anywhere except during parsing, because the dmnsn_parse_location::parent pointers dangle.
* Have dmnsn_diagnostic() take a dmnsn_parse_location.Tavian Barnes2010-04-181-33/+11
|
* Fix segfault on parse error within macro.Tavian Barnes2010-04-181-1/+2
| | | | | The macro token buffer was being freed by both yylex_cleanup() and dmnsn_delete_patricia_trie().
* New dmnsn_malloc() function, and friends.Tavian Barnes2010-04-071-14/+4
| | | | | | I'm tired of checking for malloc failures everywhere, considering it never happens. So just bail out whenever it does. A lot of stuff is guaranteed to succeed if it returns now.
* Fix parsing of #include files containing #if.Tavian Barnes2010-03-241-18/+18
|
* Use $var instead of __var__ for internal symbols.Tavian Barnes2010-03-231-19/+19
|
* Implement macro support.Tavian Barnes2010-03-231-2/+178
|
* Check for malloc() failures.Tavian Barnes2010-03-121-0/+2
|
* Check for strdup() failures.Tavian Barnes2010-03-121-0/+5
|
* Don't leak a file handle on parse failures from within includes.Tavian Barnes2010-02-121-0/+5
|
* Support stream directives.Tavian Barnes2010-02-111-83/+153
|
* Only show user string in #include error messages.Tavian Barnes2010-02-111-3/+5
|
* Don't leak memory on parse failures from within buffers.Tavian Barnes2010-02-091-0/+12
|
* New dmnsn_assert() macro for invariant violations.Tavian Barnes2010-02-091-14/+7
|
* Support #include.Tavian Barnes2010-02-091-18/+209
|
* "Support" the #version directive.Tavian Barnes2010-02-051-0/+66
|
* Fix compiler warning from last commit.Tavian Barnes2010-02-031-1/+3
|
* Fix #else handling.Tavian Barnes2010-02-031-3/+12
|
* Implement #while.Tavian Barnes2010-02-031-41/+150
|
* Support #ifdef and #ifndef.Tavian Barnes2010-02-021-1/+3
|
* Skip over invalid tokens in non-taken conditionals.Tavian Barnes2010-02-021-4/+6
|
* Implement #if.Tavian Barnes2010-02-021-6/+155
|
* Modularise the middle tier a bit.Tavian Barnes2010-02-011-116/+150
|
* Implement #declare, #local, and #undef in middle tier.Tavian Barnes2010-02-011-2/+205
| | | | Oh God this is ugly...
* Begin middle-tier lexer.Tavian Barnes2010-01-291-0/+30
|
* Use flex for the tokenizer.Tavian Barnes2009-11-231-1597/+0
|
* Implement dmnsn_print_astree_sexpr().Tavian Barnes2009-10-311-9/+9
|
* (Sort of) parse boxes.Tavian Barnes2009-10-301-1/+1
|
* Correctly tokenize <=, >= and !=.Tavian Barnes2009-10-291-8/+46
|
* Support all POV-Ray keywords.Tavian Barnes2009-10-291-7/+857
|
* Correct locale "transaction" handling in dmnsn_tokenize().Tavian Barnes2009-10-291-8/+8
|
* Rename DMNSN_T_EXCLAMATION to DMNSN_T_BANG.tavianator2009-10-291-22/+22
|
* Refactor tokenizer a bit.tavianator2009-10-291-26/+23
|
* Don't modify lines, cols, or next in tokenizer helper functions.Tavian Barnes2009-10-291-175/+207
|
* Even more tokenizer work.Tavian Barnes2009-10-291-102/+73
| | | | | | The tokenizer is now able to tokenize all of POV-Ray 3.6's include files. It turns out that some #includes may be dynamic (ex. with #writes beforehand), so the tokenizer can't directly perform includes - the executor must do this.
* Prefix tokens with DMNSN_T_.Tavian Barnes2009-10-291-96/+96
|
* Tokenize all language directives.Tavian Barnes2009-10-291-4/+52
|
* Complete string parsing.Tavian Barnes2009-10-291-6/+69
|
* Set the locale to `C' during tokenization.Tavian Barnes2009-10-281-5/+27
|
* Search in the same path as the current file for #includes.Tavian Barnes2009-10-281-8/+27
|
* Split tokenizer.sh into multiple tests.Tavian Barnes2009-10-281-1/+1
|
* Store source filename in tokens, give better diagnostics.Tavian Barnes2009-10-281-46/+72
|
* Make '#include' work.Tavian Barnes2009-10-281-0/+33
|
* Tokenize strings and language directives.Tavian Barnes2009-10-281-3/+140
|