index
:
bdl
dev
ir
main
Bad Diode's Lisp. Experiments with interpreters, compilers and VMs
about
summary
refs
log
tree
commit
diff
stats
log msg
author
committer
range
path:
root
/
src
/
main.c
Commit message (
Collapse
)
Author
Age
Files
Lines
*
Prepare a compiler context for global info
Bad Diode
25 hours
1
-42
/
+6
|
*
Refactor a compiler context to be able to pass more info
Bad Diode
25 hours
1
-3
/
+6
|
*
Add storage of Str values on locals/globals
Bad Diode
38 hours
1
-2
/
+8
|
*
Minor adjustments on examples
Bad Diode
42 hours
1
-0
/
+1
|
*
Add for-loop sugaring a while loop
Bad Diode
44 hours
1
-5
/
+1
|
*
Update example with combined ops
Bad Diode
45 hours
1
-2
/
+0
|
*
Add lexing for shorthand assigns
Bad Diode
45 hours
1
-1
/
+0
|
*
Add support for nested functions
Bad Diode
46 hours
1
-0
/
+12
|
*
Add option for multiple labels on the same debugging line
Bad Diode
47 hours
1
-13
/
+1
|
*
Fix a bug with if_else typing
Bad Diode
2 days
1
-2
/
+0
|
*
Add zero-initialization for locals on the VM
Bad Diode
3 days
1
-2
/
+0
|
*
Add semantic checking for zero sized arrays
Bad Diode
3 days
1
-2
/
+0
|
*
Add compilation for break/continue statements
Bad Diode
3 days
1
-1
/
+1
|
*
Add semantic analysis for break/continue
Bad Diode
3 days
1
-6
/
+1
|
*
Add return statement
Bad Diode
3 days
1
-1
/
+16
|
*
Add local variables and function parameters
Bad Diode
3 days
1
-2
/
+4
|
*
Prepare compilation for functions and funcalls
Bad Diode
4 days
1
-3
/
+5
|
*
Prepare vm memory for functions and funcalls
Bad Diode
4 days
1
-0
/
+2
|
*
Add a simple implementation for the game of life
Bad Diode
4 days
1
-0
/
+1
|
*
Make sure we can work with both pointers and arrays
Bad Diode
4 days
1
-5
/
+6
|
*
Add fixed global arrays and accessors
Bad Diode
4 days
1
-0
/
+10
|
*
Add compilation of print/println builtins
Bad Diode
5 days
1
-1
/
+5
|
*
Change jumps to be label based from backpatching
Bad Diode
5 days
1
-3
/
+2
|
*
Add linecol info for debugging if needed
Bad Diode
7 days
1
-4
/
+4
|
*
Fix some compilation warnings on Linux
Bad Diode
7 days
1
-1
/
+1
|
*
Add initial implementation of variable compilation
Bad Diode
8 days
1
-2
/
+8
|
*
Add compilation of binary logic expressions
Bad Diode
8 days
1
-0
/
+13
|
*
Split compiler/vm files
Bad Diode
8 days
1
-1
/
+3
|
*
Add bytecode compilation for strings and booleans
Bad Diode
8 days
1
-1266
/
+35
|
*
Fix some typechecking errors
Bad Diode
8 days
1
-1
/
+15
|
*
More pointers and array typechecking
Bad Diode
9 days
1
-10
/
+22
|
*
Add initial pointer and array access/declaration typechecking
Bad Diode
9 days
1
-12
/
+46
|
*
Prepare for array/pointer typechecking
Bad Diode
10 days
1
-1
/
+0
|
*
Fix a segfault
Bad Diode
10 days
1
-3
/
+3
|
*
Add enum de-structuring and int matching on match expr
Bad Diode
10 days
1
-11
/
+54
|
*
Add err to analyzer context
Bad Diode
10 days
1
-2
/
+33
|
*
Fill up main symbol table with everything we need
Bad Diode
10 days
1
-3
/
+10
|
*
Further consolidate symbol names
Bad Diode
10 days
1
-101
/
+122
|
*
Continue consolidation with proper naming
Bad Diode
10 days
1
-71
/
+71
|
*
Consolidate semantic analyzer functions
Bad Diode
10 days
1
-392
/
+65
|
*
Fix a bug with type resolution for inner structs
Bad Diode
10 days
1
-1
/
+1
|
*
Fix struct literal assignment
Bad Diode
10 days
1
-21
/
+29
|
*
Fix typechecking for nested struct literals
Bad Diode
10 days
1
-18
/
+35
|
*
Fix bug in struct/enum field matching
Bad Diode
10 days
1
-23
/
+35
|
*
Bugfixes for struct accessors
Bad Diode
11 days
1
-51
/
+45
|
*
Update inner struct symbol resolution
Bad Diode
11 days
1
-10
/
+17
|
*
Add inner struct typechecking
Bad Diode
11 days
1
-73
/
+133
|
*
Add compound types for anonymous struct fields
Bad Diode
11 days
1
-30
/
+32
|
*
Add struct literals typechecking
Bad Diode
11 days
1
-9
/
+49
|
*
Fix set typechecking
Bad Diode
12 days
1
-3
/
+13
|
[next]