Commit Graph

152 Commits (a73453a2680cdbe4decb946f5f8355e83b521aa2)

Author SHA1 Message Date
Andrew Kelley 5afe473a86 different extern syntax and simplify parsing top level decls 2016-01-26 13:08:21 -07:00
Andrew Kelley 4e43973413 variable initializations are now mandatory
use `undefined` if you want uninitialized memory
2016-01-25 23:56:46 -07:00
Andrew Kelley b215a3e0b6 add constant expression evaluation for negation 2016-01-25 23:44:16 -07:00
Andrew Kelley a37bb4a4da add the C integer types 2016-01-25 23:21:13 -07:00
Andrew Kelley a3e288ab5b implement compile time string concatenation
See #76
2016-01-25 21:56:29 -07:00
Andrew Kelley 1d68150242 compiler enforces checking for error
See #23
2016-01-25 20:27:57 -07:00
Andrew Kelley 50854226a6 syntax: back to -> for return type, no more => 2016-01-25 17:08:18 -07:00
Andrew Kelley 4b9e1dd438 fix tests and add %% operator test 2016-01-25 14:04:29 -07:00
Andrew Kelley bcb18338cd update std lib to use error type and global variables 2016-01-24 22:53:00 -07:00
Andrew Kelley f5cc7f65a3 fix parameter access of sret functions 2016-01-24 19:27:12 -07:00
Andrew Kelley 419652ee8f ability to return structs byvalue from functions
closes #57
2016-01-24 18:34:50 -07:00
Andrew Kelley 5c18826240 introduce the error keyword and type
See #23
2016-01-24 01:34:57 -07:00
Andrew Kelley 706f72f1b4 fix hang when returning from while loop
also fixes duplicate error message for function missing
return type.

also makes guess number game use %void for main return type.

closes #58
2016-01-23 02:46:24 -07:00
Andrew Kelley c0ea9290c4 main returns %void 2016-01-23 02:14:01 -07:00
Andrew Kelley a922d5d42a implement literal error values
See #23
2016-01-23 00:34:59 -07:00
Andrew Kelley 1543043bf5 fix no error emitted for redeclaring global var
closes #81
2016-01-23 00:07:08 -07:00
Andrew Kelley 523e3b86af support statically initialized array literal 2016-01-22 22:02:07 -07:00
Andrew Kelley 1158bc3ead support statically initialized structs 2016-01-22 18:05:22 -07:00
Andrew Kelley 7bd9c82386 add compile error for non constant expr global 2016-01-22 16:40:15 -07:00
Andrew Kelley b61406b607 add test for const number literal 2016-01-22 16:02:08 -07:00
Andrew Kelley 272fe1c54c implicit casts rewrite the AST 2016-01-22 15:31:35 -07:00
Andrew Kelley b09a0cd072 allow constants to have number literal values
also codegen takes advantage of constant expr eval
2016-01-21 15:23:24 -07:00
Andrew Kelley 32e2196257 number literal rework 2016-01-21 03:02:25 -07:00
Andrew Kelley 961adc0909 Merge branch 'master' of github.com:andrewrk/zig 2016-01-20 02:16:36 -07:00
Andrew Kelley ad9759bc8e basic support for switch expression 2016-01-20 02:12:24 -07:00
MovingtoMars 361531891f rename value_count to member_count
rename BuiltinFnIdValueCount to BuiltinFnIdMemberCount

rename value_count to member_count
2016-01-20 22:03:03 +13:00
Andrew Kelley ae2151a751 use signed integer for sizes of things 2016-01-18 21:13:14 -07:00
Andrew Kelley ea21d2beb6 add error for shadowing a type
closes #61
2016-01-18 17:04:37 -07:00
Andrew Kelley 32821e7098 add function pointer support
See #14
2016-01-18 16:42:45 -07:00
Andrew Kelley 3a326d5005 pave the road for function pointers
See #14
2016-01-18 08:50:10 -07:00
Andrew Kelley fbbef14013 add for loop which can iterate over arrays
See #51
2016-01-18 07:00:45 -07:00
Andrew Kelley f0a43cfda9 fix nested arrays 2016-01-18 04:34:26 -07:00
Andrew Kelley 5f7685336f better main symbol prototype
closes #64
2016-01-16 00:07:34 -07:00
Andrew Kelley 8205253b2b support array literals 2016-01-15 20:01:49 -07:00
Andrew Kelley 8bc3fae1cf fix error message for struct initialization on array 2016-01-15 19:05:51 -07:00
Andrew Kelley dc162c7f83 rename "use" to "import" 2016-01-15 18:45:52 -07:00
Andrew Kelley 86f55bce53 add void arrays test 2016-01-15 18:41:19 -07:00
Andrew Kelley 0c9afede9e overflow intrinsics take type as first argument 2016-01-14 17:04:35 -07:00
Andrew Kelley 5f9ecb8566 instead of 'as' to cast, call type as function 2016-01-14 02:52:33 -07:00
Andrew Kelley d121ed961a fix noalias codegen
also make some parsing error messages better
2016-01-13 22:18:10 -07:00
Andrew Kelley b28b7f63d1 all types are now expressions
See #22
2016-01-13 18:15:51 -07:00
Andrew Kelley cb46d0b5b0 fix not adding builtin functions code 2016-01-11 20:44:10 -07:00
Andrew Kelley ccc8e9f4c3 support enums with values attached 2016-01-11 20:33:06 -07:00
Andrew Kelley aaa62eda72 simple enum support 2016-01-11 01:15:17 -07:00
Andrew Kelley b147ff5b60 fix codegen for void struct fields 2016-01-10 18:56:50 -07:00
Andrew Kelley 35b74d4013 order-independent declarations even from imports
closes #42
2016-01-10 01:25:20 -07:00
Andrew Kelley 49d0971cd4 detect and report top level decl dependency loop 2016-01-10 00:03:31 -07:00
Andrew Kelley 1fe1235e14 order-independent declarations
code constructs and traverses a dependency graph in a deterministic
order.
2016-01-09 23:49:22 -07:00
Andrew Kelley 6d9119fcd9 add memcpy and memset intrinsics 2016-01-09 02:16:54 -07:00
Andrew Kelley b7dd88ad68 suport checked arithmetic operations via intrinsics
closes #32
2016-01-08 23:41:40 -07:00