Vexu
c6076a1360
self hosted compiler: use enum literals
2019-11-07 10:30:56 +02:00
Vexu
6dd4a276de
self hosted compiler: update to new std.event
2019-11-07 10:30:37 +02:00
Andrew Kelley
28071ac637
self-hosted translate-c emits a hello world AST
...
Also breaking std lib API change: the return value of
std.zig.parse returns `*ast.Tree` rather than `ast.Tree`.
See #1964
2019-04-26 15:43:36 -04:00
Andrew Kelley
6769183a9d
fix implicit cast error unions with non-optional to optional pointer
...
and update self hosted compiler for C pointers
See #1059
2019-02-14 15:48:28 -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
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
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
Andrew Kelley
5dfcd09e49
self-hosted: watch files and trigger a rebuild
2018-08-03 17:22:17 -04:00
Andrew Kelley
821805aa92
WIP: Channel.getOrNull
2018-08-02 17:04:17 -04:00
Andrew Kelley
adefd1a52b
self-hosted: function calling another function
2018-07-24 20:24:05 -04:00
Andrew Kelley
10d2f08d37
self-hosted: fix error messages not cleaning up correctly
2018-07-23 14:28:14 -04:00
Andrew Kelley
93e78ee722
self-hosted can compile libc hello world
2018-07-22 23:28:53 -04:00
Andrew Kelley
3908b4fdee
self-hosted: refactor ParsedFile out of existence
...
also we are successfully analyzing the return type of main
2018-07-19 15:11:39 -04:00
Andrew Kelley
bd1c55d2c2
self-hosted: compile errors for return in wrong place
...
* outside fn definition
* inside defer expression
2018-07-18 17:43:36 -04:00
Andrew Kelley
97bfeac13f
self-hosted: create tmp dir for .o files and emit .o file for fn
2018-07-16 20:52:50 -04:00
Andrew Kelley
363f4facea
self-hosted: generate LLVM IR for simple function
2018-07-15 00:07:33 -04:00
Andrew Kelley
28c3d4809b
rename Module to Compilation
...
and CompilationUnit to ObjectFile
2018-07-14 16:31:17 -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
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
6fece14cfb
self-hosted: build against zig_llvm and embedded LLD
...
Now the self-hosted compiler re-uses the same C++ code for interfacing
with LLVM as the C++ code.
It also links against the same LLD library files.
2017-12-26 19:44:08 -05:00