Commit Graph

230 Commits

Author SHA1 Message Date
gingerBill
e92fdb4a99 x if cond else y and x when cond else y expressions 2020-03-05 20:34:30 +00:00
gingerBill
8ec5987ae1 Merge branch 'master' into llvm-integration 2020-02-29 09:55:25 +00:00
gingerBill
3d74c2f6c0 Add proc(#const x: Type) to enforce a constant parameter (but not polymorphic) to a procedure 2020-02-26 22:53:40 +00:00
gingerBill
2180f4a475 Basic work on obj generation 2020-02-23 10:04:25 +00:00
gingerBill
35711a400c Anonymous procedure literal support 2020-02-08 12:49:38 +00:00
gingerBill
b555b0083a Slowly add more statements and expressions; Add header file 2020-02-05 20:18:19 +00:00
gingerBill
0f399a7294 Add union #maybe 2020-02-01 11:10:28 +00:00
gingerBill
d1c9fd4e01 Implement #complete switch by default, replace with #partial switch #511 2019-12-22 12:03:48 +00:00
gingerBill
4ba579bc25 Also allow #no_bounds_check on an expression #499 2019-12-15 11:41:21 +00:00
gingerBill
7f5021c8e9 Disallow procedure calls with an associated deferred procedure to be used in logical binary expressions (short-circuiting) 2019-12-15 11:10:50 +00:00
gingerBill
e229885b2b Remove addressing mode Addressing_Immutable 2019-12-01 19:11:00 +00:00
gingerBill
d22e5b697d Add new #soa and #vector syntax 2019-11-17 10:30:37 -08:00
gingerBill
dfb3101ecf SOA Struct support intrinsics.soa_struct 2019-11-02 21:08:51 +00:00
gingerBill
3b898e5224 Add @force to foreign import 2019-11-01 19:26:22 +00:00
gingerBill
14e8b299b7 Fix slice and dynamic array lengths determined from ranged compound literals 2019-10-26 14:43:06 +01:00
gingerBill
7fae890ef9 Allow ranges for array-like compound literals 2019-10-26 14:06:29 +01:00
gingerBill
f12ded54f2 Support for named indices for array-like compound literals {3 = a, 1 = b} 2019-10-20 13:11:28 +01:00
gingerBill
4afc78efc6 Add where clauses to struct and union 2019-09-08 12:12:41 +01:00
gingerBill
97dece15d7 Minor changes 2019-09-01 22:18:55 +01:00
gingerBill
657103c4cf ThreadPool for the parser 2019-09-01 20:02:39 +01:00
gingerBill
b9d3129fb3 where clauses for procedure literals 2019-08-31 20:13:28 +01:00
gingerBill
01c10aa944 inline for loops (only for 'in' based for loops) 2019-08-26 13:54:35 +01:00
gingerBill
9c63212824 Struct field tags 2019-08-09 21:59:58 +01:00
gingerBill
f25818e923 Make procedure parameters just named values rather than copied variables 2019-07-15 21:18:37 +01:00
gingerBill
4ab9edeb53 union #no_nil 2019-07-09 10:28:13 +01:00
gingerBill
bdab5e00da Minor code clean up 2019-03-11 19:52:40 +00:00
gingerBill
ad3b6ab718 Implicit Selector Expressions: .A 2019-03-06 16:19:47 +00:00
gingerBill
a9ab90bd24 Make static an attribute rather than a keyword prefix 2019-02-23 22:17:27 +00:00
gingerBill
64bd884d94 Add "none" calling convention 2019-02-23 14:42:44 +00:00
gingerBill
44b959648c Pass any and union "by pointer" to make the tag a pointer 2019-01-26 20:13:43 +00:00
gingerBill
345e790f52 Remove dead code 2019-01-24 15:52:51 +00:00
gingerBill
a240a3d146 static variable declarations (Experimental) 2018-12-28 13:31:06 +00:00
gingerBill
9d6666f333 Disallow casting between cstring and []u8 2018-12-14 21:58:12 +00:00
gingerBill
d05837ab6d Labels for block and if statements (break only) 2018-12-08 14:12:52 +00:00
gingerBill
b55b1ffe14 opaque keyword and type 2018-11-11 17:08:30 +00:00
gingerBill
f9654b6c36 Fix package usage with when on import #278 2018-11-07 16:11:14 +00:00
gingerBill
2ddb27869b Built-in procedure #defined 2018-10-27 18:44:28 +01:00
gingerBill
ef2931d4a5 Remove AstTypeType 2018-10-13 14:07:00 +01:00
gingerBill
4f3837f0e6 Procedure inlining on call site 2018-09-09 14:46:28 +01:00
gingerBill
12902821d6 Make diverging procedure types different from ones without a return type 2018-09-09 13:48:33 +01:00
gingerBill
3825eab989 Diverging procedures proc() -> ! (no return) 2018-09-08 12:16:03 +01:00
gingerBill
3cd6ae311d Parametric polymorphic union type 2018-09-08 12:02:25 +01:00
gingerBill
220485a2d2 typeid as keyword (ready to implement polymorphic name parameters) 2018-09-02 15:56:36 +01:00
gingerBill
b216e44870 Add underlying type for bit_set 2018-08-17 15:11:41 +01:00
gingerBill
b3ebff715a Fix defer ir bug 2018-08-15 15:44:41 +01:00
gingerBill
966249c10a bit_set constants 2018-08-14 18:32:34 +01:00
gingerBill
acc010cba5 Add bit_set type 2018-08-14 17:07:56 +01:00
gingerBill
70586b1cf8 auto_cast prefix for procedure parameters 2018-08-09 17:58:11 +01:00
gingerBill
cdbf831a7a Replace context <- c {} with context = c;. context assignments are scope based 2018-08-04 23:14:55 +01:00
gingerBill
a6fe656f21 foreign import x {"foo.lib", "bar.lib"} 2018-07-29 20:56:09 +01:00