Commit Graph

130 Commits

Author SHA1 Message Date
Ginger Bill 2deb2f8eeb Declaration grouping uses () rather than {}; Fix some problem with compilation on *nix 2017-06-17 12:01:53 +01:00
Ginger Bill 1851674b50 Code use API rather than raw CheckerInfo; begin work on generic procedures 2017-06-15 18:11:58 +01:00
Ginger Bill c5ef5279d4 Add foreign variables 2017-06-15 14:42:08 +01:00
Ginger Bill c3b510c2d9 C-style c_varargs (Not heavily tested) 2017-06-13 21:00:42 +01:00
Ginger Bill 6a88dc322a Declaration grouping uses braces rather than parentheses 2017-06-13 15:04:23 +01:00
Ginger Bill 91857e8f16 Remove redundant paths in parsing 2017-06-12 21:25:47 +01:00
Ginger Bill ccda456c0a foreign blocks for procedures 2017-06-12 21:21:18 +01:00
Ginger Bill 83bad13e9e Update default field value syntax; Use more declaration groupings 2017-06-12 18:38:27 +01:00
Ginger Bill e6a206a430 Check for empty generic declaration list 2017-06-12 16:58:25 +01:00
Ginger Bill a8e458339b foreign_library allow for Pascal-style grouping 2017-06-12 16:26:51 +01:00
Ginger Bill 6b5e9aec8e Pascal style declaration grouping with () 2017-06-12 15:42:21 +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 33eeb58521 Prefix proc syntax 2017-06-12 12:34:55 +01:00
Ginger Bill 8fafdb185c Remove := with var and :: with const 2017-06-12 11:48:12 +01:00
Ginger Bill 2d73c8868b Make default arguments for records invalid syntax 2017-06-11 19:01:36 +01:00
Ginger Bill 366b306df0 Default parameters for procedures 2017-06-11 18:38:30 +01:00
Ginger Bill b2fdb69b4d Named procedure calls 2017-06-11 12:01:40 +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 ef8563a818 Remove auto 2016-11-23 12:03:26 +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 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 0cab083b8f #foreign_library; vector fields (x, y, z, w) for count <= 4 2016-11-15 12:06:58 +00:00
Ginger Bill 3ec67853e1 Minor Entity refactor 2016-10-30 13:20:45 +00:00
Ginger Bill aed7a83f5b Code reorganization - Separate files and slice refactoring 2016-10-26 15:05:41 +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 f5318c46d1 Implicit Values: context; Fix lvalue selector assignments; Fix offset_of* for using fields. 2016-10-10 10:27:50 +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 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 f6589d9814 Refactor: Remove dead code 2016-10-02 21:45:24 +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 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