summaryrefslogtreecommitdiff
path: root/com.c
Commit message (Expand)AuthorAgeFilesLines
* add defn formubq3232024-07-031-0/+35
* compile each file like a body, allowing def at file toplevelubq3232024-07-031-4/+5
* add (each (x arr) ...) array-loop formubq3232024-07-021-8/+93
* add numeric for formubq3232024-07-011-0/+64
* add doc.txtubq3232024-06-301-6/+1
* fix parsing logic bug (for newer versions of packcc)ubq3232024-06-301-5/+3
* add array index setting syntaxubq3232024-06-301-14/+29
* add proper tail callsubq3232024-06-291-35/+55
* def form for implicit scopesubq3232024-06-281-46/+58
* more testsubq3232024-06-271-0/+13
* array literalsubq3232024-06-261-0/+12
* remove OP_PUTS and OP_PRINT, use say and write functions insteadubq3232024-06-261-5/+1
* 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
* refactor hashtables, and use objstrings for keysubq3232023-08-051-1/+1
* 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