Commit Graph

39 Commits

Author SHA1 Message Date
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
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
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
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
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
3a1defa67b figure out integers
After researching int_least8_t, int_fast8_t, and friends,
it seems that rust's idea of only having fixed integer
types is the way to go.
2015-11-27 17:07:23 -07:00
Andrew Kelley
024052b448 add pub and export visibility modifiers and optimization 2015-11-27 15:46:06 -07:00
Andrew Kelley
9ca9a2c554 allow empty function and return with no expression 2015-11-27 10:52:31 -07:00
Andrew Kelley
821907317e support C-style comments, plus nesting 2015-11-27 00:40:26 -07:00
Andrew Kelley
763ce1c485 add tests 2015-11-26 01:29:52 -07:00
Josh Wolfe
e579011a6e inline AstNodeStatement 2015-11-25 15:45:10 -07:00
Andrew Kelley
a1771c76c3 build: improve findllvm script 2015-11-25 11:23:25 -07:00
Andrew Kelley
4fe366dfa6 cleanup 2015-11-24 23:56:35 -07:00
Andrew Kelley
09f68c7c33 support linker directives
now you can depend on libc in zig language instead of it being
hardcoded in the compiler.
2015-11-24 23:44:41 -07:00
Andrew Kelley
505317a12f debug/release mode 2015-11-24 22:32:26 -07:00
Andrew Kelley
cda10f0577 only \n and ' ' are valid whitespace characters 2015-11-24 20:37:53 -07:00
Andrew Kelley
c7f4cadbc7 debug symbols implemented; debugging with gdb works 2015-11-24 19:54:38 -07:00
Andrew Kelley
baf5167171 fix not using subtarget features 2015-11-24 15:01:37 -07:00
Andrew Kelley
925c805d4b add unreachable expression
now creating .o file from hello.zig correctly
2015-11-24 13:37:14 -07:00
Andrew Kelley
e112818e25 codegen: fix param type of const strings 2015-11-24 03:06:10 -07:00
Andrew Kelley
4bbc074dd7 hello world IR code looks good 2015-11-24 02:43:45 -07:00
Andrew Kelley
7d22a89eec partial hello world codegen 2015-11-24 00:35:28 -07:00
Andrew Kelley
1b24f4c73c parsing hello.zig example with recursive descent
that was easy
2015-11-23 21:30:12 -07:00
Andrew Kelley
5b663ddbb2 grammar doesn't need the option() construct 2015-11-23 19:19:38 -07:00
Andrew Kelley
72be61fc0a generated parser understands tuples 2015-11-06 22:11:47 -07:00
Andrew Kelley
174baa49bd progress toward more complex parser gen 2015-11-04 17:15:46 -07:00
Andrew Kelley
7cfceeca2d parser generator beginnings 2015-11-03 22:39:35 -07:00
Andrew Kelley
303823b6b8 building part of the hello world AST 2015-11-02 03:39:36 -07:00
Andrew Kelley
34f8d80eac tokenizing hello.zig 2015-11-01 22:21:33 -07:00
Andrew Kelley
e09932928a tokenize 2015-08-05 17:44:05 -07:00
Andrew Kelley
50f0ed918c link against LLVM 2015-08-05 15:23:15 -07:00
Andrew Kelley
8e08cf4bec init 2015-08-05 14:46:04 -07:00