summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fix parsing logic bug (for newer versions of packcc)ubq3232024-06-301-5/+3
|
* makefile fix?ubq3232024-06-301-0/+2
|
* add array index setting syntaxubq3232024-06-3011-16/+60
|
* add proper tail callsubq3232024-06-296-44/+88
|
* def form for implicit scopesubq3232024-06-287-47/+87
|
* expand todoubq3232024-06-271-1/+32
|
* add vars5 testubq3232024-06-272-0/+12
|
* more testsubq3232024-06-2712-23/+94
|
* array literalsubq3232024-06-2616-5/+71
|
* add arrays, appending, getting length, indexingubq3232024-06-269-10/+125
|
* func5 testubq3232024-06-262-0/+14
|
* remove OP_PUTS and OP_PRINT, use say and write functions insteadubq3232024-06-2618-41/+27
|
* add cfunc type and rudimentary stdlibubq3232024-06-268-16/+89
|
* remove implicit print and adjust tests accordinglyubq3232024-06-2616-21/+12
|
* mandel_local testubq3232024-06-262-0/+54
|
* remove explicit toplevel (do ...) from testsubq3232024-06-2610-77/+68
|
* support multiple input filenamesubq3232024-06-264-20/+65
|
* parse multiple expressionsubq3232024-06-266-31/+21
|
* make stackpointer less badubq3232024-06-261-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 testubq3232024-06-262-0/+12
|
* add setting localsubq3232024-06-254-4/+30
|
* allow local resolution into outer scopesubq3232024-06-254-17/+25
|
* more function testsubq3232024-06-257-0/+35
|
* get functions and arguments and returning to work fullyubq3232024-06-255-35/+62
|
* add local variables and (let) formubq3232024-06-248-20/+145
|
* keep track of stack position while compilingubq3232024-06-246-27/+82
|
* chunk_wconst -> compile_constantubq3232024-06-242-7/+7
|
* chunk_wbc -> compile_opcodeubq3232024-06-242-30/+30
|
* refactor error checking and argument parsingubq3232024-06-245-34/+45
|
* compilation of functions, and some parts of interpreting themubq3232024-06-2212-99/+186
|
* add function literalsubq3232024-06-226-7/+98
|
* fix circular dependenciesubq3232024-06-224-3/+23
|
* put state and chunk into new compiler struct; refactor mildlyubq3232024-06-213-120/+118
|
* refactor compilation of builtin formsubq3232024-06-212-102/+159
|
* optimize mandelbrotubq3232024-06-211-2/+2
|
* mandelbrotubq3232024-06-217-1/+62
|
* print -> putsubq3232024-06-216-12/+12
|
* รพ -> thubq3232024-06-217-9/+9
|
* add tests, and make dumping disasm optionalubq3232024-06-2116-13/+107
|
* minor optimizationubq3232024-06-213-5/+8
|
* proper equality for values; deduplicate constants in compilationubq3232024-06-213-1/+22
|
* while loops, comparisons, modulo, fizzbuzzubq3232024-06-217-13/+89
|
* add (if cond if-true if-false) builtinubq3232024-06-206-26/+116
|
* add true, false, nil keywordsubq3232024-06-206-7/+37
|
* globals are now variableubq3232024-06-205-24/+67
|
* add readable globalsubq3232024-06-205-5/+44
|
* string interning and print statementubq3232024-06-205-16/+63
|
* pass State *S everywhereubq3232024-06-2014-112/+153
| | | | contains changes from a million years ago that i don't remember much about
* refactor hashtables, and use objstrings for keysubq3232023-08-058-71/+90
| | | | | doesn't yet work without string interning, which will require further refactoring
* give M extra param for tracking alloc size; macros for allocationubq3232023-08-044-9/+27
|