Commit Graph

82 Commits

Author SHA1 Message Date
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
664c2cd7a5 Fix enum type comparison; Start demo 003 code 2016-09-21 23:26:31 +01:00
Ginger Bill
0e2347e582 Filename as default import name; as .; as _; panic() 2016-09-21 14:46:56 +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
9561dc33ce enum_to_string 2016-09-19 21:33:52 +01:00
Ginger Bill
bbc9739f5c Core library and Better name mangling for files 2016-09-19 11:51:21 +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
2d6171f3e5 #import search rule: relative then core/ 2016-09-17 22:42:09 +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
eb424bb315 #import and #load
#import - imported entities will not get exported
#load   - loaded entities will get exported
2016-09-16 19:46:48 +01:00
Ginger Bill
968de5aae8 Call expression, either handle all or ignore all results. 2016-09-16 11:38:20 +01:00
Ginger Bill
807256dea4 ssa - alloca all variables at the very start 2016-09-15 18:58:29 +01:00
Ginger Bill
b6cb4f4d14 #file #line directives 2016-09-15 00:53:00 +01:00
Ginger Bill
bd365e5176 Fix namespacing issues for #import; allow using ImportName 2016-09-14 22:58:24 +01:00
Ginger Bill
79f575ae8e #import "" as namespace 2016-09-14 19:35:13 +01:00
Ginger Bill
bb109b47d6 Basic module system (only file namespacing) 2016-09-14 14:16:01 +01:00
Ginger Bill
a60e6bedd9 Begin work on modules - No codegen!!! 2016-09-14 12:00:04 +01:00
Ginger Bill
1147e17c13 Fix addressing modes for selectors 2016-09-13 23:09:46 +01:00
Ginger Bill
817ae643c5 Remove len(), cap() and replace with selectors; fix defer in match 2016-09-13 14:04:05 +01:00
Ginger Bill
59fb74d2a2 Fix array bounds checking 2016-09-12 23:16:06 +01:00
Ginger Bill
9ff4a8b5ab Switchable array bounds checking 2016-09-12 14:41:36 +01:00
Ginger Bill
687e78d5dd Some global init cleanup; volatile types 2016-09-12 12:05:38 +01:00
Ginger Bill
6979678ff9 Begin reording of struct members by default. 2016-09-09 23:33:54 +01:00
Ginger Bill
1ca752ce04 Remove duplicates in type info data. 2016-09-09 19:48:28 +01:00
Ginger Bill
56dd12c54c Fix match statements for the new AstNodeArray type 2016-09-08 18:28:18 +01:00
Ginger Bill
c6d02e4778 Fix missing type_info with manual linear search 2016-09-08 00:23:14 +01:00
Ginger Bill
50aeea1c2e Remove AstNode linked lists and replace with arrays 2016-09-07 21:59:03 +01:00
Ginger Bill
7ba13a18a3 Basic variadic print procedure 2016-09-07 19:23:00 +01:00
Ginger Bill
2c4193a242 any type 2016-09-07 15:15:10 +01:00
Ginger Bill
61fcfd6f3d Begin Type_Info
Missing stuff in records, procedures, and tuples
2016-09-07 14:03:17 +01:00
Ginger Bill
455820fc84 Speed up SSA generation and clang compilation 2016-09-05 18:42:42 +01:00
Ginger Bill
c2e3c3801a Type match statement for tagged unions 2016-09-04 16:16:17 +01:00
Ginger Bill
7f884ed251 Start implementing Tagged Unions 2016-09-03 18:18:45 +01:00
Ginger Bill
11205f968a Typesafe variadic procedures 2016-09-03 12:41:03 +01:00
Ginger Bill
25e9b9bc87 min, max, abs 2016-09-02 14:14:12 +01:00
Ginger Bill
fa09d805e2 Match statements; Type System change (Type_Record for all sum and product types) 2016-09-01 20:38:44 +01:00
Ginger Bill
5399463d9d down_cast 2016-08-31 00:52:19 +01:00
Ginger Bill
cda0234d48 Subtyping Polymorphic arguments; using procedure parameters 2016-08-30 23:32:04 +01:00
Ginger Bill
a06f70d5d9 Better using; foreign system libraries; optional semicolons 2016-08-30 18:39:29 +01:00
Ginger Bill
0eaf7bd830 Begin "Everything's a namespace" 2016-08-30 00:04:14 +01:00
Ginger Bill
3a189b9c1c Save before Demo 001 2016-08-25 19:52:51 +01:00
Ginger Bill
f93cf3827b Change rune literals to #rune "C" 2016-08-25 00:23:04 +01:00
Ginger Bill
d2c64be85c using on struct/union fields 2016-08-24 23:25:56 +01:00
Ginger Bill
6bd898e552 Untagged (unsafe) unions and unambiguous in|postfix notation. 2016-08-24 15:06:36 +01:00
gingerBill
975705f1fc Infix and Postfix procedure calls 2016-08-23 11:11:01 +01:00
gingerBill
81c592b5e9 Integer Enumerations 2016-08-22 15:43:13 +01:00
gingerBill
a98e93f03f File Library and TypeDecl syntax change 2016-08-22 11:52:49 +01:00
gingerBill
680274b6f1 Implicit Context and #thread_local 2016-08-19 23:35:09 +01:00
gingerBill
9e61e3beee field = value, for structure literals 2016-08-16 21:01:59 +01:00