| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| | |
64-word scan; regression program
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| | |
test.sh -q; todo notes for the seven fixes
|
| | |
| |
| |
| | |
when it has fields (spec 4.7.3)
|
| | |
| |
| |
| | |
the scrub program reads the freed word through asm
|
| | |
| |
| |
| | |
yields 0 (typecheck off, spec 4.8.3)
|
| | | |
|
| | |
| |
| |
| | |
(int*)s indexes words
|
| | |
| |
| |
| | |
(spec 1.6.3)
|
| | |
| |
| |
| | |
function's first statement is reported
|
| |\ \ |
|
| | | |
| | |
| | |
| | | |
so switching rebuilds zy, check llvm with a test link
|
| | | |
| | |
| | |
| | | |
NOLLVM=1 turns it off
|
| |\ \ \
| |_|/
|/| | |
|
| | |\ \
| |/ /
|/| | |
|
| |\ \ \
| |_|/
|/| | |
|
| | | |
| | |
| | |
| | | |
sections 5 to 8 and appendix b, known.txt, zc0 skips, wire into test.sh
|
| | | | |
|
| | | |
| | |
| | |
| | | |
runerr.sh runs every folder it is given
|
| |\ \ \
| |/ /
|/| | |
|
| | | | |
|
| |/ / |
|
| |/
|
|
| |
x86-64 jit, docs, measurements, tests; default genome reservation 0x68000
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
defer expr; and defer { ... } register code that runs when the enclosing
block ends: at the end of the block, and at return, break and continue
that leave it. the tokens are kept at the defer and compiled again at each
exit (block_close, body, kw_return, kw_break, kw_continue), newest first,
before the block's variables are released, so the analyzer sees a deferred
rt.free(p) as the transfer of p where it runs. names mean what they meant
at the defer; values are read when it runs. return, break and continue
inside a deferred statement are errors, reported once. works in unchecked
code and closures (own base per function context).
|
| |\ \
| | |
| | |
| | | |
void main; todo updated
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
run-only images
- hover: a symbol from an embedded library source (tinyvm:std.zc, tinyvm:icon.zc) was
looked up only in the document; look it up by its qualified name in the library source
(hover_embedded_sym), and render a method found that way by its line (bs_hover).
- std.capture: allocate one word more than the 256 it holds, so end() terminates inside the buffer.
- a bare call to a static function of the enclosing struct resolves like a bare struct constant
(mstruct is set for every non-generic struct's methods); the struct's own wins over a global.
- run.zc declares main untyped (fn main();), so a run-only image accepts int, void or untyped main
with both compilers.
|
| | | |
|
| | |
| |
| |
| | |
of the tree
|
| |\ \ |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
the region interpreter
|
| | | |
| | |
| | |
| | | |
items they imply
|
| | |/
|/|
| |
| | |
list updated
|
| | |
| |
| |
| | |
architecture notes
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
also: ca_owners in the language server keeps the owner order in a fixed
array instead of a heap list the analyzer rejected.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
src/compiler/compiler.zc is now twelve files under src/compiler/, listed in
order in src/compiler/parts. cat of the parts in order is byte-identical to
the old file, so every compiler and image except the language server's is
unchanged. no function was edited.
consumers read the list: the makefile, bootstrap-check, genmap (which still
writes one compiler.zc into a generated map directory), tinyvm.bat,
test.sh, test_win.ps1 and the lsp drivers. the language server embeds each
part and serves them joined as the one document tinyvm:/compiler.zc.
|
| | | | |
|
| |\ \ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Reference for lexing, types, expressions (full precedence table),
statements, declarations, the ownership analyzer and its messages,
compile-time execution and the runtime contract, with appendices for
the zc0 subset and for doc/implementation disagreements and bugs found
while checking the rules against build/bin/zy. Pointers added to
README.md and ONBOARD.md.
|
| | | | |
| | | |
| | | |
| | | | |
parity now compares 60 programs with no unexpected difference.
|
| |\ \ \ \
| |_|/ /
|/| | | |
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bstr locals, globals, parameters and returns are byte strings for + , the
comparisons, indexing, slicing, len and put_s; b"..." globals; embed inside
a function. u, m and d are ordinary names: a recast is the letter with the
star touching it (u*x), tags .u .m .d are accepted on types and bare. an
enhancement named inside asm { } emits its opcode. zc0's image of the
genome and language server sources is unchanged.
|