Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Give backtraces for diagnostics from macros and include files. | Tavian Barnes | 2010-04-18 | 1 | -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 Barnes | 2010-04-18 | 1 | -33/+11 |
| | |||||
* | Fix segfault on parse error within macro. | Tavian Barnes | 2010-04-18 | 1 | -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 Barnes | 2010-04-07 | 1 | -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 Barnes | 2010-03-24 | 1 | -18/+18 |
| | |||||
* | Use $var instead of __var__ for internal symbols. | Tavian Barnes | 2010-03-23 | 1 | -19/+19 |
| | |||||
* | Implement macro support. | Tavian Barnes | 2010-03-23 | 1 | -2/+178 |
| | |||||
* | Check for malloc() failures. | Tavian Barnes | 2010-03-12 | 1 | -0/+2 |
| | |||||
* | Check for strdup() failures. | Tavian Barnes | 2010-03-12 | 1 | -0/+5 |
| | |||||
* | Don't leak a file handle on parse failures from within includes. | Tavian Barnes | 2010-02-12 | 1 | -0/+5 |
| | |||||
* | Support stream directives. | Tavian Barnes | 2010-02-11 | 1 | -83/+153 |
| | |||||
* | Only show user string in #include error messages. | Tavian Barnes | 2010-02-11 | 1 | -3/+5 |
| | |||||
* | Don't leak memory on parse failures from within buffers. | Tavian Barnes | 2010-02-09 | 1 | -0/+12 |
| | |||||
* | New dmnsn_assert() macro for invariant violations. | Tavian Barnes | 2010-02-09 | 1 | -14/+7 |
| | |||||
* | Support #include. | Tavian Barnes | 2010-02-09 | 1 | -18/+209 |
| | |||||
* | "Support" the #version directive. | Tavian Barnes | 2010-02-05 | 1 | -0/+66 |
| | |||||
* | Fix compiler warning from last commit. | Tavian Barnes | 2010-02-03 | 1 | -1/+3 |
| | |||||
* | Fix #else handling. | Tavian Barnes | 2010-02-03 | 1 | -3/+12 |
| | |||||
* | Implement #while. | Tavian Barnes | 2010-02-03 | 1 | -41/+150 |
| | |||||
* | Support #ifdef and #ifndef. | Tavian Barnes | 2010-02-02 | 1 | -1/+3 |
| | |||||
* | Skip over invalid tokens in non-taken conditionals. | Tavian Barnes | 2010-02-02 | 1 | -4/+6 |
| | |||||
* | Implement #if. | Tavian Barnes | 2010-02-02 | 1 | -6/+155 |
| | |||||
* | Modularise the middle tier a bit. | Tavian Barnes | 2010-02-01 | 1 | -116/+150 |
| | |||||
* | Implement #declare, #local, and #undef in middle tier. | Tavian Barnes | 2010-02-01 | 1 | -2/+205 |
| | | | | Oh God this is ugly... | ||||
* | Begin middle-tier lexer. | Tavian Barnes | 2010-01-29 | 1 | -0/+30 |
| | |||||
* | Use flex for the tokenizer. | Tavian Barnes | 2009-11-23 | 1 | -1597/+0 |
| | |||||
* | Implement dmnsn_print_astree_sexpr(). | Tavian Barnes | 2009-10-31 | 1 | -9/+9 |
| | |||||
* | (Sort of) parse boxes. | Tavian Barnes | 2009-10-30 | 1 | -1/+1 |
| | |||||
* | Correctly tokenize <=, >= and !=. | Tavian Barnes | 2009-10-29 | 1 | -8/+46 |
| | |||||
* | Support all POV-Ray keywords. | Tavian Barnes | 2009-10-29 | 1 | -7/+857 |
| | |||||
* | Correct locale "transaction" handling in dmnsn_tokenize(). | Tavian Barnes | 2009-10-29 | 1 | -8/+8 |
| | |||||
* | Rename DMNSN_T_EXCLAMATION to DMNSN_T_BANG. | tavianator | 2009-10-29 | 1 | -22/+22 |
| | |||||
* | Refactor tokenizer a bit. | tavianator | 2009-10-29 | 1 | -26/+23 |
| | |||||
* | Don't modify lines, cols, or next in tokenizer helper functions. | Tavian Barnes | 2009-10-29 | 1 | -175/+207 |
| | |||||
* | Even more tokenizer work. | Tavian Barnes | 2009-10-29 | 1 | -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 Barnes | 2009-10-29 | 1 | -96/+96 |
| | |||||
* | Tokenize all language directives. | Tavian Barnes | 2009-10-29 | 1 | -4/+52 |
| | |||||
* | Complete string parsing. | Tavian Barnes | 2009-10-29 | 1 | -6/+69 |
| | |||||
* | Set the locale to `C' during tokenization. | Tavian Barnes | 2009-10-28 | 1 | -5/+27 |
| | |||||
* | Search in the same path as the current file for #includes. | Tavian Barnes | 2009-10-28 | 1 | -8/+27 |
| | |||||
* | Split tokenizer.sh into multiple tests. | Tavian Barnes | 2009-10-28 | 1 | -1/+1 |
| | |||||
* | Store source filename in tokens, give better diagnostics. | Tavian Barnes | 2009-10-28 | 1 | -46/+72 |
| | |||||
* | Make '#include' work. | Tavian Barnes | 2009-10-28 | 1 | -0/+33 |
| | |||||
* | Tokenize strings and language directives. | Tavian Barnes | 2009-10-28 | 1 | -3/+140 |
| | |||||
* | Tokenize keywords. | Tavian Barnes | 2009-10-28 | 1 | -11/+38 |
| | |||||
* | Tokenize identifiers. | Tavian Barnes | 2009-10-28 | 1 | -6/+41 |
| | |||||
* | Fix line calculation in comment tokenizer. | Tavian Barnes | 2009-10-28 | 1 | -0/+1 |
| | |||||
* | Split some tokenizing work out into helper functions. | Tavian Barnes | 2009-10-28 | 1 | -56/+82 |
| | |||||
* | Ignore comments in tokenizer. | Tavian Barnes | 2009-10-27 | 1 | -4/+35 |
| | |||||
* | Add line and column numbers to tokens. | Tavian Barnes | 2009-10-27 | 1 | -1/+7 |
| |