Commit Graph

416 Commits

Author SHA1 Message Date
gingerBill
e92fdb4a99 x if cond else y and x when cond else y expressions 2020-03-05 20:34:30 +00:00
gingerBill
3d74c2f6c0 Add proc(#const x: Type) to enforce a constant parameter (but not polymorphic) to a procedure 2020-02-26 22:53:40 +00:00
gingerBill
0f399a7294 Add union #maybe 2020-02-01 11:10:28 +00:00
gingerBill
159150c6d9 Allow not_in as keyword over notin, but still allow notin to work 2020-01-16 10:00:14 +00:00
gingerBill
5ec8dd166a Add #partial tag for enumerated arrays to prevent common errors using non-contiguous enumerations 2019-12-27 16:55:32 +00:00
gingerBill
d1c9fd4e01 Implement #complete switch by default, replace with #partial switch #511 2019-12-22 12:03:48 +00:00
gingerBill
d462dbb5be Deprecate using import 2019-12-21 12:11:16 +00:00
gingerBill
4ba579bc25 Also allow #no_bounds_check on an expression #499 2019-12-15 11:41:21 +00:00
gingerBill
58d4d424c6 Replace #vector[N]T with #simd[N]T to reduce confusion #498 2019-12-15 11:30:09 +00:00
gingerBill
7f5021c8e9 Disallow procedure calls with an associated deferred procedure to be used in logical binary expressions (short-circuiting) 2019-12-15 11:10:50 +00:00
gingerBill
9db81498d8 Make the string type elements "immutable", akin to char const * in C
Allows for extra security and optimization benefits
2019-12-01 14:10:59 +00:00
gingerBill
71c8a3456e Update package odin/parser for #soa and #vector 2019-11-27 15:23:54 +00:00
gingerBill
d22e5b697d Add new #soa and #vector syntax 2019-11-17 10:30:37 -08:00
gingerBill
0a35b13411 Fix inline for bug for #468 2019-11-09 10:24:27 +00:00
gingerBill
dacfc9de15 Fix //+build for ! e.g. //+build !windows amd64, linux !amd64 2019-11-05 20:09:09 +00:00
gingerBill
689aa4d734 Fix //+build system 2019-11-05 20:02:11 +00:00
gingerBill
3b898e5224 Add @force to foreign import 2019-11-01 19:26:22 +00:00
gingerBill
7fae890ef9 Allow ranges for array-like compound literals 2019-10-26 14:06:29 +01:00
gingerBill
b53fe14c22 Change error to syntax_error in parser 2019-10-13 16:06:41 +01:00
gingerBill
2a6d9e8927 #panic; Minor change to demo.odin; Fix #assert bug at file scope 2019-10-13 12:38:23 +01:00
gingerBill
1b8c3ca22a Fix typos and make demo work with -vet 2019-10-08 20:28:45 +01:00
gingerBill
939459b635 Change implicit semicolon rules for record types within procedure bodies; Update package odin/* 2019-10-06 19:16:55 +01:00
gingerBill
d62503d031 Change precedence for in and notin to match + - | ~ 2019-10-06 18:14:02 +01:00
gingerBill
6c69e8c043 Make typeid semantics consistent across variables and constants 2019-10-06 14:55:25 +01:00
gingerBill
4afc78efc6 Add where clauses to struct and union 2019-09-08 12:12:41 +01:00
gingerBill
d54255505a Fix Compiler does not complain about missing semicolon #433 2019-09-04 18:10:02 +01:00
gingerBill
772c8779fa Clean up thread pool code 2019-09-03 22:11:21 +01:00
gingerBill
1348d8a8cd Improve thread pool (volatile hints, etc) 2019-09-02 18:49:23 +01:00
gingerBill
97dece15d7 Minor changes 2019-09-01 22:18:55 +01:00
gingerBill
657103c4cf ThreadPool for the parser 2019-09-01 20:02:39 +01:00
gingerBill
b9d3129fb3 where clauses for procedure literals 2019-08-31 20:13:28 +01:00
gingerBill
b311540b16 Make require_results an attribute rather than a suffix tag for procedures 2019-08-31 14:48:56 +01:00
gingerBill
a1d4ea7718 Merge pull request #425 from thebirk/parser-threading
Fixed parser creating a new thread for each file.
2019-08-29 20:44:48 +01:00
thebirk
f921a91fc8 Properly removed the semaphore. 2019-08-29 20:35:12 +02:00
thebirk
4dade34603 Removed unused semaphore on Parser. 2019-08-29 20:34:09 +02:00
thebirk
d76249d90b Cleaned up parse_packages and the worker proc. 2019-08-29 20:27:38 +02:00
thebirk
6a8b3fee38 Removed gb_thread_set_name because it segfaults on linux. 2019-08-26 20:23:52 +02:00
thebirk
4551521b2c Im just trying things at this point, Bill should just squash this PR at merge time ;) 2019-08-26 19:51:33 +02:00
thebirk
97dfcffa76 Fixed error where the parser would end early. 2019-08-26 19:09:52 +02:00
thebirk
c44d25d14f Fixed parser creating a new thread for each file. 2019-08-26 16:47:41 +02:00
gingerBill
01c10aa944 inline for loops (only for 'in' based for loops) 2019-08-26 13:54:35 +01:00
gingerBill
9c63212824 Struct field tags 2019-08-09 21:59:58 +01:00
gingerBill
2c5c8192f8 Fix parsing for procedure literals expression statements; improve assert performance; other minor fixes 2019-07-28 22:58:56 +01:00
gingerBill
f25818e923 Make procedure parameters just named values rather than copied variables 2019-07-15 21:18:37 +01:00
gingerBill
308300c1fc Add extra error handling for parsing slices 2019-07-09 11:18:50 +01:00
gingerBill
4ab9edeb53 union #no_nil 2019-07-09 10:28:13 +01:00
gingerBill
8e722274f0 Disallow blank identifier polymorphic types $_ 2019-07-07 14:14:28 +01:00
gingerBill
b891c0feab Fix ranges in switch statement for strings 2019-06-21 22:40:11 +01:00
gingerBill
65e9b4d5f0 Update parsers 2019-05-28 12:55:55 +01:00
gingerBill
222941727f Add ..< operator for ranges; Add extra checking for bit set assignments 2019-05-28 12:45:20 +01:00