Commit Graph

72 Commits

Author SHA1 Message Date
Ginger Bill
b232b9d5ea Basic when statement - Compile time if statement
This is similar to an #if in C but handled during the semantic checking stage.
2016-11-29 22:08:48 +00:00
Ginger Bill
492490f7f6 Update demo.odin 2016-11-28 22:16:29 +00:00
Ginger Bill
598dab5bc4 #rune "" to ''; Remove infix and postfix call notation 2016-11-28 20:39:43 +00:00
Ginger Bill
cbb70c7873 Fix parsing for comments; add global ODIN_* string constants 2016-11-24 23:22:16 +00:00
Ginger Bill
fb45287e9e Fix import/export rules for #import as . 2016-11-23 13:46:59 +00:00
Ginger Bill
36ad9dae43 128 bit integers
Kind of works but may be buggy due to LLVM not actually sure
2016-11-22 00:13:52 +00:00
Ginger Bill
24347ced45 Support any in match type 2016-11-20 01:34:43 +00:00
Ginger Bill
24ca106521 v0.0.3 Build 2016-11-17 22:58:00 +00:00
Ginger Bill
6c2772d093 Scrap Virtual Machine and begin again
I just didn't like the style of it.
2016-11-03 16:26:22 +00:00
Ginger Bill
8534e064b9 File restructure (again) 2016-11-02 13:44:04 +00:00
Ginger Bill
5271adb82f Interpreter - Structs and Arrays 2016-10-30 23:48:32 +00:00
Ginger Bill
0ffe4b600d Interpreter - call internal procedures 2016-10-30 19:20:47 +00:00
Ginger Bill
ca311c4a59 Begin work on the Interpreter 2016-10-30 17:49:30 +00:00
Ginger Bill
3ec67853e1 Minor Entity refactor 2016-10-30 13:20:45 +00:00
Ginger Bill
09f39ae2cc Better constant strings for SSA; Fix Type_Info 2016-10-26 20:10:32 +01:00
Ginger Bill
6996df4104 Fix double declarations with enum bug 2016-10-26 12:00:40 +01:00
Ginger Bill
a5c1e83ce4 Fix Type_Info bug overwriting type_info data. 2016-10-23 22:50:15 +01:00
Ginger Bill
b454371f3b Separation of certain instructions for better clarity. 2016-10-23 15:57:59 +01:00
Ginger Bill
bd5d095de4 Separate ssa_struct_gep and ssa_array_gep procedures 2016-10-23 14:46:52 +01:00
Ginger Bill
f60dc7b0a7 Minor Style Fixes 2016-10-22 19:41:58 +01:00
Ginger Bill
a675d3f94d union_cast 2016-10-16 21:31:06 +01:00
Ginger Bill
b9719df0ad Fix exact value bug when updating expressions 2016-10-16 00:26:53 +01:00
Ginger Bill
79af939522 Update ImplicitValue "architecture" 2016-10-15 22:30:58 +01:00
Ginger Bill
f3209584a3 Add Pointer Arithmetic 2016-10-12 17:51:36 +01:00
Ginger Bill
f5318c46d1 Implicit Values: context; Fix lvalue selector assignments; Fix offset_of* for using fields. 2016-10-10 10:27:50 +01:00
Ginger Bill
e299c3693e SSA Phi Node Support 2016-10-08 22:03:40 +01:00
Ginger Bill
a5c6340316 "Maybe-fy" operator 2016-10-08 10:01:29 +01:00
Ginger Bill
c5d20d2eef Demaybe operator ? 2016-10-07 09:41:38 +01:00
Ginger Bill
f40482aa29 Maybe types; value, ok := maybe_value(x) 2016-10-06 23:30:22 +01:00
Ginger Bill
50301557b2 Untyped nil 2016-10-06 17:11:17 +01:00
Ginger Bill
fee504636f Code clean up of call arguments 2016-10-03 23:28:37 +01:00
Ginger Bill
f6589d9814 Refactor: Remove dead code 2016-10-02 21:45:24 +01:00
Ginger Bill
264fc1e1f3 Allow for constants of compound types 2016-10-01 00:02:00 +01:00
Ginger Bill
17ab23f1f0 Const Aggregate Literals for IR; Module path fix 2016-09-30 23:34:32 +01:00
Ginger Bill
c6aac264fa Begin work on const llvm aggregate literals 2016-09-30 20:38:46 +01:00
Ginger Bill
04b5d8c132 using on indexable field; Auto deref for (Index|Slice)Expr 2016-09-29 00:42:26 +01:00
Ginger Bill
6e39a42c8a Demo 004 2016-09-28 21:25:14 +01:00
Ginger Bill
5f6b0942f4 Update Standard Library; Fix Type_Info for integers 2016-09-28 00:07:03 +01:00
Ginger Bill
6088cbeddb Fix: double declaration in SSA 2016-09-27 19:47:27 +01:00
Ginger Bill
f6bbd8a4c2 Fix minimal dependency for nested entities 2016-09-27 18:12:46 +01:00
Ginger Bill
b593332942 Minimal Dependency Map: Only build what is needed 2016-09-27 15:28:44 +01:00
Ginger Bill
70f3361a34 Bug Fixes: some assertions; variable inits;
Remove some dead code
2016-09-24 22:55:17 +01:00
Ginger Bill
ff229054a1 Any order declarations at procedure scope (except variables) 2016-09-24 10:23:46 +01:00
Ginger Bill
db6abb9706 Fix returns of tuple 2016-09-23 20:40:42 +01:00
Ginger Bill
fa7d7938e1 Fix push_* with better defer system 2016-09-23 19:45:45 +01:00
Ginger Bill
a31bab5aae Unicode file loading; push_allocator & push_context 2016-09-23 14:59:58 +01:00
Ginger Bill
ee0aa7b9de Fix assert; exporting rules 2016-09-22 23:18:29 +01:00
Ginger Bill
2e506b7e6e Demo 003 2016-09-22 21:32:25 +01:00
Ginger Bill
6907951f1e Fix type info generation
The problem: entry's index != entry->value in info_type_map
But I was assuming this
2016-09-22 13:34:14 +01:00
Ginger Bill
664c2cd7a5 Fix enum type comparison; Start demo 003 code 2016-09-21 23:26:31 +01:00