Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | eshtrans/frontend: Drop extra scan_word() argument | P. J. McDermott | 2016-02-28 | 1 | -1/+1 |
| | |||||
* | eshtrans/frontend: Fix lsetc() | P. J. McDermott | 2016-02-28 | 1 | -8/+4 |
| | |||||
* | eshtrans/frontend: Fix lungetc() | P. J. McDermott | 2016-02-27 | 1 | -1/+4 |
| | |||||
* | Revert "eshtrans/frontend: Comment out dbg() and its calls" | P. J. McDermott | 2016-02-27 | 1 | -16/+16 |
| | | | | | | | This reverts commit c9b9e578ed90b5421ae77f7e55941be09f17bdab. Conflicts: eshtrans/frontend/lexer.esh | ||||
* | eshtrans/frontend: Fix ungetc code and run_sublexer() | P. J. McDermott | 2016-02-27 | 1 | -39/+24 |
| | |||||
* | [WIP] eshtrans/frontend: Split input into internal char array | P. J. McDermott | 2016-02-27 | 2 | -21/+59 |
| | |||||
* | eshtrans/frontend: Fix string length param expansions | P. J. McDermott | 2016-02-27 | 1 | -1/+1 |
| | |||||
* | eshtrans/frontend: Use printf in accept() instead of str concat | P. J. McDermott | 2016-02-26 | 1 | -13/+7 |
| | | | | | This results in a very slight performance boost, trading memcpy()s for write()s. | ||||
* | eshtrans/frontend: Comment out dbg() and its calls | P. J. McDermott | 2016-02-26 | 1 | -16/+16 |
| | |||||
* | eshtrans/frontend: Inject ";" before __fn_end() call | P. J. McDermott | 2016-02-23 | 1 | -0/+1 |
| | |||||
* | eshtrans/frontend: Accept any compound command in function body | P. J. McDermott | 2016-02-23 | 1 | -7/+4 |
| | |||||
* | eshtrans: Add T_LOCAL | P. J. McDermott | 2016-02-22 | 2 | -6/+7 |
| | |||||
* | eshtrans/frontend: Accept T_RETURN | P. J. McDermott | 2016-02-22 | 1 | -0/+5 |
| | |||||
* | eshtrans/frontend: Inject function start/end tokens | P. J. McDermott | 2016-02-22 | 1 | -2/+8 |
| | |||||
* | eshtrans/frontend: Add inject() function | P. J. McDermott | 2016-02-22 | 1 | -0/+9 |
| | |||||
* | eshtrans/backend: Generate translation unit ID | P. J. McDermott | 2016-02-22 | 2 | -3/+6 |
| | |||||
* | eshtrans/frontend: Fix line numbers | P. J. McDermott | 2016-02-21 | 1 | -1/+3 |
| | |||||
* | eshtrans/frontend: Escape "$" in patterns | P. J. McDermott | 2016-02-21 | 1 | -3/+3 |
| | |||||
* | eshtrans/frontend: Fix validation patterns in accept() | P. J. McDermott | 2016-02-21 | 1 | -4/+6 |
| | |||||
* | eshtrans/frontend: Handle T_IO_NUMBERs | P. J. McDermott | 2016-02-21 | 2 | -2/+17 |
| | | | | Also fix a couple bugs in accept(). | ||||
* | eshtrans/frontend: Don't trim trailing tokens from scanners | P. J. McDermott | 2016-02-21 | 1 | -26/+12 |
| | | | | | | | | | | | | | | | | | | Before we'd get things like this: Input: $(foo bar) Output: $(foo ) Input: $(($(foo bar) + 1)) Output: $(($(foo ) + 1)) Now we get things like this: Input: $(foo bar) Output: $(foo bar ) Input: $(($(foo bar) + 1)) Output: $(($(foo bar ) + 1)) | ||||
* | eshtrans/frontend: Count singly quoted newlines | P. J. McDermott | 2016-02-21 | 1 | -0/+4 |
| | |||||
* | eshtrans/frontend: Fix missing ";;" | P. J. McDermott | 2016-02-21 | 1 | -0/+1 |
| | | | | | eshtrans caught an actual syntax error in itself (!), although oddly other shells didn't consider this an error. | ||||
* | eshtrans/frontend: Fix handling of single quote in double quotes | P. J. McDermott | 2016-02-21 | 1 | -0/+7 |
| | |||||
* | eshtrans/frontend: Don't eat char after wordexp in arithmetic | P. J. McDermott | 2016-02-21 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: Trying script: $(($foo + 1)) Tokens: T_FNAME<US>$(($foo+ 1))<RS>T_NEWLINE<RS>T_EOF<RS> Token: function name "$(($foo+ 1))" Token: newline Token: end of file Generated code: $(($foo+ 1)) Trying script: $((1 + $foo)) stdin:1: Syntax error: Arithmetic expansion: ")" unexpected FAIL After: Trying script: $(($foo + 1)) Tokens: T_FNAME<US>$(($foo + 1))<RS>T_NEWLINE<RS>T_EOF<RS> Token: function name "$(($foo + 1))" Token: newline Token: end of file Generated code: $(($foo + 1)) Trying script: $((1 + $foo)) Tokens: T_FNAME<US>$((1 + $foo))<RS>T_NEWLINE<RS>T_EOF<RS> Token: function name "$((1 + $foo))" Token: newline Token: end of file Generated code: $((1 + $foo)) | ||||
* | eshtrans/frontend: Fix handling of words beginning with "\" | P. J. McDermott | 2016-02-21 | 1 | -11/+37 |
| | |||||
* | eshtrans/frontend: Accept leading linebreaks | P. J. McDermott | 2016-02-21 | 1 | -0/+1 |
| | |||||
* | Copy everything into a new eshtrans/ directory | P. J. McDermott | 2016-02-21 | 3 | -0/+1611 |
Split out and rename functions and variables where appropriate. Also add license headers. (The old scripts under parsing/ can be used under the same license.) |