Skip to content

Latest commit

 

History

310 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Harbour Rust

CI Release Latest Pre-release License: Apache-2.0

Harbour Rust social preview

Rust compiler project for CA-Clipper/Harbour compatibility, with a practical executable C backend, modern CLI, and long-term xBase modernization focus.

English | Português do Brasil

Latest release | All releases | Documentation | Contributing

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 trademark owner related to those names. Those names are used only to describe compatibility goals and historical context.

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 repository is intended to remain technically rigorous, community-oriented, and professionally documented.

Goals

  • provide a modern Rust implementation for a historically important xBase language family;
  • prioritize observable compatibility before internal elegance in early phases;
  • keep the compiler architecture understandable, testable, and incrementally maintainable;
  • build the project in public with documentation, tests, and governance fit for long-term collaboration.

Current Status

The repository has completed phases 0 through 16 of its current roadmap through the 0.7.0-alpha release line. The current runtime-fidelity baseline adds small, oracle-backed Harbour runtime/library slices without claiming broad unmeasured API coverage.

Current highlights:

  • parser, HIR, sema, runtime, IR, and the current executable C backend are implemented;
  • procedural compatibility, arrays, STATIC, memvars, codeblocks, and selected advanced preprocessor markers are available;
  • DBF/RDD groundwork is present;
  • focused hb_JsonDecode(), zlib-family, and hb_processRun() runtime slices, including hb_ZCompressBound(), hb_gzCompress() destination-buffer writeback, hb_ZError() message mapping, and stdout capture for hb_processRun( cCommand, NIL, @cStdOut ), are covered by tests and documented limits;
  • CLI, regression harnesses, benchmarks, fuzz scaffolding, release workflows, and cross-platform CI validation are in place.

Near-term direction:

  • continue runtime fidelity through the remaining hb_gzCompress() and hb_processRun() surfaces only with new focused oracles;
  • deferred corridors: sockets and threading, because they require cross-platform IO and concurrency design before compatibility claims are useful.

Releases

Documentation

Start here:

Technical guides:

Quick Start

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

Open Source Positioning

Harbour Rust is:

  • open source;
  • community-oriented;
  • non-commercial as a project initiative;
  • independently maintained;
  • intended as a respectful technical contribution to a classic ecosystem.

Contributions are welcome, but all submitted material must be original or lawfully reusable. See PROVENANCE.md for the repository policy on originality, upstream references, translation, and third-party material.

Community

  • Use GitHub Issues for focused bugs, compatibility problems, and scoped work items.
  • Use GitHub Discussions for questions, ideas, and broader design conversations when Discussions are enabled for the repository.
  • Use pull requests for concrete, reviewable changes with tests and synchronized documentation updates.

The repository templates in .github/ are designed to support English and Portuguese contributors without changing the canonical policy language of the project.

License

This repository is distributed under the Apache License 2.0.

About

A modern Rust compiler project for CA-Clipper and Harbour compatibility.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages