Commit Graph

42 Commits

Author SHA1 Message Date
Andrew Kelley c1642355f0 parse-c: improve performance
previously we did linear search to find existing global
declarations; now we index using a hash map.

building tetris went from taking 5.3 sec to 0.76 sec
2017-10-21 16:46:33 -04:00
Andrew Kelley 8156e4f78f fix parse-c tests 2017-10-01 21:42:33 -04:00
Andrew Kelley 4d865e355b support linking against MSVC libc 2017-10-01 21:05:08 -04:00
Andrew Kelley 1962c8588f implement standard library path search
closes #463
See #302
2017-10-01 18:30:31 -04:00
Josh Wolfe ee42caee0e fix chain assignment semicolon 2017-09-20 23:49:46 -07:00
Josh Wolfe d7775e3dca chain assignment 2017-09-20 23:45:53 -07:00
Andrew Kelley be37b03f4c parse-c: support sizeof 2017-09-21 02:37:42 -04:00
Andrew Kelley c01ae69cdb parse-c: support implicit cast to void * 2017-09-21 02:31:52 -04:00
Andrew Kelley 2655cf1bf7 parse-c: support c style cast 2017-09-21 01:55:15 -04:00
Josh Wolfe 5ac2cf9c28 fix assignment needing an lvalue 2017-09-20 22:41:16 -07:00
Andrew Kelley 1360af847e parse-c: array access expression 2017-09-21 01:38:29 -04:00
Josh Wolfe 67a5a3f3d7 add sub mul div rem 2017-09-20 22:36:43 -07:00
Andrew Kelley 0d1f64b08c parse-c: fix undefined array literals 2017-09-21 01:22:50 -04:00
Josh Wolfe 33784871ec assign 2017-09-20 22:14:39 -07:00
Josh Wolfe f7cb77a02c Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig 2017-09-20 22:05:14 -07:00
Josh Wolfe 2ae789d27c bitwise binary operators 2017-09-20 22:04:51 -07:00
Andrew Kelley 0d91747502 parse-c: null statements 2017-09-21 01:04:43 -04:00
Andrew Kelley eba45b0013 parse-c: field access expressions 2017-09-21 00:54:08 -04:00
Josh Wolfe 0827a8f36b ==, != 2017-09-20 21:47:43 -07:00
Josh Wolfe 4c8443d96d logical and, logical or 2017-09-20 21:37:56 -07:00
Josh Wolfe bf6d32f8cb Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig 2017-09-20 21:17:41 -07:00
Josh Wolfe 46fef543f9 if statement 2017-09-20 21:16:49 -07:00
Andrew Kelley f68d724647 parse-c: support function calls 2017-09-21 00:02:18 -04:00
Andrew Kelley 38059e6f97 parse-c: fix anonymous enums 2017-09-20 23:16:44 -04:00
Josh Wolfe c3814eee26 Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig 2017-09-20 19:49:55 -07:00
Josh Wolfe c10b052cee translate expr++ from c to zig 2017-09-20 19:49:41 -07:00
Andrew Kelley 9cdb5dec7a parsec: cleaner shifting code for fixed size types 2017-09-20 22:44:24 -04:00
Josh Wolfe e2f8bec7ac optimize >>= operator for common case 2017-09-20 18:37:36 -07:00
Andrew Kelley 0228f8c9fd all parsec tests passing 2017-09-20 21:16:26 -04:00
Andrew Kelley b1e04865cc parsec: don't make pointless block in fn body 2017-09-20 13:08:02 -04:00
Andrew Kelley 3c41c2d84b Merge branch 'master' into c-to-zig 2017-09-20 12:52:54 -04:00
Andrew Kelley 57ea6e8c9f fix up msvc stuff to make it work on linux and macos too 2017-09-13 02:40:02 -04:00
Josh Wolfe 4adffea8d0 analysis of result used 2017-09-11 21:37:11 -07:00
Josh Wolfe 99cb6e955a oh, actually it was 2017-09-11 20:39:42 -07:00
Josh Wolfe e52418097d not my segfault 2017-09-11 20:08:45 -07:00
Josh Wolfe 7e3f45a49f Merge branch 'master' into c-to-zig 2017-09-11 19:58:41 -07:00
Josh Wolfe 6f50457b61 wip c to zig stuff 2017-09-11 19:58:14 -07:00
Andrew Kelley 4bd23aefe7 local var 2017-09-11 22:58:06 -04:00
Jonathan Marler 7c81cd30de Add support for MSVC 2017-09-11 09:26:26 -06:00
Andrew Kelley b5d9584e6f support parens in C macros
closes #454
2017-09-10 00:20:09 -04:00
Andrew Kelley e7c3aa7f7c parsec: turn panics into warnings 2017-09-06 01:00:42 -04:00
Andrew Kelley 2c9bdad346 rename parseh to parsec 2017-09-05 22:55:03 -04:00