Commit Graph

358 Commits

Author SHA1 Message Date
gingerBill
a9ab90bd24 Make static an attribute rather than a keyword prefix 2019-02-23 22:17:27 +00:00
gingerBill
e551d2b25e Replace foreign export {} with @export 2019-02-23 21:39:47 +00:00
gingerBill
64bd884d94 Add "none" calling convention 2019-02-23 14:42:44 +00:00
gingerBill
e1ae359a77 Replace redundant code 2019-02-06 16:06:48 +00:00
gingerBill
dee28d998f Allow for @indent for attributes that don't require any parameters; Add -ignore-unknown-attributes 2019-01-30 14:24:14 +00:00
gingerBill
1aea59a0fc Fix typo in parser.cpp 2019-01-29 21:53:36 +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
5bfe5ad82e Remove unused directive 2019-01-03 12:21:11 +00:00
gingerBill
8b2f902f3d Fix parsing issue with stray } and case at the file scope 2018-12-31 15:20:47 +00:00
gingerBill
2bbad5903f Add static to fix_advance_to_next_stmt 2018-12-28 13:32:59 +00:00
gingerBill
a240a3d146 static variable declarations (Experimental) 2018-12-28 13:31:06 +00:00
gingerBill
66a9fde12c Remove #[...] attribute syntax.
(Not really worth the change)
2018-12-26 16:23:25 +00:00
gingerBill
eb5af2876a Support #[...] as an alternative attribute syntax
(Experimentation between `@()` and `#[]`)
2018-12-26 12:19:12 +00:00
gingerBill
b504d6e12a notin operator 2018-12-21 11:34:15 +00:00
gingerBill
1ce90b2166 Remove weird bit_set shorthand; Add extra type hinting 2018-12-15 21:46:27 +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
28583bfff8 Change procedure group syntax from proc[] to proc{}; deprecate proc[] (raises warning currently) 2018-12-02 18:01:03 +00:00
gingerBill
3aec78b1d4 Lock on possible race condition in parser 2018-11-29 20:27:48 +00:00
gingerBill
b55b1ffe14 opaque keyword and type 2018-11-11 17:08:30 +00:00
gingerBill
2ddb27869b Built-in procedure #defined 2018-10-27 18:44:28 +01:00
gingerBill
822e4894f2 Minor logic change for reserved package names 2018-10-20 21:19:40 +01:00
gingerBill
3742d9e7e9 Move atomic intrinsics to the new built-in package intrinsics 2018-10-20 10:44:02 +01:00
gingerBill
ef2931d4a5 Remove AstTypeType 2018-10-13 14:07:00 +01:00
gingerBill
2d4aa2be6d Remove type as being a keyword 2018-10-13 14:04:34 +01:00
gingerBill
f1e1814ff9 Syntactic sugar for anonymous enum within a bit set 2018-09-11 12:10:32 +01:00
gingerBill
91477e9e69 Allow for optional ok for return 2018-09-11 10:55:30 +01:00
gingerBill
4c4de1d6c4 Fix cloning of auto_cast Ast 2018-09-10 08:50:20 +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
Ginger Bill
1d31eabb6e Fix minor parsing issue for polymorphic identifiers 2018-09-04 13:47:24 +01:00
gingerBill
11f5236434 Add $T: typeid/[]$E; Deprecate T: type/[]$E
`type` as a keyword will soon be removed in favour of polymorphic names (identifiers) in procedures
2018-09-02 16:33:54 +01:00
gingerBill
220485a2d2 typeid as keyword (ready to implement polymorphic name parameters) 2018-09-02 15:56:36 +01:00
gingerBill
e3f0ab7c3d Parallelize parser on *nix 2018-08-19 10:58:57 +01:00
gingerBill
b216e44870 Add underlying type for bit_set 2018-08-17 15:11:41 +01:00
gingerBill
884d5fed9f bit_set['A'..'Z'], bit_set[0..8] 2018-08-16 15:16:57 +01:00
gingerBill
ec84188597 Fix typos in parser 2018-08-16 10:30:44 +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
fad3947e26 Add *with_allocator procedures to mem 2018-08-05 23:40:19 +01:00
gingerBill
cdbf831a7a Replace context <- c {} with context = c;. context assignments are scope based 2018-08-04 23:14:55 +01:00
gingerBill
0718f14774 Reduce number of range and slice operators #239
Replace .. and ... with : and ..
2018-08-01 21:34:59 +01:00
gingerBill
a6fe656f21 foreign import x {"foo.lib", "bar.lib"} 2018-07-29 20:56:09 +01:00
gingerBill
6512a3e5f2 using Foo :: enum {A, B, C}; len(Foo) 2018-07-29 10:50:15 +01:00
gingerBill
c3c7834246 BigInt support in the constant system 2018-07-28 00:41:31 +01:00