summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* testubq3232023-07-291-3/+4
|
* thubq3232023-07-298-57/+204
|
* more codeubq3232023-07-129-21/+188
|
* allow more characters in symbolsubq3232023-07-112-4/+3
|
* parsing sexprsubq3232023-07-114-15/+54
|
* minorubq3232023-07-103-4/+13
|
* new grammar using packccubq3232023-07-102-15/+26
|
* initialubq3232023-07-104-0/+125