greg
|
1ac440c8df
|
Implement trait parse
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
f5022a771c
|
Starting work to trait-ify language
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
eaf86ea908
|
Add support for +, - in num literals
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
eb6354e55a
|
Only print errors if the programs failed
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
751c6f65bd
|
Deleted some code in compilation
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
3e231b4715
|
Use native rust to write source file
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
e103ba221c
|
Conditionals work!
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
d5f01a7b1f
|
Continuing work on phi nodes
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
1702163478
|
Add flag for llvm
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
bdd6f75cf6
|
Show/hide LLVM IR in REPL
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
2681dbc4f2
|
Add test for "a+4" being conterintuitive
Also fix Op -> BinOp in tests
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
9454fc6194
|
Add return statements to generated functions
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
c8feaa9b57
|
Add logging of supplimental commands
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
518414ffd5
|
I was doing a wrong thing with creating vecs
The old vector was getting dropped and thus free-ing the old
underlying slice. I want to use set_len() on Vec to do
this
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
06a5de6e32
|
Trying to debug this segfault
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
dd4816624c
|
Change name of project to Schala
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
748a85db02
|
Compiling functions half-works
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
8f2d9b900b
|
Function codegen sorta works
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
b9d1140264
|
Refactored op compilation code
+ moved to separate function
|
2017-09-19 22:11:00 -07:00 |
|
greg
|
7188a7d33e
|
Clarified that we hardcode a "main" function
in compiler data structure
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
0c7099771f
|
Comparison operator working
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
afec7e829c
|
There's some segfault happening in LLVMBuildUIToFP
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
a6773d59bd
|
Refactoring in compiling binops
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
d804efdc5e
|
Use BinOp type instead of strings
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
0ace370fc2
|
Tightened up REPL loop
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
1f50fcc620
|
Improvments to interpreter directives parsing
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
d7181afa91
|
Few more linefeed-related changes
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
4eb7683f47
|
Move linefeed reader to struct
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
b04a8f0092
|
Add back interpreter directives
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
c50be58cd2
|
Moved from simplerepl to lineread crate
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
5911a07f4f
|
Inline parsing of lambdas like half-works
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
26bc6e90f3
|
Lamba calls partially work
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
b0655d7cab
|
need to flush stdout for printing
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
a46ede9395
|
Made evaluation-printing more sophisticated
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
d9ab5a58cf
|
Add some methods to llvm_wrap
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
77297c7e06
|
Add lambdas
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
d93b5c0a2e
|
Still cranking away at conditional compilation
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
0b9dc113d1
|
CLoser to working now
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
d6fc13f08d
|
Fix a couple of problems
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
825c271b17
|
More work on codegen for conditionals
Still doesn't compile
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
8c4f7e141a
|
Compiling if statements like half done
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
12fbc51da1
|
Compile multi-expression source programs
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
db108ee434
|
Unicode should work
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
7ddb421ced
|
Exit cleanly on opt parse fail
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
1631bb0a04
|
Fix tests for conditionals
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
5923cc2317
|
Kill then, else keywords
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
1fa56800c5
|
Convert parsing while, if, fn exprs to use { }
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
2b4d3e8516
|
Add support for curly braces and brackets
Gonna make this a curly-brace language, I like those better. Shoulda
done that to begin with.
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
9b74527618
|
Control printing eval steps with flags
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
d23e5bff35
|
Add an Op type for binop operators
Soon this will get swapped in as the way that BinOps are evaluated
|
2017-09-19 22:10:59 -07:00 |
|