dimgigov
|
ac969b37c1
|
v0.3.0: restructure directories
- src/ ← compiler/selfhost/ (canonical Bux compiler)
- bootstrap/ ← compiler/bootstrap/ (Nim bootstrap)
- lib/ ← library/std/ (standard library)
- rt/ ← library/runtime/ (C runtime)
- tests/ ← compiler/tests/ (unit tests)
- Remove _selfhost/ (built into build/selfhost/ now)
- Update all path references (Makefile, cli.nim, cli.bux, docs)
- Bump version to 0.3.0
|
2026-06-06 04:53:39 +03:00 |
|
dimgigov
|
9c6b516453
|
feat: restructure repo, borrow checker, expanded stdlib
- Reorganize repository to Rust-style layout:
compiler/bootstrap/ compiler/selfhost/ compiler/tests/
library/std/ library/runtime/ tests/ tools/
- Add buxs/ Windows-compatible project root
- Add borrow checker tests and implement:
- Alias analysis (double mutable borrow detection)
- Use-after-move detection for own T
- Expand standard library:
- Std::Os: Args, Env, Cwd, Chdir
- Std::Time: NowMs, NowUs, SleepMs
- Std::Process: Run, Output
- Std::Io: PrintInt64 (fixes 32-bit truncation bug)
- Add examples: os_time.bux, process.bux
- Fix PrintInt to use int64_t in C runtime
|
2026-06-05 20:08:17 +03:00 |
|
dimgigov
|
8e74215378
|
feat: add HIR, C backend, and end-to-end compilation
- Phase 3: High-Level IR (HIR) with lowering from AST
- Method call desugaring (obj.method() → Type_method(obj))
- if/else, while, loop, break, continue lowering
- struct, enum, function lowering
- 8 HIR tests passing
- Phase 5A: C backend code generation
- Type mapping (Bux types → C11 types)
- Expression and statement emission
- Struct, enum, function generation
- C main() wrapper for Bux Main()
- Runtime shim (stdlib/runtime.c)
- bux_alloc, bux_free, bux_print, bux_panic
- BuxString, BuxSlice types
- Bounds checking, division by zero
- Build integration
- bux build: lex → parse → sema → HIR → C → cc
- bux run: build + execute
- bux clean: remove build directory
- Parser fixes
- Newline handling in struct, enum, extend, interface blocks
- self keyword as expression and parameter name
- Sema improvements
- Method resolution (extend blocks)
- Interface conformance checking
- collectGlobals made public
- All 70 tests passing (25 lexer + 16 parser + 21 sema + 8 HIR)
- End-to-end: Bux programs compile to native ELF64 binaries
|
2026-05-30 22:40:34 +03:00 |
|