Commit Graph

  • 35b74d4013 order-independent declarations even from imports Andrew Kelley 2016-01-10 01:25:20 -07:00
  • 49d0971cd4 detect and report top level decl dependency loop Andrew Kelley 2016-01-10 00:03:31 -07:00
  • 1fe1235e14 order-independent declarations Andrew Kelley 2016-01-09 23:49:22 -07:00
  • 6d9119fcd9 add memcpy and memset intrinsics Andrew Kelley 2016-01-09 02:16:54 -07:00
  • bdca82ea66 implement pub const Andrew Kelley 2016-01-09 00:37:48 -07:00
  • 0c24ed8a81 rename restrict to noalias Andrew Kelley 2016-01-08 23:48:24 -07:00
  • b7dd88ad68 suport checked arithmetic operations via intrinsics Andrew Kelley 2016-01-08 23:41:40 -07:00
  • 14b9cbd43c add restrict qualifier on pointer arguments Andrew Kelley 2016-01-08 20:59:47 -07:00
  • d14a31100f implement unknown size array indexing and slicing Andrew Kelley 2016-01-08 17:52:45 -07:00
  • 2a8d6af7ba fix guess number example. now it works Andrew Kelley 2016-01-08 04:08:42 -07:00
  • 0c84ecd19d codegen: fix else if expression and maybe unwrap expr Andrew Kelley 2016-01-08 03:59:37 -07:00
  • e1f498212c fix codegen for implicit maybe wrap Andrew Kelley 2016-01-08 02:52:27 -07:00
  • 9aea99a999 implement array slicing syntax Andrew Kelley 2016-01-07 05:29:11 -07:00
  • ea69d6ecda tokenize: detect "..." after a number literal Andrew Kelley 2016-01-07 04:00:05 -07:00
  • a3c97081ca add ?? maybe unwrapping binary operator Andrew Kelley 2016-01-07 03:23:38 -07:00
  • 9b9fd5ad23 re-add errno.zig Andrew Kelley 2016-01-07 03:22:53 -07:00
  • c75d40680f while detects simple constant condition Andrew Kelley 2016-01-06 18:02:42 -07:00
  • 5f0bfcac24 fix undefined reference to memcpy in release mode Andrew Kelley 2016-01-06 06:40:25 -07:00
  • 5e64c4d92f support pub structs. move rand to std lib. Andrew Kelley 2016-01-06 04:41:11 -07:00
  • f1eafe4ebb fix bug in RNG example Andrew Kelley 2016-01-06 03:53:30 -07:00
  • 3fbde00eee codegen: fix lshr/ashr not looking at int sign Andrew Kelley 2016-01-06 03:52:49 -07:00
  • f751a85d55 codegen: arithmetic is all wrapping for now Andrew Kelley 2016-01-06 02:44:46 -07:00
  • 8b48e242b8 codegen: fix array access of struct field Andrew Kelley 2016-01-06 02:43:29 -07:00
  • 9c775d2111 codegen: fix member function invocation Andrew Kelley 2016-01-06 02:05:45 -07:00
  • 66eee5a06b add unknown size array test Andrew Kelley 2016-01-06 01:30:11 -07:00
  • 3c43bc9208 support unknown size arrays Andrew Kelley 2016-01-06 01:28:58 -07:00
  • 4ef062b9c8 array syntax is [10]i32 instead of [i32; 10] Andrew Kelley 2016-01-05 22:47:47 -07:00
  • e21a83dd74 update rand example Andrew Kelley 2016-01-05 16:48:12 -07:00
  • bfb3e7fcb1 #sizeof allowed in constant expression Andrew Kelley 2016-01-05 16:46:20 -07:00
  • d006ea98dd analyze: ability to call a method on a struct pointer Andrew Kelley 2016-01-05 16:34:51 -07:00
  • 4ce0fcb569 fix some errors in rand example Andrew Kelley 2016-01-05 06:49:50 -07:00
  • 3327b0488d add #min_value() and #max_value() Andrew Kelley 2016-01-05 06:30:49 -07:00
  • a11d0aaf62 progress toward compile time constant expression evaluation Andrew Kelley 2016-01-04 23:37:17 -07:00
  • 3c55162826 fix += not allowed for pointers Andrew Kelley 2016-01-04 22:19:57 -07:00
  • b268e3de04 fix binary operators incorrectly assuming i32 Andrew Kelley 2016-01-04 22:09:59 -07:00
  • e1ff201d60 fix crash when struct field is invalid Andrew Kelley 2016-01-04 21:42:35 -07:00
  • e0aa0736be add pointer dereferencing operator Andrew Kelley 2016-01-04 19:10:52 -07:00
  • 22c52f1eb6 member functions get a namespaced symbol Andrew Kelley 2016-01-04 17:14:53 -07:00
  • 4514661cfe add member functions Andrew Kelley 2016-01-04 16:57:22 -07:00
  • fcacc85b4e cleanup readme Andrew Kelley 2016-01-04 04:44:32 -07:00
  • 2c8958f454 import segregation for types Andrew Kelley 2016-01-04 03:52:37 -07:00
  • 44d5d008d0 partial import segregation Andrew Kelley 2016-01-04 03:31:57 -07:00
  • 333a322127 multiple files example no longer use libc Andrew Kelley 2016-01-04 01:42:09 -07:00
  • e64c0941f9 implement #sizeof() Andrew Kelley 2016-01-03 19:38:36 -07:00
  • fa6e3eec46 add #typeof() compiler function Andrew Kelley 2016-01-03 18:17:50 -07:00
  • b453345554 add rand example that doesn't yet work Andrew Kelley 2016-01-03 00:30:41 -07:00
  • 1abb4e59be fix various bugs related to guess number example Andrew Kelley 2016-01-02 21:56:33 -07:00
  • fb1e3a5be9 codegen: emit debug metadata for parameters Andrew Kelley 2016-01-02 20:42:32 -07:00
  • 258bc73eee fix implicit cast after unreachable bad code gen Andrew Kelley 2016-01-02 20:13:10 -07:00
  • 187d00ca83 ability to access pointers with array indexing syntax Andrew Kelley 2016-01-02 19:47:36 -07:00
  • 968b85ad77 closer to guess number example working Andrew Kelley 2016-01-02 03:38:45 -07:00
  • 724dcdd384 error for if var expression not maybe type Andrew Kelley 2016-01-02 00:09:49 -07:00
  • 9a8851515b basic maybe type working Andrew Kelley 2016-01-02 00:06:06 -07:00
  • b3ac5c16ec block expressions require parens Andrew Kelley 2015-12-31 16:04:13 -07:00
  • 7ba99e9715 analyze if maybe var expressions Andrew Kelley 2015-12-26 15:43:40 -07:00
  • 1f8e3871ee parse if maybe expression Andrew Kelley 2015-12-26 15:05:27 -07:00
  • 5943f99510 implement continue expression Andrew Kelley 2015-12-24 15:36:49 -07:00
  • 44ca5e19dc add error for break outside loop Andrew Kelley 2015-12-24 15:30:32 -07:00
  • 5ceaae288c add break expression Andrew Kelley 2015-12-24 15:09:35 -07:00
  • ffc593b808 add test for while loop Andrew Kelley 2015-12-24 14:41:00 -07:00
  • a030b60aeb add while loop Andrew Kelley 2015-12-24 14:37:43 -07:00
  • 2e74889c3c add test for invalid field in struct value expression Andrew Kelley 2015-12-24 13:49:23 -07:00
  • 08a7ce7dd5 add error for missing or duplicate field in struct value expr Andrew Kelley 2015-12-24 13:47:07 -07:00
  • 8915883cf6 add error for byvalue struct param on exported fn Andrew Kelley 2015-12-24 13:25:54 -07:00
  • 4e52281142 add test for error for redefinition of struct Andrew Kelley 2015-12-24 13:19:31 -07:00
  • 50357dad45 add struct value expression Andrew Kelley 2015-12-24 00:00:23 -07:00
  • 9ce36ba0cc inline assembly uses -> instead of return Andrew Kelley 2015-12-23 15:49:34 -07:00
  • e21369a153 codegen: support byvalue struct assignment Andrew Kelley 2015-12-23 03:19:22 -07:00
  • ebd7aeb541 add test for invalid struct field access Andrew Kelley 2015-12-22 13:45:13 -07:00
  • fe3ad27d5f analyze: error for infinite size struct Andrew Kelley 2015-12-22 13:41:33 -07:00
  • 431170d981 codegen: fix struct pointer field access Andrew Kelley 2015-12-22 13:22:40 -07:00
  • 437e9b954d add some brainstorming example zig code Andrew Kelley 2015-12-17 14:59:08 -07:00
  • e4cb28dbf2 structs have debug information Andrew Kelley 2015-12-16 17:11:35 -07:00
  • 4d45d14b55 use realpath to avoid duplicate imports Andrew Kelley 2015-12-15 21:48:41 -07:00
  • aa56f016f7 support addressof operator and struct pointer field access Andrew Kelley 2015-12-15 20:08:53 -07:00
  • 5a8822c714 fix assignment operators for struct fields Andrew Kelley 2015-12-15 19:17:39 -07:00
  • 28c5a8f2ca analyze: clean up type checking Andrew Kelley 2015-12-15 18:21:59 -07:00
  • 431d8f946f implicit casting from constant size array to string Andrew Kelley 2015-12-15 17:29:44 -07:00
  • 423ee0689b add implicit casting support Andrew Kelley 2015-12-15 17:11:44 -07:00
  • 8a570c458b base 10 decimals work now. closes #15 Josh Wolfe 2015-12-15 14:54:16 -07:00
  • 43099932d5 add number literal tests for integers Josh Wolfe 2015-12-15 14:12:33 -07:00
  • 1e09de0ff4 some tests for number literals Josh Wolfe 2015-12-15 13:15:07 -07:00
  • 2f15babbd3 better radix handling in float parsing. base 10 still doesn't work. Josh Wolfe 2015-12-15 12:52:10 -07:00
  • fe94ca8d10 readme: provide bash to get c dir Andrew Kelley 2015-12-15 13:06:42 -07:00
  • 1b1453293e readme: add note about discovering libc path Andrew Kelley 2015-12-15 13:02:02 -07:00
  • f5a3281877 when linking with libc use the C runtime library Andrew Kelley 2015-12-15 12:44:42 -07:00
  • f2a9b40231 more number literal syntax is supported. floats still need work Josh Wolfe 2015-12-15 04:05:43 -07:00
  • cf88fcb2ad tokenizer parses all number literal types Josh Wolfe 2015-12-14 23:13:53 -07:00
  • de7c5ea102 codegen: add support for shortening cast Andrew Kelley 2015-12-15 02:58:01 -07:00
  • 1f48b626a1 std: even more efficient inline assembly Andrew Kelley 2015-12-15 02:47:39 -07:00
  • 673d638070 std: more efficient inline assembly Andrew Kelley 2015-12-15 01:55:52 -07:00
  • a292eb8d64 support inline assembly expressions with return type Andrew Kelley 2015-12-15 00:46:56 -07:00
  • 66ca916805 std: expose exit syscall Andrew Kelley 2015-12-15 00:07:51 -07:00
  • 4dc2b82506 constant initializers allow simple expressions Andrew Kelley 2015-12-14 23:49:56 -07:00
  • 83b68c9f13 add global variable support Andrew Kelley 2015-12-14 23:10:18 -07:00
  • 52e19b4a9b analyze: BlockContext has concept of module scope Andrew Kelley 2015-12-14 22:01:39 -07:00
  • 3049410260 const and var instead of let and let mut Andrew Kelley 2015-12-14 18:51:07 -07:00
  • 8b727557d3 doc: update vim syntax Andrew Kelley 2015-12-14 18:38:08 -07:00
  • f17e20d5fe instead of *mut and *const, & and &const Andrew Kelley 2015-12-14 18:10:25 -07:00
  • 7dd2929185 prefer int *token_index over new_token_index Josh Wolfe 2015-12-14 12:58:06 -07:00