-
ac113d340a
Change some runtime maps to be HashMap instead of BTreeMap
master
Alek Ratzloff
2020-11-16 16:14:53 -08:00
-
7b9537dd11
Add loop example
Alek Ratzloff
2020-11-13 20:31:45 -08:00
-
6e1a19f341
Finish up branch implementation
Alek Ratzloff
2020-11-13 20:00:31 -08:00
-
a9d59be472
Update the Inst::name() function to be
const
Alek Ratzloff
2020-11-10 19:17:27 -08:00
-
53feed7eab
Remove old single-purpose instructions
Alek Ratzloff
2020-11-10 19:14:56 -08:00
-
6ec14e3ffa
Update int object to cache values between -1 and 255 by default.
Alek Ratzloff
2020-11-10 19:08:48 -08:00
-
d7c08ed090
Add new example showing off how branches work
Alek Ratzloff
2020-11-10 18:04:37 -08:00
-
97d836a197
Fix test with import in test function
Alek Ratzloff
2020-11-10 18:03:53 -08:00
-
2f99742e85
Move ThunkBranch struct impl into Thunk::Branch
Alek Ratzloff
2020-11-10 18:01:55 -08:00
-
004f2b91f8
Remove old Body compiler now that List compiler is in place
Alek Ratzloff
2020-11-10 17:58:20 -08:00
-
e6df67041c
Add LISP-like IR between AST and thunk
Alek Ratzloff
2020-11-10 17:55:31 -08:00
-
f668b12c89
Add AGPL LICENSE and README
Alek Ratzloff
2020-11-09 19:35:05 -08:00
-
c6212f5597
Finish up old example that shows off basic expressions and funcalls
Alek Ratzloff
2020-11-09 16:50:16 -08:00
-
357aad5306
Add strinst.__bool__ method
Alek Ratzloff
2020-11-09 16:35:42 -08:00
-
27b2ae9182
Rename member function builtins to be named _METH instead of _FUN
Alek Ratzloff
2020-11-09 16:05:40 -08:00
-
aca0b3c4c7
Fix order of operations in the parser
Alek Ratzloff
2020-11-09 15:55:23 -08:00
-
be9a659159
Add Bool builtin type, branches, and some more stuff
Alek Ratzloff
2020-11-06 16:57:25 -08:00
-
692bb521ec
Run rustfmt
Alek Ratzloff
2020-10-20 16:21:50 -07:00
-
ceda48988d
Update IntValue alias to be i128 instead of i64 to get us a lil more range
Alek Ratzloff
2020-10-20 16:20:27 -07:00
-
9169f5970e
Add IntValue type alias for backend integer values
Alek Ratzloff
2020-10-20 13:10:53 -07:00
-
d449632c5b
Fix operator precedence in the parser
Alek Ratzloff
2020-10-20 13:09:23 -07:00
-
480055782e
Add Str.__repr__, Str.__str__, Str.__int__, Int.__repr__, and Int.__int__ builtins
Alek Ratzloff
2020-10-19 17:28:38 -07:00
-
fee1ce2a47
Minor code rearrangement
Alek Ratzloff
2020-10-19 17:00:12 -07:00
-
1d6b2e35bc
Fix bug where global names could only be used once in the root scope
Alek Ratzloff
2020-10-19 16:57:40 -07:00
-
f35d44cf65
Add add, sub, mul, and div functions to integers
Alek Ratzloff
2020-10-19 16:41:57 -07:00
-
57c1aa4702
Fix bug in parser where - symbol was being parsed as a + symbol in binary expressions
Alek Ratzloff
2020-10-13 16:34:18 -07:00
-
902da3f2f3
Add internal error handling to VM, plus function arity
Alek Ratzloff
2020-10-13 14:07:22 -07:00
-
c738c52455
Add Method type for objects
Alek Ratzloff
2020-10-08 16:10:10 -07:00
-
c3121a176c
Add self_referring_obj macro for self-referential objects.
Alek Ratzloff
2020-10-07 18:41:45 -07:00
-
e2c84ba7c2
Add hello world example
Alek Ratzloff
2020-10-07 17:23:49 -07:00
-
16063d50f8
Add a couple of builtin functions, and the Vm::call() method
Alek Ratzloff
2020-10-07 17:21:01 -07:00
-
76d0e6723f
Add "return" statement
Alek Ratzloff
2020-10-07 16:34:23 -07:00
-
dd7cd04b39
Finish up function call implementation, it appears to be working
Alek Ratzloff
2020-10-07 15:48:24 -07:00
-
0ca8dc64b2
Remove get_local function from Vm
Alek Ratzloff
2020-10-06 15:41:13 -07:00
-
43c4a9c531
Remove vm::package module, add object attribute shortcut methods
Alek Ratzloff
2020-09-28 16:48:30 -07:00
-
958a6caabb
Update how scope rules work, and update implementation
Alek Ratzloff
2020-09-27 19:33:18 -07:00
-
4848a342f0
Add function compilation
Alek Ratzloff
2020-09-26 18:31:23 -07:00
-
3976b2135a
Functions are implemented and VM should be able to handle function calls
Alek Ratzloff
2020-09-24 15:29:44 -07:00
-
f0032afe12
Add function expr parsing
Alek Ratzloff
2020-09-18 16:39:06 -07:00
-
337be88849
Add --action option to
not executable
Alek Ratzloff
2020-09-18 16:37:23 -07:00
-
cb5689c513
Add vm:📦:Package, instruction disassembly
Alek Ratzloff
2020-09-18 15:45:54 -07:00
-
321fe8e1ea
Add custom debug impl for obj::int::Int
Alek Ratzloff
2020-09-18 15:39:19 -07:00
-
0d6f68216b
Rename "Local" to "Name" when referring to variables during compilation
Alek Ratzloff
2020-09-18 13:57:51 -07:00
-
7228732128
Add hypothetical "pow" function syntax
Alek Ratzloff
2020-09-17 13:31:41 -07:00
-
9394239b83
Skip comments when parsing
Alek Ratzloff
2020-09-17 13:31:02 -07:00
-
38b7124fe2
Add rerun_except crate, and small example code
Alek Ratzloff
2020-09-17 13:26:38 -07:00
-
1be0fb8a04
Add implementations for parsing assign statements, forgot to do this
Alek Ratzloff
2020-09-17 13:17:53 -07:00
-
534812f54d
Add instruction dumper
Alek Ratzloff
2020-09-17 13:09:37 -07:00
-
be6266832e
Remove dbg! macro calls
Alek Ratzloff
2020-09-16 18:58:12 -07:00
-
e72cbe2b8c
Base compilation of some kind of file to a list of instructions seems to work(!)
Alek Ratzloff
2020-09-16 18:01:40 -07:00
-
61ac00ae39
Remove 'text' member from Compile struct, since we can return file positions instead
Alek Ratzloff
2020-09-16 17:36:40 -07:00
-
099ee5ea0d
Add local variable collection to compilation
Alek Ratzloff
2020-09-16 17:27:33 -07:00
-
582b3a4b73
Add basic blocks and implementation of flattening thunks -> basic blocks
Alek Ratzloff
2020-09-16 17:18:31 -07:00
-
ef38680fe5
Add Vm::frames(&self) function
Alek Ratzloff
2020-09-14 16:37:16 -07:00
-
fdbb0a1307
Add some base VM implementations
Alek Ratzloff
2020-09-14 16:32:00 -07:00
-
372e58f620
Fold runtime/ crate into this source tree
Alek Ratzloff
2020-09-14 14:14:21 -07:00
-
8e2cbb10a4
General changes across the runtime crate in support of compile module
Alek Ratzloff
2020-09-14 14:09:29 -07:00
-
e2c43dc911
Add LhsExpr parsing
Alek Ratzloff
2020-09-03 18:58:22 -07:00
-
4d8a815ffc
Remove old TODO from parser grammar
Alek Ratzloff
2020-09-03 18:49:53 -07:00
-
c42b63e016
Add Body AST item and visit_body in visitor
Alek Ratzloff
2020-09-03 18:47:48 -07:00
-
f8819279f8
Fix parser for index and call exprs, remove old test that didn't work, add visitor pattern
Alek Ratzloff
2020-09-03 18:32:22 -07:00
-
2fd340a688
Add lexer, parser, ast, and basic command line interaction
Alek Ratzloff
2020-09-02 14:40:43 -07:00
-
c25a3b5e2b
Add Cargo.toml, forgot it in the last commit
Alek Ratzloff
2020-09-02 14:40:40 -07:00
-
178ed4a952
Initial commit
Alek Ratzloff
2020-09-01 17:32:48 -07:00