Commit Graph

689 Commits

Author SHA1 Message Date
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
gingerBill
0e91298fd1 Rename free to delete for non pointer types 2018-07-08 11:03:56 +01:00
gingerBill
9bef5ec01a Fix anonymous procedures 2018-07-01 16:21:32 +01:00
gingerBill
5fe4c33d0e Allow importation of core:builtin to get built-in entities 2018-06-17 21:46:37 +01:00
gingerBill
5b71ffd4f9 Rename clone_ast_node to clone_ast 2018-06-17 11:03:26 +01:00
gingerBill
c2ca24a486 Big renaming: AstNode to Ast 2018-06-17 10:58:59 +01:00
gingerBill
e5aff6fd6d Minimize AstNode size 2018-06-17 10:48:50 +01:00
gingerBill
3eb8aa8268 Modify CommentGroup parsing 2018-06-17 10:29:20 +01:00
gingerBill
b92a8c513e Modify how build settings are handled 2018-06-15 21:38:22 +01:00
gingerBill
8236c6d4b7 Allow for base enum type with an enum declaration 2018-06-11 22:50:13 +01:00
gingerBill
555fe37ad8 Remove the need for a look ahead 2018-06-11 18:06:58 +01:00
gingerBill
881f667558 Change how context <- is parsed to remove the need for a look-ahead 2018-06-11 18:02:04 +01:00
gingerBill
0a99595efe Remove using in stuff 2018-06-11 17:34:57 +01:00
gingerBill
268491b224 Use global arena for AstNode allocations 2018-06-09 19:53:06 +01:00
gingerBill
d556fa2cd8 Remove special shared scope for runtime stuff 2018-06-03 15:06:40 +01:00
gingerBill
398109ac84 Remove need for __llvm_core 2018-06-03 10:51:43 +01:00
gingerBill
6202fb8373 Re-allow when statements at the file scope 2018-06-02 19:44:34 +01:00
gingerBill
ccbb6df749 Handle multiple +build package tags with '!' (nots) 2018-05-28 21:25:08 +01:00
gingerBill
6eb505a677 Comment based build tags for packages (basic and temporary) 2018-05-28 20:59:06 +01:00
gingerBill
45b3067068 Remove tmp_allocator from Checker 2018-05-28 14:15:08 +01:00