Commit Graph

122 Commits

Author SHA1 Message Date
gingerBill
9bd8bdaa5a Disable all cyclic importations 2017-11-13 23:53:01 +00:00
gingerBill
dffa791607 In error messages, remove with '; Fix error messages for switch` 2017-11-12 19:00:48 +00:00
gingerBill
ae3672608d Fix link_name overriding 2017-11-09 23:36:10 +00:00
gingerBill
e5c39fb2a9 Fix opening file without close; Minor fixes 2017-11-09 22:58:44 +00:00
gingerBill
66ee2cb6ed #const value procedure parameters; $N for polymorphic array lengths 2017-11-05 18:26:24 +00:00
gingerBill
04b917a60a More code clean up 2017-11-04 10:53:47 +00:00
gingerBill
e6c99cd289 Cleanup attribute handling 2017-11-04 10:26:56 +00:00
gingerBill
e7999f8450 Foreign context cleanup 2017-11-03 23:20:30 +00:00
gingerBill
0b29e42adb link_prefix; thread_local; fix link_name for file-scope variables 2017-11-03 23:11:06 +00:00
gingerBill
414486829a Add string_set.cpp; Code clean up 2017-10-30 20:26:05 +00:00
gingerBill
3e05be8eb8 @(default_calling_convention = ...) for foreign blocks 2017-10-29 18:09:05 +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
71729c2855 Add anonymous using import names with an underscore (#127)
`using import _ "foo.odin"`
2017-10-18 22:29:14 +01:00
gingerBill
56f7a859df Refactor code to remove entity flag for export 2017-10-15 16:16:16 +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
gingerBill
e05fe1837d Fix minimal dependency generation for polymorphic structs (related to issue #121) 2017-10-15 11:21:48 +01:00
Ginger Bill
bbb0e14633 Fix using import to work correctly 2017-10-12 20:28:32 +01:00
Ginger Bill
4e42d7df43 Minor code reorganization 2017-10-08 12:27:03 +01:00
Ginger Bill
580ee5cc4a Fix using on import names 2017-10-08 11:08:15 +01:00
Ginger Bill
56a98a483f Better error messages for import cycles 2017-10-08 10:58:16 +01:00
Ginger Bill
df7a4eda8a Allow for cyclic import but disallow cyclic using import and export 2017-10-07 11:37:43 +01:00
Ginger Bill
c1e720a49b match to switch; Optional semicolons after "import" statements 2017-10-01 17:09:57 +01:00
Ginger Bill
96bf6a5bcb Fix cyclic importation error printing 2017-09-23 20:47:02 +01:00
Ginger Bill
c43d66c286 Use comma for struct field separators (disallow nesting) 2017-09-21 23:18:28 +01:00
Ginger Bill
3bfaac0844 Fix decimal.odin assignment bug 2017-09-20 22:59:46 +01:00
Ginger Bill
14d0cbf6d7 Fix load order of files (again) 2017-09-20 21:42:42 +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
cbcf4b6071 Fix issue #94 2017-09-11 22:49:26 +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
7cb8016df3 Add examples 2017-08-27 23:27:12 +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
e5502c13ee Restrict global variables to not allow tuples 2017-08-20 19:35:52 +01:00
Ginger Bill
6c73f9d3fd Global variable dependency initialization ordering
Fuck graph theory
2017-08-20 18:28:21 +01:00
Ginger Bill
49d337c830 v0.6.2; Use Ada_Case for types 2017-08-03 21:21:56 +01:00
Ginger Bill
0fae31fb54 Extra type safety; Fix typos 2017-07-31 11:36:00 +01:00
Ginger Bill
a0ae02168a Update add_type_info_type to ignore polymorphic types 2017-07-30 20:13:23 +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
fbd27d7c45 Fix map internal type generation 2017-07-29 13:56:45 +01:00
Ginger Bill
3546391311 Merge branch 'master' of https://github.com/gingerBill/Odin 2017-07-29 13:01:28 +01:00
Ginger Bill
24c812115e Remove empty union check on array types; Fix overflowing error printing 2017-07-29 13:01:17 +01:00
gingerBill
28be0ad69b Fix IR print bug for empty structs; 2017-07-28 11:35:01 +01:00