summaryrefslogtreecommitdiff
path: root/com.c
Commit message (Collapse)AuthorAgeFilesLines
* implement arrlit and quote formsubq3232024-08-061-10/+29
|
* deastnodeify form compilersubq3232024-08-061-174/+167
|
* rearrange and refactor compilerubq3232024-08-061-217/+154
| | | | part 1/? of making compiler use badthing objects instead of separate ast
* new readerubq3232024-08-041-0/+1
|
* set -> set!ubq3232024-07-111-1/+1
|
* 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
| | | | 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
|