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 |
|
greg
|
3a4f5ae840
|
Change name Op -> OpTok
So that I can make an Op type for the ASTNode
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
298194c42d
|
Finish support for assignment operators
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
23d2209d8b
|
Implementing a few more operators
WIP - not done
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
4cf165b408
|
Use buffered reader for stdout
Not sure ifthis is actually helping
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
154839979b
|
Add nicer handle_builtin method
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
6741787852
|
Update references in README
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
538f0b18f4
|
Evaluate while loop
|
2017-09-19 22:10:59 -07:00 |
|
greg
|
dc81d237c5
|
Reduce re-allocations in eval
|
2017-09-19 22:10:58 -07:00 |
|
greg
|
8651839a66
|
Getting rid of some newlines - concision
|
2017-09-19 22:10:58 -07:00 |
|
greg
|
f6e5ea250d
|
Convert while_expr to delimiter_block! too
|
2017-09-19 22:10:58 -07:00 |
|
greg
|
9801f53a17
|
Moved conditionals to delimiter_block! syntax
|
2017-09-19 22:10:58 -07:00 |
|
greg
|
db92292569
|
Fixed all tests
|
2017-09-19 22:10:58 -07:00 |
|
greg
|
e1ce54aece
|
Add delimiter_block macro
|
2017-09-19 22:10:58 -07:00 |
|