summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* 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
* 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
* refactor hashtables, and use objstrings for keysubq3232023-08-058-71/+90
* 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
* testubq3232023-07-291-3/+4
* thubq3232023-07-298-57/+204