Commit Graph

569 Commits

Author SHA1 Message Date
gingerBill
d2588f9d1d Infix proc calling convention proc "std" (...) 2017-10-29 16:44:44 +00:00
gingerBill
1eb9994d88 Attributes; @(link_name="foo") 2017-10-29 15:46:23 +00:00
gingerBill
a43b89f36e #alias type declarations; core library additions; _global import name for the global scope 2017-10-29 11:35:21 +00:00
gingerBill
0ed34af19d Fix importation of empty file (issue #128) 2017-10-18 22:52:42 +01:00
gingerBill
71729c2855 Add anonymous using import names with an underscore (#127)
`using import _ "foo.odin"`
2017-10-18 22:29:14 +01:00
gingerBill
3d8bf36a30 foreign export block
```
foreign export {
    my_i32: i32;
    my_foo :: proc() -> i32 {
        return 123;
    }
}
```
2017-10-15 16:05:42 +01:00
gingerBill
85f7c2d040 Change foreign_library to foreign import 2017-10-15 15:21:56 +01:00
gingerBill
26ea8f6dcb Syntax: Replace foreign_system_library "kernel.lib" to foreign_library "system:kernel.lib"; Remove keyword: foreign_system_library 2017-10-15 12:11:33 +01:00
Ginger Bill
b772ad7094 Fix issue #116 2017-10-09 17:58:12 +01:00
Ginger Bill
56a98a483f Better error messages for import cycles 2017-10-08 10:58:16 +01:00
Ginger Bill
c1e720a49b match to switch; Optional semicolons after "import" statements 2017-10-01 17:09:57 +01:00
Ginger Bill
f38c8875b2 Fix issue #104 2017-10-01 14:29:54 +01:00
Mikkel Hjortshoej
67ac551a2f The position that the invalid token was found at is printed 2017-09-25 21:42:23 +02:00
Ginger Bill
c43d66c286 Use comma for struct field separators (disallow nesting) 2017-09-21 23:18:28 +01:00
Ginger Bill
95fb5fa46c Fix #export proc tag 2017-09-21 22:32:24 +01:00
Ginger Bill
d2c1c719bd Fix file load order and allow when statements at file scope 2017-09-20 20:38:32 +01:00
Ginger Bill
333db4dc94 Fix issues #95 and #96 2017-09-13 22:20:27 +01:00
Ginger Bill
e6e0aba8c3 Remove when suffixes; Implement file scope when statement, evaluated in source order 2017-09-10 15:17:37 +01:00
Ginger Bill
7791c343c4 Allow for multiple library collections; Store AstFile as pointer 2017-09-10 13:26:14 +01:00
Ginger Bill
8e3b77aba8 Library collections 2017-09-07 20:55:59 +01:00
Ginger Bill
cf3c5a878a export declarations 2017-08-27 19:36:43 +01:00
Ginger Bill
2d20bde495 Remove () grouping for foreign_library 2017-08-27 19:24:30 +01:00
Ginger Bill
b9e347ef50 Replace import_load with using import . 2017-08-27 17:03:27 +01:00
Ginger Bill
6707c8750e Import cycle checking 2017-08-27 14:42:19 +01:00
Ginger Bill
6c73f9d3fd Global variable dependency initialization ordering
Fuck graph theory
2017-08-20 18:28:21 +01:00
Ginger Bill
d7bd3f8402 Fix compilation issues on OSX 2017-08-11 00:16:57 +01:00
Ginger Bill
ba6ecf35cf Disable threading on *nix for the time being 2017-08-01 15:09:43 +01:00
Ginger Bill
10cc9cf661 Add mutexes to string buffer allocator uses 2017-08-01 14:24:40 +01:00
Ginger Bill
2db971eedd Use pthread mutex 2017-08-01 13:49:12 +01:00
Ginger Bill
0fae31fb54 Extra type safety; Fix typos 2017-07-31 11:36:00 +01:00
Ginger Bill
8987a6630c v0.6.0 2017-07-30 22:26:22 +01:00
Ginger Bill
629b248f53 Parallelization of the Parser
~66% reduction (unoptimized build)
~30% reduction (optimized build)
2017-07-30 19:01:02 +01:00
Ginger Bill
62a72f0163 transmute(type)x; Minor code clean up 2017-07-30 14:52:42 +01:00
Ginger Bill
ca36fabfc0 Remove dead code for the "fixed" map idea 2017-07-29 14:43:42 +01:00
Ginger Bill
fbd27d7c45 Fix map internal type generation 2017-07-29 13:56:45 +01:00
gingerBill
28be0ad69b Fix IR print bug for empty structs; 2017-07-28 11:35:01 +01:00
Ginger Bill
1df4aa90ce Fix struct parameter bugs 2017-07-21 15:25:58 +01:00
Ginger Bill
dbddec33c8 Internal changes; thread.odin for windows only 2017-07-20 23:57:56 +01:00
Ginger Bill
9a3b4167bb Fix polymorphic element types usage; Empty union as opaque type 2017-07-20 19:40:51 +01:00
Ginger Bill
2da18b6d33 Change internals from Record to Struct 2017-07-20 15:23:13 +01:00
Ginger Bill
6d37ed12d2 Update internals of a Union and Tuple 2017-07-20 15:17:04 +01:00
Ginger Bill
eab23cd5b7 Fix parsing bug with procedure types in return values 2017-07-19 22:34:50 +01:00
Ginger Bill
d233706a2d Fix minor parsing bug with procedure return types 2017-07-19 22:17:57 +01:00
Ginger Bill
f1ab17ed4e type_info_of; enum_value_to_string and string_to_enum_value 2017-07-19 14:01:56 +01:00
Ginger Bill
6113164211 Change union layout to store type info rather than an integer; ternary expression for types with constant condition 2017-07-19 12:15:21 +01:00
Ginger Bill
a22c6d6c0c Fix parsing error for compound literals 2017-07-18 19:57:30 +01:00
Ginger Bill
59fb7b020a Merge raw_union into struct as a memory layout tag #raw_union 2017-07-18 19:24:45 +01:00
Ginger Bill
65f079ebc4 Remove atomic, ++, and -- 2017-07-18 18:58:41 +01:00
Ginger Bill
9a8759efef Polymorphic type specialization for procedures 2017-07-17 15:08:36 +01:00
Ginger Bill
054948e701 Basic procedure type parameter specialization 2017-07-16 15:00:16 +01:00