0.4.0-alpha
Pre-releaseHarbour Rust 0.4.0-alpha
English
Harbour Rust is an independent, community-led, open source compiler project written in Rust and designed for compatibility with CA-Clipper and Harbour.
This repository is maintained as a public, non-commercial contribution to the software community. It is not affiliated with, endorsed by, or sponsored by the Harbour Project, xHarbour, CA-Clipper, or any related trademark owner. Those names are used only to describe compatibility goals and historical context.
This release marks the first public 0.4.0-alpha line after the completion of phases 0 through 12 of the initial roadmap.
Highlights
- End-to-end compiler pipeline implemented:
- lexer
- preprocessor
- parser / AST
- HIR / semantic analysis
- runtime
- IR
- C code generation backend
- Practical procedural alpha baseline available
- Support for arrays,
STATIC, memvars, codeblocks, and selected macro/preprocessor features - Initial DBF/RDD support:
- schema parsing
- record navigation
- field reads
- append / update / delete / recall in the supported subset
- CLI includes:
helpcheckbuildruntranspile --to c
- Quality tooling in place:
- golden tests
- compatibility harnesses
- benchmark smoke runner
- fuzzing scaffold
- CI and release workflows
Release assets
This release publishes:
harbour-rust-cli-0.4.0-alpha-linux-x86_64.zipharbour-rust-cli-0.4.0-alpha-macos-aarch64.zipharbour-rust-cli-0.4.0-alpha-windows-x86_64.zipbenchmark-report.mdSHA256SUMS.txt
Scope
This alpha consolidates the work delivered up to phases 10, 11, and 12, on top of the compiler and runtime foundation built in earlier phases.
Current baseline areas:
- parser and runtime are usable for the currently implemented subset
- C is the primary executable backend
- DBF/RDD support is present as an initial foundation
- public repository governance, bilingual documentation, issue templates, and release workflows are in place
Known limitations
This is still alpha software.
Known limitations include:
- partial rather than complete xBase dialect coverage
- selected builtins implemented only for the currently tested subset of value kinds
- no native backend yet;
codegen-cis the primary executable backend - compatibility gaps remain in advanced macro behavior, broader runtime fidelity, and extended RDD coverage
- automatic comparison against Harbour may still depend on an external local runner in some workflows
Validation used for this release
cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace
cargo check --manifest-path fuzz/Cargo.toml
cargo run -p harbour-rust-tests --bin benchmark-suite -- --fixture examples/hello.prg --iterations 1
cargo build --release -p harbour-rust-cli
Project position
Harbour Rust is:
- open source
- community-oriented
- non-commercial as a project initiative
- independently maintained
- intended as a respectful technical contribution to a historically important ecosystem
The project also has a personal origin: xBase was the maintainer's first serious programming environment and played an important role in his path as a developer. That background motivates the work, but the project is intended to remain technically rigorous, community-oriented, and professionally documented.
Documentation
Portugues do Brasil
Harbour Rust e um projeto independente, open source e orientado pela comunidade, escrito em Rust e voltado a compatibilidade com CA-Clipper e Harbour.
Este repositorio e mantido como uma contribuicao publica e sem fins lucrativos para a comunidade de software. Ele nao e afiliado, endossado ou patrocinado pelo Harbour Project, xHarbour, CA-Clipper ou por qualquer titular de marca relacionado. Esses nomes sao usados apenas para descrever objetivos de compatibilidade e contexto historico.
Esta release marca a primeira linha publica 0.4.0-alpha apos a conclusao das fases 0 a 12 do roadmap inicial.
Destaques
- Pipeline fim a fim do compilador implementado:
- lexer
- pre-processador
- parser / AST
- HIR / analise semantica
- runtime
- IR
- backend C para geracao de codigo
- Baseline alpha procedural utilizavel
- Suporte a arrays,
STATIC, memvars, codeblocks e um subconjunto selecionado de macros/pre-processamento - Suporte inicial a DBF/RDD:
- parsing de schema
- navegacao de registros
- leitura de campos
- append / update / delete / recall no subconjunto suportado
- A CLI inclui:
helpcheckbuildruntranspile --to c
- Infraestrutura de qualidade presente:
- golden tests
- harnesses de compatibilidade
- benchmark smoke runner
- scaffold de fuzzing
- workflows de CI e release
Assets da release
Esta release publica:
harbour-rust-cli-0.4.0-alpha-linux-x86_64.zipharbour-rust-cli-0.4.0-alpha-macos-aarch64.zipharbour-rust-cli-0.4.0-alpha-windows-x86_64.zipbenchmark-report.mdSHA256SUMS.txt
Escopo
Este alpha consolida o trabalho entregue ate as fases 10, 11 e 12, sobre a fundacao do compilador e do runtime construida nas fases anteriores.
Areas do baseline atual:
- parser e runtime utilizaveis para o subconjunto ja implementado
- C como backend executavel principal
- suporte a DBF/RDD presente como fundacao inicial
- governanca publica do repositorio, documentacao bilingue, templates de issues e workflows de release ja disponiveis
Limitacoes conhecidas
Este ainda e um software em estagio alpha.
Limitacoes conhecidas incluem:
- cobertura parcial, e nao completa, dos dialetos xBase
- alguns builtins implementados apenas para o subconjunto de tipos atualmente coberto por testes
- ainda nao existe backend nativo;
codegen-ccontinua sendo o backend executavel principal - ainda existem lacunas de compatibilidade em comportamento macro avancado, maior fidelidade de runtime e cobertura mais ampla de RDD
- a comparacao automatica com Harbour ainda pode depender de runner externo/local em alguns fluxos
Validacao usada nesta release
cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace
cargo check --manifest-path fuzz/Cargo.toml
cargo run -p harbour-rust-tests --bin benchmark-suite -- --fixture examples/hello.prg --iterations 1
cargo build --release -p harbour-rust-cli
Posicionamento do projeto
Harbour Rust e:
- open source
- orientado pela comunidade
- sem fins lucrativos como iniciativa de projeto
- mantido de forma independente
- pensado como uma contribuicao tecnica respeitosa a um ecossistema historicamente importante
O projeto tambem tem uma origem pessoal: xBase foi o primeiro ambiente de programacao realmente importante na trajetoria do mantenedor. Esse contexto motiva o trabalho, mas o projeto busca permanecer tecnicamente rigoroso, orientado a comunidade e documentado de forma profissional.