summaryrefslogtreecommitdiff
path: root/com.c
Commit message (Collapse)AuthorAgeFilesLines
* add cfunc type and rudimentary stdlibubq3232024-06-261-0/+3
|
* remove implicit print and adjust tests accordinglyubq3232024-06-261-1/+0
|
* support multiple input filenamesubq3232024-06-261-11/+33
|
* parse multiple expressionsubq3232024-06-261-6/+13
|
* add setting localsubq3232024-06-251-4/+17
|
* allow local resolution into outer scopesubq3232024-06-251-15/+17
|
* get functions and arguments and returning to work fullyubq3232024-06-251-25/+40
|
* add local variables and (let) formubq3232024-06-241-17/+96
|
* keep track of stack position while compilingubq3232024-06-241-23/+77
|
* chunk_wconst -> compile_constantubq3232024-06-241-6/+6
|
* chunk_wbc -> compile_opcodeubq3232024-06-241-29/+29
|
* refactor error checking and argument parsingubq3232024-06-241-30/+29
|
* compilation of functions, and some parts of interpreting themubq3232024-06-221-17/+26
|
* add function literalsubq3232024-06-221-7/+37
|
* fix circular dependenciesubq3232024-06-221-0/+8
|
* put state and chunk into new compiler struct; refactor mildlyubq3232024-06-211-73/+116
|
* refactor compilation of builtin formsubq3232024-06-211-101/+158
|
* mandelbrotubq3232024-06-211-0/+4
|
* print -> putsubq3232024-06-211-4/+4
|
* add tests, and make dumping disasm optionalubq3232024-06-211-6/+7
|
* minor optimizationubq3232024-06-211-0/+1
|
* while loops, comparisons, modulo, fizzbuzzubq3232024-06-211-6/+34
|
* add (if cond if-true if-false) builtinubq3232024-06-201-10/+45
|
* add true, false, nil keywordsubq3232024-06-201-5/+13
|
* globals are now variableubq3232024-06-201-19/+37
|
* add readable globalsubq3232024-06-201-3/+16
|
* string interning and print statementubq3232024-06-201-3/+10
|
* pass State *S everywhereubq3232024-06-201-14/+21
| | | | contains changes from a million years ago that i don't remember much about
* refactor hashtables, and use objstrings for keysubq3232023-08-051-1/+1
| | | | | doesn't yet work without string interning, which will require further refactoring
* add string object values. you can't do anything with them yetubq3232023-08-041-5/+10
|
* rename "symbol" to "ident" everywhereubq3232023-08-041-3/+3
|
* add strings to parserubq3232023-08-031-0/+4
|
* remove hardcoded bytecode testubq3232023-08-031-15/+0
|
* compilation of basic arithmetic exprs to bytecodeubq3232023-08-011-0/+70