Skip to content

Latest commit

 

History

History
109 lines (75 loc) · 6.48 KB

File metadata and controls

109 lines (75 loc) · 6.48 KB

Harbour Rust

CI Release Latest Pre-release License: Apache-2.0

Harbour Rust social preview

Projeto de compilador em Rust para compatibilidade com CA-Clipper/Harbour, com backend C executável e pragmático, CLI moderna e foco em modernização de sistemas xBase.

English | Português do Brasil

Release atual | Todas as releases | Documentação | Contribuição

Harbour Rust é um projeto de compilador open source, independente e orientado pela comunidade, escrito em Rust e voltado à compatibilidade com CA-Clipper e Harbour.

Este repositório é mantido como uma contribuição pública e sem fins lucrativos para a comunidade de software. Ele não é afiliado, endossado nem patrocinado pelo Harbour Project, xHarbour, CA-Clipper ou por titulares de marcas relacionadas a esses nomes. Esses nomes são usados apenas para descrever metas de compatibilidade e contexto histórico.

O projeto também tem uma origem pessoal: xBase foi o primeiro ambiente de programação estudado de forma mais séria pelo mantenedor e teve papel importante na sua trajetória como desenvolvedor. Esse contexto inspira o trabalho, mas o repositório foi pensado para permanecer tecnicamente rigoroso, orientado à comunidade e documentado de forma profissional.

Objetivos

  • oferecer uma implementação moderna em Rust para uma família de linguagens xBase historicamente importante;
  • priorizar compatibilidade observável antes de elegância interna nas fases iniciais;
  • manter a arquitetura do compilador compreensível, testável e evolutiva;
  • desenvolver o projeto em público com documentação, testes e governança adequados para colaboração de longo prazo.

Estado Atual

O repositório concluiu as fases 0 a 16 do roadmap atual com a linha de release 0.7.0-alpha. O baseline atual de fidelidade de runtime adiciona slices pequenos de runtime/biblioteca Harbour ancorados em oráculo, sem alegar cobertura ampla e não medida de APIs.

Destaques atuais:

  • pipelines de parser, HIR, sema, runtime, IR e backend C executável atual implementados;
  • compatibilidade procedural, arrays, STATIC, memvars, codeblocks e marcadores avançados selecionados do pré-processador disponíveis;
  • base inicial de DBF/RDD presente;
  • slices focados de runtime para hb_JsonDecode(), família zlib e hb_processRun(), incluindo hb_ZCompressBound(), hb_ZError() e captura de stdout, cobertos por testes e limites documentados;
  • CLI, harnesses de regressão, benchmarks, scaffold de fuzzing, workflows de release e validação de CI multiplataforma configurados.

Direção de curto prazo:

  • continuar fidelidade de runtime nas superfícies restantes de hb_gzCompress() e hb_processRun() apenas com novos oráculos focados;
  • corredores adiados: sockets e threading, porque exigem design multiplataforma de IO e concorrência antes que qualquer alegação de compatibilidade seja útil.

Releases

Documentação

Comece por aqui:

Guias técnicos:

Início Rápido

cargo fmt --all
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace
cargo run -p harbour-rust-cli -- help

Posicionamento Open Source

Harbour Rust é:

  • open source;
  • orientado à comunidade;
  • sem fins lucrativos como iniciativa de projeto;
  • mantido de forma independente;
  • pensado como uma contribuição técnica respeitosa para um ecossistema clássico.

Contribuições são bem-vindas, mas todo material enviado precisa ser original ou legalmente reutilizável. Consulte PROVENANCE.pt-BR.md para ver a política do repositório sobre originalidade, referências ao upstream, tradução e uso de material de terceiros.

Comunidade

  • Use GitHub Issues para bugs focados, problemas de compatibilidade e itens de trabalho com escopo claro.
  • Use GitHub Discussions para dúvidas, ideias e conversas de design mais amplas quando Discussions estiver habilitado no repositório.
  • Use pull requests para mudanças concretas e revisáveis, com testes e documentação sincronizada.

Os templates em .github/ foram pensados para atender contribuidores em Inglês e Português sem alterar a política canônica do projeto.

Licença

Este repositório é distribuído sob a Apache License 2.0.