summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* move M to its own fileubq3232023-08-046-19/+31
|
* valty_str -> typename_strubq3232023-08-044-4/+4
|
* add string object values. you can't do anything with them yetubq3232023-08-047-33/+93
|
* rename "symbol" to "ident" everywhereubq3232023-08-044-11/+11
|
* add strings to parserubq3232023-08-035-12/+23
|
* remove hardcoded bytecode testubq3232023-08-031-15/+0
|
* remove run_old.cubq3232023-08-021-121/+0
|
* tersifyubq3232023-08-024-11/+11
|
* compilation of basic arithmetic exprs to bytecodeubq3232023-08-018-31/+85
|
* dissasembler and basic arithmeticubq3232023-08-017-14/+109
|
* bytecode vm start, can print constants currentlyubq3232023-07-317-2/+169
|