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.post1.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.post1-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

Details for the file bxengine-1.0.0.post1.tar.gz.

File metadata

  • Download URL: bxengine-1.0.0.post1.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.post1.tar.gz
Algorithm Hash digest
SHA256 9d5894f033688a0702a76957abc812cfc484c44ed0f74f81e87fe07b8ac7c263
MD5 ffbcc78c2fa54d9a1b7dc0f215759f87
BLAKE2b-256 aba61a195fc109e118bca2d0ac633272a97895de0c2329a6995efced4b21c58b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bxengine-1.0.0.post1.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.post1-py3-none-any.whl.

File metadata

  • Download URL: bxengine-1.0.0.post1-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.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 eea74066f2f3606926cc3e2e3f2ec6c6ddb0556e0d9e3c28f3e2ca02e28b715a
MD5 4fc9dfc886d0791d5ed2eec7c9ad9ccd
BLAKE2b-256 bd479ac6fef0e4d968e0a5ed9c0f06ab623dca77b0334ad848e1f00835bf14b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for bxengine-1.0.0.post1-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