Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
... | |||||
* | eshtrans/Makefile: Build eshtrans with itself | P. J. McDermott | 2016-02-23 | 2 | -4/+30 |
| | | | | The old bootstrapping/stage-one makefile is kept at Makefile.old. | ||||
* | ..Now you don't | P. J. McDermott | 2016-02-23 | 1 | -18/+0 |
| | |||||
* | Pre-eshld three-stage bootstrap script: Now you see it... | P. J. McDermott | 2016-02-23 | 1 | -0/+18 |
| | | | | | | eshtrans was first able to pass a three-stage bootstrap at commit f6e7120 and failed to bootstrap with this script beginning at commit c8148e0 (when the runtime library became required). | ||||
* | ...Now you don't | P. J. McDermott | 2016-02-23 | 4 | -627/+0 |
| | |||||
* | Old runtime library research scripts: Now you see them... | P. J. McDermott | 2016-02-23 | 4 | -0/+627 |
| | | | | | | | | | Modification dates: research1.sh: 2016-02-13 14:44:30 -0500 research2.sh: 2016-02-13 19:25:25 -0500 research3.sh: 2016-02-14 17:56:33 -0500 research4.sh: 2016-02-23 01:26:54 -0500 | ||||
* | README: New file | P. J. McDermott | 2016-02-23 | 1 | -0/+48 |
| | |||||
* | eshld/eshrt: Don't run unset with no arguments | P. J. McDermott | 2016-02-23 | 1 | -2/+8 |
| | | | | | | | | | | | ksh93 and zsh don't like that: $ ksh93 test Usage: unset [-nfv] name... $ zsh test __fn_ctxsw:unset:24: not enough arguments __fn_ctxsw:unset:24: not enough arguments [...] | ||||
* | eshtrans/backend: Don't write trailing spaces | P. J. McDermott | 2016-02-23 | 1 | -1/+14 |
| | |||||
* | eshtrans/backend: Add static var values array initialization | P. J. McDermott | 2016-02-23 | 1 | -0/+1 |
| | |||||
* | eshtrans/Makefile, eshld/Makefile: Make executables executable | P. J. McDermott | 2016-02-23 | 2 | -0/+2 |
| | |||||
* | eshtrans/backend: Fix names in static function arrays | P. J. McDermott | 2016-02-23 | 1 | -1/+1 |
| | |||||
* | eshtrans/frontend: Inject ";" before __fn_end() call | P. J. McDermott | 2016-02-23 | 1 | -0/+1 |
| | |||||
* | eshtrans/backend: Add __tu_end() call | P. J. McDermott | 2016-02-23 | 2 | -3/+7 |
| | |||||
* | eshtrans/backend: Adjust whitespace after __fn_end | P. J. McDermott | 2016-02-23 | 1 | -1/+4 |
| | |||||
* | eshtrans/backend: Add TU to __fn_start calls | P. J. McDermott | 2016-02-23 | 1 | -2/+3 |
| | |||||
* | eshtrans/backend: Delimit func start/end calls with ";" | P. J. McDermott | 2016-02-23 | 1 | -2/+2 |
| | |||||
* | eshtrans/frontend: Accept any compound command in function body | P. J. McDermott | 2016-02-23 | 1 | -7/+4 |
| | |||||
* | eshld: Change header comments | P. J. McDermott | 2016-02-23 | 2 | -2/+2 |
| | |||||
* | eshld: Add runtime library | P. J. McDermott | 2016-02-23 | 4 | -24/+257 |
| | |||||
* | eshtrans: Add T_LOCAL | P. J. McDermott | 2016-02-22 | 3 | -6/+9 |
| | |||||
* | eshld/Makefile: New file | P. J. McDermott | 2016-02-22 | 1 | -0/+21 |
| | |||||
* | Add basic eshld | P. J. McDermott | 2016-02-22 | 2 | -0/+215 |
| | |||||
* | .gitignore: New file | P. J. McDermott | 2016-02-22 | 1 | -0/+26 |
| | |||||
* | eshtrans/Makefile: New file | P. J. McDermott | 2016-02-22 | 1 | -0/+27 |
| | |||||
* | eshtrans/backend: Add function start/end calls | P. J. McDermott | 2016-02-22 | 1 | -3/+19 |
| | |||||
* | 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: Add function start/end tokens | P. J. McDermott | 2016-02-22 | 1 | -0/+6 |
| | |||||
* | eshtrans/backend: Add support for static vars and functions | P. J. McDermott | 2016-02-22 | 2 | -0/+64 |
| | |||||
* | eshtrans/backend: Generate translation unit ID | P. J. McDermott | 2016-02-22 | 5 | -3/+21 |
| | |||||
* | eshtrans: Add proper user interface | P. J. McDermott | 2016-02-21 | 1 | -95/+69 |
| | |||||
* | Remove old demo parsing code | P. J. McDermott | 2016-02-21 | 4 | -1838/+0 |
| | |||||
* | eshtrans/frontend: Fix line numbers | P. J. McDermott | 2016-02-21 | 2 | -2/+6 |
| | |||||
* | eshtrans/frontend: Escape "$" in patterns | P. J. McDermott | 2016-02-21 | 1 | -3/+3 |
| | |||||
* | eshtrans: Accept any input file | P. J. McDermott | 2016-02-21 | 1 | -3/+5 |
| | | | | eshtrans is now able to compile itself. | ||||
* | 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 | 4 | -3/+34 |
| | | | | Also fix a couple bugs in accept(). | ||||
* | eshtrans/frontend: Don't trim trailing tokens from scanners | P. J. McDermott | 2016-02-21 | 2 | -28/+19 |
| | | | | | | | | | | | | | | | | | | 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/backend: Don't add a space after "(" | P. J. McDermott | 2016-02-21 | 2 | -5/+8 |
| | |||||
* | eshtrans/frontend: Count singly quoted newlines | P. J. McDermott | 2016-02-21 | 2 | -2/+7 |
| | |||||
* | 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 | 2 | -2/+13 |
| | |||||
* | eshtrans/frontend: Don't eat char after wordexp in arithmetic | P. J. McDermott | 2016-02-21 | 2 | -3/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 2 | -14/+42 |
| | |||||
* | eshtrans: Add tests with comments and leading linebreaks | P. J. McDermott | 2016-02-21 | 1 | -1/+4 |
| | |||||
* | 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 | 8 | -0/+2003 |
| | | | | | | | 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.) | ||||
* | accept(): Use toktext() | P. J. McDermott | 2016-02-21 | 2 | -5/+7 |
| | |||||
* | tokname(): Quote symbols | P. J. McDermott | 2016-02-21 | 1 | -35/+35 |
| |