Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | remove OP_PUTS and OP_PRINT, use say and write functions instead | ubq323 | 2024-06-26 | 18 | -41/+27 | |
| | ||||||
* | add cfunc type and rudimentary stdlib | ubq323 | 2024-06-26 | 8 | -16/+89 | |
| | ||||||
* | remove implicit print and adjust tests accordingly | ubq323 | 2024-06-26 | 16 | -21/+12 | |
| | ||||||
* | mandel_local test | ubq323 | 2024-06-26 | 2 | -0/+54 | |
| | ||||||
* | remove explicit toplevel (do ...) from tests | ubq323 | 2024-06-26 | 10 | -77/+68 | |
| | ||||||
* | support multiple input filenames | ubq323 | 2024-06-26 | 4 | -20/+65 | |
| | ||||||
* | parse multiple expressions | ubq323 | 2024-06-26 | 6 | -31/+21 | |
| | ||||||
* | make stackpointer less bad | ubq323 | 2024-06-26 | 1 | -17/+18 | |
| | | | | | | | | previously was the length of the stack, ie number of items above current fp, and so needed to be adjusted in each call or ret now it's just an absolute index into the stack, like it always should have been | |||||
* | vars4 test | ubq323 | 2024-06-26 | 2 | -0/+12 | |
| | ||||||
* | add setting locals | ubq323 | 2024-06-25 | 4 | -4/+30 | |
| | ||||||
* | allow local resolution into outer scopes | ubq323 | 2024-06-25 | 4 | -17/+25 | |
| | ||||||
* | more function tests | ubq323 | 2024-06-25 | 7 | -0/+35 | |
| | ||||||
* | get functions and arguments and returning to work fully | ubq323 | 2024-06-25 | 5 | -35/+62 | |
| | ||||||
* | add local variables and (let) form | ubq323 | 2024-06-24 | 8 | -20/+145 | |
| | ||||||
* | keep track of stack position while compiling | ubq323 | 2024-06-24 | 6 | -27/+82 | |
| | ||||||
* | chunk_wconst -> compile_constant | ubq323 | 2024-06-24 | 2 | -7/+7 | |
| | ||||||
* | chunk_wbc -> compile_opcode | ubq323 | 2024-06-24 | 2 | -30/+30 | |
| | ||||||
* | refactor error checking and argument parsing | ubq323 | 2024-06-24 | 5 | -34/+45 | |
| | ||||||
* | compilation of functions, and some parts of interpreting them | ubq323 | 2024-06-22 | 12 | -99/+186 | |
| | ||||||
* | add function literals | ubq323 | 2024-06-22 | 6 | -7/+98 | |
| | ||||||
* | fix circular dependencies | ubq323 | 2024-06-22 | 4 | -3/+23 | |
| | ||||||
* | put state and chunk into new compiler struct; refactor mildly | ubq323 | 2024-06-21 | 3 | -120/+118 | |
| | ||||||
* | refactor compilation of builtin forms | ubq323 | 2024-06-21 | 2 | -102/+159 | |
| | ||||||
* | optimize mandelbrot | ubq323 | 2024-06-21 | 1 | -2/+2 | |
| | ||||||
* | mandelbrot | ubq323 | 2024-06-21 | 7 | -1/+62 | |
| | ||||||
* | print -> puts | ubq323 | 2024-06-21 | 6 | -12/+12 | |
| | ||||||
* | รพ -> th | ubq323 | 2024-06-21 | 7 | -9/+9 | |
| | ||||||
* | add tests, and make dumping disasm optional | ubq323 | 2024-06-21 | 16 | -13/+107 | |
| | ||||||
* | minor optimization | ubq323 | 2024-06-21 | 3 | -5/+8 | |
| | ||||||
* | proper equality for values; deduplicate constants in compilation | ubq323 | 2024-06-21 | 3 | -1/+22 | |
| | ||||||
* | while loops, comparisons, modulo, fizzbuzz | ubq323 | 2024-06-21 | 7 | -13/+89 | |
| | ||||||
* | add (if cond if-true if-false) builtin | ubq323 | 2024-06-20 | 6 | -26/+116 | |
| | ||||||
* | add true, false, nil keywords | ubq323 | 2024-06-20 | 6 | -7/+37 | |
| | ||||||
* | globals are now variable | ubq323 | 2024-06-20 | 5 | -24/+67 | |
| | ||||||
* | add readable globals | ubq323 | 2024-06-20 | 5 | -5/+44 | |
| | ||||||
* | string interning and print statement | ubq323 | 2024-06-20 | 5 | -16/+63 | |
| | ||||||
* | pass State *S everywhere | ubq323 | 2024-06-20 | 14 | -112/+153 | |
| | | | | contains changes from a million years ago that i don't remember much about | |||||
* | refactor hashtables, and use objstrings for keys | ubq323 | 2023-08-05 | 8 | -71/+90 | |
| | | | | | doesn't yet work without string interning, which will require further refactoring | |||||
* | give M extra param for tracking alloc size; macros for allocation | ubq323 | 2023-08-04 | 4 | -9/+27 | |
| | ||||||
* | move M to its own file | ubq323 | 2023-08-04 | 6 | -19/+31 | |
| | ||||||
* | valty_str -> typename_str | ubq323 | 2023-08-04 | 4 | -4/+4 | |
| | ||||||
* | add string object values. you can't do anything with them yet | ubq323 | 2023-08-04 | 7 | -33/+93 | |
| | ||||||
* | rename "symbol" to "ident" everywhere | ubq323 | 2023-08-04 | 4 | -11/+11 | |
| | ||||||
* | add strings to parser | ubq323 | 2023-08-03 | 5 | -12/+23 | |
| | ||||||
* | remove hardcoded bytecode test | ubq323 | 2023-08-03 | 1 | -15/+0 | |
| | ||||||
* | remove run_old.c | ubq323 | 2023-08-02 | 1 | -121/+0 | |
| | ||||||
* | tersify | ubq323 | 2023-08-02 | 4 | -11/+11 | |
| | ||||||
* | compilation of basic arithmetic exprs to bytecode | ubq323 | 2023-08-01 | 8 | -31/+85 | |
| | ||||||
* | dissasembler and basic arithmetic | ubq323 | 2023-08-01 | 7 | -14/+109 | |
| | ||||||
* | bytecode vm start, can print constants currently | ubq323 | 2023-07-31 | 7 | -2/+169 | |
| |