Commit Graph

  • 76e724718c Fix preload initialization ordering Ginger Bill 2016-12-04 00:49:06 +00:00
  • 0b87313f08 Change entity collection strategy Ginger Bill 2016-12-03 00:16:51 +00:00
  • 4bb45700a5 Semicolons are required; when condition for certain file scope declarations; #import syntax change Ginger Bill 2016-12-01 22:44:00 +00:00
  • be8b9bda2f Delay importing entities till all other entities are collected Ginger Bill 2016-11-30 20:46:00 +00:00
  • ab2ca7cf59 Fix illegal type declaration error Ginger Bill 2016-11-30 20:07:23 +00:00
  • b76c8abe73 error_node Ginger Bill 2016-11-30 10:52:09 +00:00
  • d9c686b53d when statement; Better entity collection system (for both local and global); Better parsing for record declarations Ginger Bill 2016-11-29 23:57:06 +00:00
  • b232b9d5ea Basic when statement - Compile time if statement This is similar to an #if in C but handled during the semantic checking stage. Ginger Bill 2016-11-29 22:08:48 +00:00
  • 348bcc3f9a Update version string v0.0.3d Ginger Bill 2016-11-28 22:23:54 +00:00
  • 4dd8552c32 Fix slicing and add clamp Ginger Bill 2016-11-28 22:17:27 +00:00
  • 492490f7f6 Update demo.odin Ginger Bill 2016-11-28 22:16:29 +00:00
  • 598dab5bc4 #rune "" to ''; Remove infix and postfix call notation Ginger Bill 2016-11-28 20:39:43 +00:00
  • cbb70c7873 Fix parsing for comments; add global ODIN_* string constants Ginger Bill 2016-11-24 23:22:16 +00:00
  • 5aa0ef54c8 Add logo to README.md v0.0.3c Ginger Bill 2016-11-23 14:42:17 +00:00
  • 7792f009b8 Numpty forgot to add .c files Ginger Bill 2016-11-23 14:41:20 +00:00
  • 4110324588 Update README.md Ginger Bill 2016-11-23 14:33:32 +00:00
  • 34ee89cfab Update README.md and roadmap.md Ginger Bill 2016-11-23 13:57:33 +00:00
  • fff995a27c Merge branch 'master' into cpp-to-c Ginger Bill 2016-11-23 13:49:03 +00:00
  • fb45287e9e Fix import/export rules for #import as . Ginger Bill 2016-11-23 13:46:59 +00:00
  • 4d30ef7eda Change extensions .cpp to .c Ginger Bill 2016-11-23 12:29:50 +00:00
  • a77c6b3e55 Compile as C! Whoop! Ginger Bill 2016-11-23 12:25:37 +00:00
  • ef8563a818 Remove auto Ginger Bill 2016-11-23 12:03:26 +00:00
  • aa2bcb166f typedef struct and start removing auto Ginger Bill 2016-11-23 11:07:35 +00:00
  • 8ecfca0c9b Remove templated Map; replace with #include macro "templates" trick Ginger Bill 2016-11-23 10:36:48 +00:00
  • 543a2d1e5a Swap b32 to bool, et al. Ginger Bill 2016-11-23 09:46:58 +00:00
  • cb7b9a413d Remove Array<T> and replace with macro version Ginger Bill 2016-11-22 21:29:57 +00:00
  • 3517f96668 Remove: string overloads; defer Ginger Bill 2016-11-22 20:29:46 +00:00
  • 36ad9dae43 128 bit integers Kind of works but may be buggy due to LLVM not actually sure Ginger Bill 2016-11-22 00:13:52 +00:00
  • 24347ced45 Support any in match type Ginger Bill 2016-11-20 01:34:43 +00:00
  • 24ca106521 v0.0.3 Build Ginger Bill 2016-11-17 22:58:00 +00:00
  • 4895031df5 Actually fix alignment for vectors Whoops :P Ginger Bill 2016-11-16 18:27:54 +00:00
  • e2d98324ba Fix alignment issues with vectors, unions, and raw_unions Ginger Bill 2016-11-16 12:36:02 +00:00
  • 0cab083b8f #foreign_library; vector fields (x, y, z, w) for count <= 4 Ginger Bill 2016-11-15 12:06:58 +00:00
  • 3ce044f84f Add general timings for sections of the compiler Ginger Bill 2016-11-14 21:37:37 +00:00
  • 7ba0f25943 Separate SSA opt; Basic Timings for sections only Ginger Bill 2016-11-06 21:22:05 +00:00
  • 6c2772d093 Scrap Virtual Machine and begin again I just didn't like the style of it. Ginger Bill 2016-11-03 16:26:22 +00:00
  • 8534e064b9 File restructure (again) Ginger Bill 2016-11-02 13:44:04 +00:00
  • fa0eb88b7b Interpreter - bounds checking Ginger Bill 2016-10-31 00:10:31 +00:00
  • 5271adb82f Interpreter - Structs and Arrays Ginger Bill 2016-10-30 23:48:32 +00:00
  • 0ffe4b600d Interpreter - call internal procedures Ginger Bill 2016-10-30 19:20:47 +00:00
  • ca311c4a59 Begin work on the Interpreter Ginger Bill 2016-10-30 17:49:30 +00:00
  • 3ec67853e1 Minor Entity refactor Ginger Bill 2016-10-30 13:20:45 +00:00
  • 09f39ae2cc Better constant strings for SSA; Fix Type_Info Ginger Bill 2016-10-26 20:10:32 +01:00
  • aed7a83f5b Code reorganization - Separate files and slice refactoring Ginger Bill 2016-10-26 15:05:41 +01:00
  • 6996df4104 Fix double declarations with enum bug Ginger Bill 2016-10-26 12:00:40 +01:00
  • a5c1e83ce4 Fix Type_Info bug overwriting type_info data. Ginger Bill 2016-10-23 22:50:15 +01:00
  • b454371f3b Separation of certain instructions for better clarity. Ginger Bill 2016-10-23 15:57:59 +01:00
  • bd5d095de4 Separate ssa_struct_gep and ssa_array_gep procedures Ginger Bill 2016-10-23 14:46:52 +01:00
  • f60dc7b0a7 Minor Style Fixes Ginger Bill 2016-10-22 19:41:58 +01:00
  • a675d3f94d union_cast Ginger Bill 2016-10-16 21:31:06 +01:00
  • b9719df0ad Fix exact value bug when updating expressions Ginger Bill 2016-10-16 00:26:53 +01:00
  • 79af939522 Update ImplicitValue "architecture" Ginger Bill 2016-10-15 22:30:58 +01:00
  • f3209584a3 Add Pointer Arithmetic Ginger Bill 2016-10-12 17:51:36 +01:00
  • f5318c46d1 Implicit Values: context; Fix lvalue selector assignments; Fix offset_of* for using fields. Ginger Bill 2016-10-10 10:27:50 +01:00
  • 90babbfbf3 Very Basic Profiling Ginger Bill 2016-10-09 20:14:32 +01:00
  • 5bffa4ee79 SSA - Dominator Tree Builder Ginger Bill 2016-10-09 16:03:23 +01:00
  • 2e0b260d3a SSA - Basic block optimizations Ginger Bill 2016-10-09 11:46:14 +01:00
  • e299c3693e SSA Phi Node Support Ginger Bill 2016-10-08 22:03:40 +01:00
  • b705fa7f22 Change from gbArray(T) to Array<T> Ginger Bill 2016-10-08 20:37:31 +01:00
  • a5c6340316 "Maybe-fy" operator Ginger Bill 2016-10-08 10:01:29 +01:00
  • c5d20d2eef Demaybe operator ? Ginger Bill 2016-10-07 09:41:38 +01:00
  • f40482aa29 Maybe types; value, ok := maybe_value(x) Ginger Bill 2016-10-06 23:30:22 +01:00
  • 50301557b2 Untyped nil Ginger Bill 2016-10-06 17:11:17 +01:00
  • fee504636f Code clean up of call arguments Ginger Bill 2016-10-03 23:28:37 +01:00
  • f6589d9814 Refactor: Remove dead code Ginger Bill 2016-10-02 21:45:24 +01:00
  • 264fc1e1f3 Allow for constants of compound types Ginger Bill 2016-10-01 00:02:00 +01:00
  • 9aa9007d8f Include other core libs. Ginger Bill 2016-09-30 23:35:06 +01:00
  • 17ab23f1f0 Const Aggregate Literals for IR; Module path fix Ginger Bill 2016-09-30 23:34:32 +01:00
  • c6aac264fa Begin work on const llvm aggregate literals Ginger Bill 2016-09-30 20:38:46 +01:00
  • 04b5d8c132 using on indexable field; Auto deref for (Index|Slice)Expr Ginger Bill 2016-09-29 00:42:26 +01:00
  • 6e39a42c8a Demo 004 Ginger Bill 2016-09-28 21:25:14 +01:00
  • 5f6b0942f4 Update Standard Library; Fix Type_Info for integers Ginger Bill 2016-09-28 00:07:03 +01:00
  • 6088cbeddb Fix: double declaration in SSA Ginger Bill 2016-09-27 19:47:27 +01:00
  • f6bbd8a4c2 Fix minimal dependency for nested entities Ginger Bill 2016-09-27 18:12:46 +01:00
  • 006741908b Remove #define DISPLAY_TIMING Ginger Bill 2016-09-27 15:30:10 +01:00
  • b593332942 Minimal Dependency Map: Only build what is needed Ginger Bill 2016-09-27 15:28:44 +01:00
  • 349badcf17 Nested procedures are declared inline but bodies checked later Ginger Bill 2016-09-24 23:48:03 +01:00
  • 70f3361a34 Bug Fixes: some assertions; variable inits; Remove some dead code Ginger Bill 2016-09-24 22:55:17 +01:00
  • ff229054a1 Any order declarations at procedure scope (except variables) Ginger Bill 2016-09-24 10:23:46 +01:00
  • db6abb9706 Fix returns of tuple Ginger Bill 2016-09-23 20:40:42 +01:00
  • fa7d7938e1 Fix push_* with better defer system Ginger Bill 2016-09-23 19:45:45 +01:00
  • a31bab5aae Unicode file loading; push_allocator & push_context Ginger Bill 2016-09-23 14:59:58 +01:00
  • ee0aa7b9de Fix assert; exporting rules Ginger Bill 2016-09-22 23:18:29 +01:00
  • 2e506b7e6e Demo 003 Ginger Bill 2016-09-22 21:32:25 +01:00
  • 6907951f1e Fix type info generation The problem: entry's index != entry->value in info_type_map But I was assuming this Ginger Bill 2016-09-22 13:34:14 +01:00
  • 664c2cd7a5 Fix enum type comparison; Start demo 003 code Ginger Bill 2016-09-21 23:26:31 +01:00
  • 33bd3f635f Remove the need for clang Replaced by: opt -> llc -> link Ginger Bill 2016-09-21 18:31:01 +01:00
  • 0e2347e582 Filename as default import name; as .; as _; panic() Ginger Bill 2016-09-21 14:46:56 +01:00
  • 31c11a5037 Sort enum entities; Remove sprint* from fmt.odin Ginger Bill 2016-09-20 09:33:29 +01:00
  • 59b0cf61ef fmt improvement; Minor refactoring Ginger Bill 2016-09-19 23:59:26 +01:00
  • 3b266b194f enum_to_string fix; enum count, min_value, max_value Ginger Bill 2016-09-19 22:26:07 +01:00
  • 9561dc33ce enum_to_string Ginger Bill 2016-09-19 21:33:52 +01:00
  • bbc9739f5c Core library and Better name mangling for files Ginger Bill 2016-09-19 11:51:21 +01:00
  • 828095afd1 Better name mangler for SSA generation TODO: Define better name mangling rules and allow for explicit name overload Ginger Bill 2016-09-18 21:44:22 +01:00
  • 2d6171f3e5 #import search rule: relative then core/ Ginger Bill 2016-09-17 22:42:09 +01:00
  • 67694c0df0 VarDecl and ConstDecl split; error, warning, et al. now global Ginger Bill 2016-09-17 11:39:08 +01:00
  • eb424bb315 #import and #load #import - imported entities will not get exported #load - loaded entities will get exported Ginger Bill 2016-09-16 19:46:48 +01:00
  • 968de5aae8 Call expression, either handle all or ignore all results. Ginger Bill 2016-09-16 11:38:20 +01:00
  • 807256dea4 ssa - alloca all variables at the very start Ginger Bill 2016-09-15 18:58:29 +01:00
  • b6cb4f4d14 #file #line directives Ginger Bill 2016-09-15 00:53:00 +01:00