Andrew Kelley
918dbd4551
std.zig: this is no longer a keyword
2019-03-10 15:55:54 -04:00
Andrew Kelley
e402455704
rename std lib files to new convention
2019-03-02 16:46:04 -05:00
Andrew Kelley
4a1b910e03
zig fmt: support C pointers
...
See #1059
2019-02-11 14:07:19 -05:00
Andrew Kelley
052800e952
zig fmt: support threadlocal
2019-02-09 00:19:24 -05:00
Andrew Kelley
dfbc063f79
std.mem.Allocator.create replaced with better API
...
`std.mem.Allocator.createOne` is renamed to `std.mem.Allocator.create`.
The problem with the previous API is that even after copy elision,
the initalization value passed as a parameter would always be a copy.
With the new API, once copy elision is done, initialization
functions can directly initialize allocated memory in place.
Related:
* #1872
* #1873
2019-02-03 16:13:28 -05:00
Andrew Kelley
704374e512
rename section keyword to linksection
...
add zig fmt support for this syntax
closes #1152
2018-11-17 01:38:35 -05:00
Jimmi Holst Christensen
8139c5a516
New Zig formal grammar ( #1685 )
...
Reverted #1628 and changed the grammar+parser of the language to not allow certain expr where types are expected
2018-11-13 05:08:37 -08:00
Andrew Kelley
d5648d2640
remove implicit cast from T to *const T
...
closes #1465
2018-10-15 18:23:47 -04:00
Jimmi Holst Christensen
378d3e4403
Solve the return type ambiguity ( #1628 )
...
Changed container and initializer syntax
* <container> { ... } -> <container> . { ... }
* <exrp> { ... } -> <expr> . { ...}
2018-10-15 09:51:15 -04:00
Wink Saville
0e6c18c820
Remove StrLitKind enum
...
I was looking at the tokenizer specifically fn testTokenize and the
this statement looked odd:
if (@TagType(Token.Id)(token.id) != @TagType(Token.Id)(expected_token_id)) {
I then saw the TODO and thought I'd remove StrLitKind figuring that
would make testTokenize simpler. It did so I thought I'd prepare this PR.
The tests are still working and stage2 zig seems to work, it compiles and
I was able to use the fmt command.
2018-09-24 19:28:46 -04:00
Andrew Kelley
21328e0036
zig fmt: handle shebang lines
...
closes #1546
2018-09-18 18:36:39 -04:00
Andrew Kelley
4f2d49fd13
std.zig.parse: fix parsing of doc comments after fields
...
closes #1404
2018-08-27 19:21:38 -04:00
Andrew Kelley
895f262a55
pull request fixups
...
* clean up parser code
* fix stage2 parse and render code
* remove redundant test
* make stage1 compile tests leaner
2018-08-02 14:15:31 -04:00
Andrew Kelley
7f1a550760
std.zig.parse: fix treating integer literals as string literals
2018-07-18 17:56:34 -04:00
Andrew Kelley
687bd92f9c
self-hosted: generate zig IR for simple function
...
no tests for this yet. I think the quickest path to testing will be
creating the .o files and linking with libc, executing, and then
comparing output.
2018-07-12 15:12:44 -04:00
Andrew Kelley
85f928f8bf
remove std.mem.Allocator.construct and other fixups
2018-06-20 17:33:29 -04:00
Andrew Kelley
0a95b0f1ff
std.zig: update syntax for orelse keyword
2018-06-10 01:18:31 -04:00
Andrew Kelley
77678b2cbc
breaking syntax change: orelse keyword instead of ?? ( #1096 )
...
use the `zig-fmt-optional-default` branch to have zig fmt
automatically do the changes.
closes #1023
2018-06-10 01:13:51 -04:00
Andrew Kelley
ec1b6f6673
breaking syntax change: ??x to x.? ( #1095 )
...
See #1023
This also renames Nullable/Maybe to Optional
2018-06-09 23:42:14 -04:00
Andrew Kelley
f06bce5dda
introduce [*] for unknown length pointers
...
See #770
Currently it does not have any different behavior than `*`
but it is now recommended to use `[*]` for unknown length
pointers to be future-proof.
Instead of [ * ] being separate tokens as the proposal
suggested, this commit implements `[*]` as a single token.
2018-06-02 04:04:23 -04:00
Andrew Kelley
4d13ab07de
std.zig: update to new pointer syntax
2018-06-01 01:19:26 -04:00
Andrew Kelley
fcbb7426fa
use * for pointer type instead of &
...
See #770
To help automatically translate code, see the
zig-fmt-pointer-reform-2 branch.
This will convert all & into *. Due to the syntax
ambiguity (which is why we are making this change),
even address-of & will turn into *, so you'll have
to manually fix thes instances. You will be guaranteed
to get compile errors for them - expected 'type', found 'foo'
2018-05-31 17:28:07 -04:00
Andrew Kelley
0c16cd2d0e
run zig fmt on the codebase
...
See #1003
2018-05-29 04:23:38 -04:00
Andrew Kelley
0ab888c639
zig fmt: parse extra comma in asm expressions
2018-05-26 16:37:55 -04:00
Andrew Kelley
4405897cbd
zig fmt: support trailing comma on switch case items
2018-05-25 20:34:53 -04:00
Andrew Kelley
dfc3e11748
zig fmt: fix handling of comments at top of file
2018-05-25 01:03:15 -04:00
Andrew Kelley
e6afea99a9
zig fmt: support aligned ptr with bit fields
2018-05-25 00:38:07 -04:00
Andrew Kelley
b132a17a74
std.zig.parse ignores comments
...
std.zig.render handles comments by looking at nearby tokens
2018-05-24 00:35:53 -04:00
Andrew Kelley
bfbe26734d
zig fmt: add pointer deref syntax
2018-05-20 14:50:27 -04:00
Andrew Kelley
c38b165db4
all tests passing with postfix deref syntax
2018-05-17 23:21:44 -04:00
Andrew Kelley
99fc2bd4dd
Merge remote-tracking branch 'origin/master' into pointer-reform
2018-05-17 00:56:35 -04:00
Andrew Kelley
b48d354600
zig fmt: fix comment after if before another if
2018-05-17 00:44:55 -04:00
Andrew Kelley
37c6afa5b4
zig fmt: line comment between if block and else keyword
2018-05-17 00:31:47 -04:00
Andrew Kelley
288fc3a8d3
convert more std lib files to postfix pointer deref
2018-05-16 00:43:28 -04:00
Andrew Kelley
ee5f9ffad0
zig fmt: add comma on last switch prong
2018-05-16 00:27:18 -04:00
Andrew Kelley
04bca58a3a
zig fmt: preserve same line doc comments on var decls
2018-05-15 00:33:34 -04:00
Andrew Kelley
abcd418451
std.zig.parse cleanup
2018-05-13 14:20:01 -04:00
Andrew Kelley
548ddd1f0c
fix AST dumping code in self hosted compiler
2018-05-12 23:57:15 -04:00
Andrew Kelley
774b6ffe1e
fix parser performance regression
2018-05-09 21:17:05 -04:00
Andrew Kelley
ca27ce3bee
std.zig.parser supports same-line comments on any token
2018-05-07 23:54:35 -04:00
Andrew Kelley
0cb65b266a
separate std.zig.parse and std.zig.render
2018-05-07 22:07:50 -04:00