Skip to main content

B++ runtime engine

Project description

bxengine

bxengine is a Python implementation of the B++ runtime engine.

Install

pip install bxengine

CLI

Run a file:

bxengine path/to/program.bx

Run inline code:

bxengine -e "[CONCAT \"hello\" \" world\"]"

Development

uv sync --dev
pytest

Language Server

Start the LSP server over stdio:

uv run bxengine-lsp

The server publishes syntax diagnostics from the existing tokenizer/parser pipeline.

Compatibility warnings are also reported for accepted-but-suspicious syntax:

  • extra ] at top-level (ignored by compat behavior)
  • unclosed [ (auto-closed at EOF)
  • unterminated quoted strings (accepted as-is)

Included language features:

  • completion of built-in B++ functions
  • macro-aware completion (@...) with current-document macro names prioritized
  • hover for built-in function signatures/details and macro-call symbol hints

Neovim (lspconfig) example:

require("lspconfig").bxengine = {
  default_config = {
    cmd = { "uv", "run", "bxengine-lsp" },
    filetypes = { "bpp", "bx" },
    root_dir = require("lspconfig.util").root_pattern("pyproject.toml", ".git"),
  },
}
require("lspconfig").bxengine.setup({})

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bxengine-1.0.0.1.tar.gz (33.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bxengine-1.0.0.1-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

Details for the file bxengine-1.0.0.1.tar.gz.

File metadata

  • Download URL: bxengine-1.0.0.1.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bxengine-1.0.0.1.tar.gz
Algorithm Hash digest
SHA256 8adef87fa805330abe56feb86f1740cd43064672b2f86e55427ee6d20c2faa31
MD5 cbfb1df78b819e688ed7b6535cc1d025
BLAKE2b-256 e12e20e5164f45c41945b92b19096d36f7199a36ed0ee7cffd7b617cca5e3add

See more details on using hashes here.

Provenance

The following attestation bundles were made for bxengine-1.0.0.1.tar.gz:

Publisher: publish.yml on infernostars/bxengine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bxengine-1.0.0.1-py3-none-any.whl.

File metadata

  • Download URL: bxengine-1.0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 38.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bxengine-1.0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 26c8d4fd112f168590e6bea828029fe78063d2b546023df23be4f237d2f5b25a
MD5 648a45e9825462d196e9d186e0054fc2
BLAKE2b-256 6b5da4b1b79ae3a6b88824e18a22300ba8b23b04020eac0584081094053b91b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for bxengine-1.0.0.1-py3-none-any.whl:

Publisher: publish.yml on infernostars/bxengine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page