Andrew Kelley
|
dfda85e870
|
ability to call external variadic functions
|
2015-12-09 01:03:04 -07:00 |
|
Andrew Kelley
|
75efc31329
|
add array access syntax
|
2015-12-08 14:15:34 -07:00 |
|
Andrew Kelley
|
5dfe4d6387
|
codegen: do all the allocas at beginning of function
fixes debugging
|
2015-12-07 23:40:58 -07:00 |
|
Andrew Kelley
|
b66fb607bf
|
add debugging info for array type
|
2015-12-07 20:07:46 -07:00 |
|
Josh Wolfe
|
f6eecfe5f4
|
getting started on array types
|
2015-12-07 08:29:19 -07:00 |
|
Josh Wolfe
|
94e61287e7
|
let is now a statement, not an expression
|
2015-12-06 23:49:20 -07:00 |
|
Andrew Kelley
|
dfb48a2c6b
|
update README
|
2015-12-06 22:12:49 -07:00 |
|
Andrew Kelley
|
c6fff3b2c0
|
update README
|
2015-12-06 21:55:28 -07:00 |
|
Andrew Kelley
|
daa3b6bfa3
|
add unused label error
|
2015-12-05 21:08:20 -07:00 |
|
Andrew Kelley
|
c7615c1a80
|
error for extern function with void parameter
|
2015-12-04 14:33:57 -07:00 |
|
Andrew Kelley
|
cd6283e8c4
|
parseh: fix wrong fn parameters in some cases
|
2015-12-04 11:45:11 -07:00 |
|
Andrew Kelley
|
5144c4fa37
|
exporting .h file supports void
|
2015-12-03 17:30:44 -07:00 |
|
Andrew Kelley
|
a398afa7cc
|
more C header interoperability
|
2015-12-03 17:06:33 -07:00 |
|
Josh Wolfe
|
f1aaf1353e
|
add bool literals
|
2015-12-03 12:15:07 -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
|
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 |
|
Andrew Kelley
|
58e375d0a1
|
support multiple files
|
2015-12-01 02:08:58 -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 |
|
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 |
|