Commit Graph

86 Commits

Author SHA1 Message Date
Ginger Bill
62a72f0163 transmute(type)x; Minor code clean up 2017-07-30 14:52:42 +01:00
Ginger Bill
f1ab17ed4e type_info_of; enum_value_to_string and string_to_enum_value 2017-07-19 14:01:56 +01:00
Ginger Bill
59fb7b020a Merge raw_union into struct as a memory layout tag #raw_union 2017-07-18 19:24:45 +01:00
Ginger Bill
65f079ebc4 Remove atomic, ++, and -- 2017-07-18 18:58:41 +01:00
Ginger Bill
c4c6975f1b cast(Type)expr; Fix overloaded procedure determination on assignment 2017-07-11 14:40:27 +01:00
Ginger Bill
b201670f7a Fix _preload.odin; Add for in without parameters; Change sync.Mutex for windows 2017-07-08 23:13:57 +01:00
Ginger Bill
4b051a0d3b .. half closed range; ... open range; ... variadic syntax 2017-07-07 23:42:43 +01:00
Ginger Bill
2db03cb4a5 Fix aprint* bug; NULL -> nullptr; Better error messages for overloaded functions 2017-07-06 22:43:55 +01:00
Ginger Bill
689a0c0b49 *_of as keyords; Allow constant aliasing for user/built-in procedures, import names, and library names 2017-07-04 11:23:48 +01:00
Ginger Bill
ed089b44b9 do keyword for inline statements instead of blocks 2017-07-01 11:38:44 +01:00
Ginger Bill
69f7382eec Implicit parametric polymorphic procedures 2017-06-29 20:56:18 +01:00
Ginger Bill
f4879d4723 Update procedure names and extend demo.odin 2017-06-29 11:25:05 +01:00
Ginger Bill
fd81c06c35 Remove var and const keywords; Fix default parameter syntax 2017-06-28 23:55:40 +01:00
Ginger Bill
a0d8dcd974 Remove let 2017-06-26 13:59:15 +01:00
Ginger Bill
c642e326ce Undef value --- (for setting a value to be uninitialized/undefined) 2017-06-26 11:57:26 +01:00
Ginger Bill
8197c02dcf Default result values for procedure types; Named result values in return statements 2017-06-22 01:14:45 +01:00
Ginger Bill
126f7aa892 Begin work on documentation generation 2017-06-18 23:16:57 +01:00
Ginger Bill
ccda456c0a foreign blocks for procedures 2017-06-12 21:21:18 +01:00
Ginger Bill
a8e458339b foreign_library allow for Pascal-style grouping 2017-06-12 16:26:51 +01:00
Ginger Bill
2ab0d97573 import and import_load as keywords; Fix procedure literal call trick 2017-06-12 14:19:12 +01:00
Ginger Bill
0c05fc1432 Prefix type and let to replace immutable 2017-06-12 12:56:47 +01:00
Ginger Bill
8fafdb185c Remove := with var and :: with const 2017-06-12 11:48:12 +01:00
Ginger Bill
2b96be0ae8 Remove unnecessary typedef usage 2017-06-08 13:08:39 +01:00
Ginger Bill
2a89d8021c Use templated Array with bounds checking 2017-06-08 12:54:52 +01:00
Ginger Bill
13deb4706c Update String to use overloading 2017-06-08 12:37:07 +01:00
Ginger Bill
9b61adb97d Build as C++ 2017-06-08 12:03:40 +01:00
Ginger Bill
4d30ef7eda Change extensions .cpp to .c 2016-11-23 12:29:50 +00:00
Ginger Bill
a77c6b3e55 Compile as C! Whoop! 2016-11-23 12:25:37 +00:00
Ginger Bill
aa2bcb166f typedef struct and start removing auto 2016-11-23 11:07:35 +00:00
Ginger Bill
8ecfca0c9b Remove templated Map; replace with #include macro "templates" trick 2016-11-23 10:36:48 +00:00
Ginger Bill
cb7b9a413d Remove Array<T> and replace with macro version 2016-11-22 21:29:57 +00:00
Ginger Bill
3517f96668 Remove: string overloads; defer 2016-11-22 20:29:46 +00:00
Ginger Bill
24ca106521 v0.0.3 Build 2016-11-17 22:58:00 +00:00
Ginger Bill
3ec67853e1 Minor Entity refactor 2016-10-30 13:20:45 +00: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
90babbfbf3 Very Basic Profiling 2016-10-09 20:14:32 +01:00
Ginger Bill
b705fa7f22 Change from gbArray(T) to Array<T> 2016-10-08 20:37:31 +01:00
Ginger Bill
f40482aa29 Maybe types; value, ok := maybe_value(x) 2016-10-06 23:30:22 +01:00
Ginger Bill
c6aac264fa Begin work on const llvm aggregate literals 2016-09-30 20:38:46 +01:00
Ginger Bill
5f6b0942f4 Update Standard Library; Fix Type_Info for integers 2016-09-28 00:07:03 +01:00
Ginger Bill
b593332942 Minimal Dependency Map: Only build what is needed 2016-09-27 15:28:44 +01:00
Ginger Bill
a31bab5aae Unicode file loading; push_allocator & push_context 2016-09-23 14:59:58 +01:00
Ginger Bill
59b0cf61ef fmt improvement; Minor refactoring 2016-09-19 23:59:26 +01:00
Ginger Bill
3b266b194f enum_to_string fix; enum count, min_value, max_value 2016-09-19 22:26:07 +01:00
Ginger Bill
828095afd1 Better name mangler for SSA generation
TODO: Define better name mangling rules and allow for explicit name overload
2016-09-18 21:44:22 +01:00
Ginger Bill
67694c0df0 VarDecl and ConstDecl split; error, warning, et al. now global 2016-09-17 11:40:00 +01:00
Ginger Bill
687e78d5dd Some global init cleanup; volatile types 2016-09-12 12:05:38 +01:00
Ginger Bill
56dd12c54c Fix match statements for the new AstNodeArray type 2016-09-08 18:28:18 +01:00