Commit Graph

458 Commits (6f1a7a0d70d53e7402380ce23a7b1e9c55aefa5c)

Author SHA1 Message Date
Josh Wolfe cb69cb0f26 analysis for variable declaration, but not variable reference 2015-12-03 10:10:33 -07:00
Andrew Kelley f8ca6c70c7 add labels and goto 2015-12-03 00:47:35 -07:00
Josh Wolfe c89f77dd8e parsing variable declaration 2015-12-02 16:33:06 -07:00
Andrew Kelley ffc2c9225f fix execution reaches end of non-void 2015-12-02 12:36:09 -07:00
Andrew Kelley e94681b961 add test for undeclared identifier error 2015-12-02 00:59:58 -07:00
Andrew Kelley 370de7386c fix parameter access and thus shared library example 2015-12-02 00:53:57 -07:00
Andrew Kelley 08a2311efd support if conditionals 2015-12-01 21:19:38 -07:00
Josh Wolfe 1ed926c321 implicit void statements and all tests pass with type checking 2015-12-01 15:54:46 -07:00
Josh Wolfe c6a9ab107b string literals have type *const u8 2015-12-01 14:41:03 -07:00
Josh Wolfe ab327344b6 merge conflicts 2015-12-01 10:44:30 -07:00
Andrew Kelley dfb6682089 add test for bad import 2015-12-01 02:29:21 -07:00
Andrew Kelley 58e375d0a1 support multiple files 2015-12-01 02:08:58 -07:00
Andrew Kelley 29f24e3c50 add --color cli arg to override tty detection 2015-12-01 01:06:10 -07:00
Andrew Kelley 257cf09472 colored error messages that tell the source file 2015-12-01 00:50:11 -07:00
Andrew Kelley 31cf43de54 analyze looks for root export decl only in the root source file 2015-11-30 23:06:29 -07:00
Josh Wolfe 9278dbedd5 Merge remote-tracking branch 'origin/master' into type-checking 2015-11-30 22:54:00 -07:00
Andrew Kelley cd68969115 closer to multiple files working 2015-11-30 22:53:37 -07:00
Josh Wolfe 18cfcfe44f fix ast printer names 2015-11-30 22:40:52 -07:00
Josh Wolfe 00f4c05784 merge conflicts 2015-11-30 22:12:21 -07:00
Andrew Kelley 55b8472374 refactor code to prepare for multiple files
verbose compiler output is now behind --verbose flag
2015-11-30 20:00:39 -07:00
Josh Wolfe abbc395701 implement basics of type checking 2015-11-30 18:43:45 -07:00
Josh Wolfe ef482ece7c no more TypeId. use g->builtin_types. 2015-11-30 15:36:58 -07:00
Andrew Kelley b77c423f77 all LLVM C++ API contained to one file 2015-11-30 14:43:23 -07:00
Josh Wolfe f36255b670 Merge branch 'master' of github.com:andrewrk/zig 2015-11-30 14:13:04 -07:00
Josh Wolfe 757ebefd60 untangle analyze_node into a stricter call graph 2015-11-30 14:13:00 -07:00
Andrew Kelley 4ccb98bdce analyze no longer depends on llvm C++ API 2015-11-30 14:10:07 -07:00
Josh Wolfe 014711c57e rename variable 2015-11-30 09:38:31 -07:00
Josh Wolfe 9e0ff6faa2 factor analysis code out of codegen 2015-11-30 09:14:58 -07:00
Andrew Kelley 020f854f6f add bad version string test case 2015-11-30 02:14:54 -07:00
Andrew Kelley 8f0f318c39 add directive to specify root export version 2015-11-30 02:12:20 -07:00
Andrew Kelley ac0c5a3707 minor parser refactoring 2015-11-30 01:26:01 -07:00
Andrew Kelley 9b477230e0 ability to generate shared library and h file 2015-11-29 18:02:20 -07:00
Josh Wolfe f4721857ed inline PrimaryExpr ast node 2015-11-29 17:16:32 -07:00
Andrew Kelley 63d4e3ce1e add missing panic for shared library output 2015-11-29 15:10:06 -07:00
Josh Wolfe ceb2d44bfc merge arithmetic binary operator gen functions 2015-11-29 15:08:42 -07:00
Andrew Kelley a008a81eef codegen: fix wrong node type 2015-11-29 14:59:41 -07:00
Josh Wolfe 30442ed893 merge conflicts 2015-11-29 14:52:49 -07:00
Josh Wolfe 9a014b52cc flatten expression ast to hide operator precedence 2015-11-29 14:46:05 -07:00
Andrew Kelley c1d77f2a23 function call names are expressions 2015-11-29 14:39:11 -07:00
Andrew Kelley 918e7641fc rename unary expression to prefix op expression 2015-11-29 14:00:34 -07:00
Andrew Kelley a7555c58d9 add unary expression 2015-11-29 13:37:55 -07:00
Andrew Kelley 4466a4533c parser: add missing `static` 2015-11-29 12:00:34 -07:00
Andrew Kelley 855d51840d remove LLVMZigTargetMachineEmitToFile
The llvm C API provided function is adequate.
2015-11-29 11:12:40 -07:00
Andrew Kelley e5d1f0eea5 parse and codegen for math expressions 2015-11-29 02:43:05 -07:00
Andrew Kelley f6529341a2 ability to export .o file 2015-11-27 22:13:39 -07:00
Andrew Kelley 03f9922734 remove unnecessary codegen llvm initialization 2015-11-27 21:49:04 -07:00
Andrew Kelley c810a0b381 more vim doc files 2015-11-27 21:48:58 -07:00
Andrew Kelley cb4773ce29 add root export declaration which is overridable by command line options 2015-11-27 21:24:47 -07:00
Andrew Kelley 4cc95174a7 add tests for compile errors 2015-11-27 18:55:06 -07:00
Andrew Kelley 4068897b6b rename standalone.cpp to run_tests.cpp 2015-11-27 17:11:03 -07:00