Andrew Kelley
|
a292eb8d64
|
support inline assembly expressions with return type
|
2015-12-15 00:46:56 -07:00 |
|
Andrew Kelley
|
52e19b4a9b
|
analyze: BlockContext has concept of module scope
|
2015-12-14 22:06:25 -07:00 |
|
Andrew Kelley
|
3049410260
|
const and var instead of let and let mut
closes #34
|
2015-12-14 18:51:07 -07:00 |
|
Andrew Kelley
|
f17e20d5fe
|
instead of *mut and *const, & and &const
closes #33
|
2015-12-14 18:10:25 -07:00 |
|
Josh Wolfe
|
7dd2929185
|
prefer int *token_index over new_token_index
|
2015-12-14 12:58:06 -07:00 |
|
Josh Wolfe
|
9dbedb02cc
|
fix compile -Werrors
|
2015-12-14 10:31:32 -07:00 |
|
Andrew Kelley
|
e411467e1d
|
add number literal type
it gets implicitly casted to whatever is needed.
closes #24
|
2015-12-14 02:46:37 -07:00 |
|
Josh Wolfe
|
5cb5f5dbf6
|
parsing assignment operators
|
2015-12-12 19:07:29 -07:00 |
|
Josh Wolfe
|
2082588201
|
fix short circuit expressions
|
2015-12-12 17:33:45 -07:00 |
|
Josh Wolfe
|
64dd0b8d95
|
fix a + b + c and similar
fix || and &&
closes #17
|
2015-12-12 17:07:43 -07:00 |
|
Andrew Kelley
|
a10277bd94
|
prepare codebase for struct and string support
parsing code for structs, strings, and c string literals
partial semantic analyzing code for structs, strings, and c string literals
|
2015-12-12 00:10:37 -07:00 |
|
Andrew Kelley
|
d697404f64
|
hello world working without libc
|
2015-12-11 03:55:26 -07:00 |
|
Andrew Kelley
|
0dbee2300e
|
add inline assembly support
|
2015-12-10 15:34:38 -07:00 |
|
Josh Wolfe
|
6a48c007a6
|
fix typo
|
2015-12-09 01:08:18 -07:00 |
|
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 |
|
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
|
3c3be10a60
|
add mutable local variables
|
2015-12-06 23:09:46 -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 |
|
Josh Wolfe
|
ab327344b6
|
merge conflicts
|
2015-12-01 10:44:30 -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 |
|
Josh Wolfe
|
18cfcfe44f
|
fix ast printer names
|
2015-11-30 22:40:52 -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
|
014711c57e
|
rename variable
|
2015-11-30 09:38:31 -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 |
|
Josh Wolfe
|
f4721857ed
|
inline PrimaryExpr ast node
|
2015-11-29 17:16:32 -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
|
e5d1f0eea5
|
parse and codegen for math expressions
|
2015-11-29 02:43:05 -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
|
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
|
6f460de02d
|
parser: force ast printer to be correct
|
2015-11-25 16:57:34 -07:00 |
|
Josh Wolfe
|
311fd67083
|
inline AstNodeStatementExpression
|
2015-11-25 16:43:16 -07:00 |
|
Josh Wolfe
|
e48717e091
|
clean up noreturn stuff
|
2015-11-25 15:58:32 -07:00 |
|
Josh Wolfe
|
e579011a6e
|
inline AstNodeStatement
|
2015-11-25 15:45:10 -07:00 |
|
Andrew Kelley
|
079ed9e356
|
parser: more AST printing code for debug purposes
|
2015-11-25 15:40:05 -07:00 |
|
Andrew Kelley
|
a600df073a
|
fix invalid memory write
|
2015-11-25 15:17:19 -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
|
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
|
c2e5d50027
|
write object file and fix void return type
|
2015-11-24 13:00:38 -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
|
3b4a2afb65
|
semantic analysis checks for multiple definitions of functions
|
2015-11-23 22:47:25 -07:00 |
|
Andrew Kelley
|
a22bc8d20a
|
more detailed AST inspection
|
2015-11-23 21:45:10 -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
|
6b911f1e94
|
delete parser generator. let's try recursive descent
|
2015-11-23 19:21:52 -07:00 |
|
Andrew Kelley
|
4236b85c72
|
parser generator supports a simple OR
|
2015-11-07 04:50:48 -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 |
|