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.5.tar.gz (34.8 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.5-py3-none-any.whl (40.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bxengine-1.0.0.5.tar.gz
  • Upload date:
  • Size: 34.8 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.5.tar.gz
Algorithm Hash digest
SHA256 f8d3d127a4fbbf36ad954c48ed782371330a0f4a3d7f3af3593ce4e8a64be021
MD5 95834b2bd496545a29f82ce561b56862
BLAKE2b-256 18127cc685da443ed9fe1f43b007c293d3d06f117fe22983ffabfda24bbe5e07

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: bxengine-1.0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 40.4 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 34aeb534c5c42e111da916ef5ec9c4d7c3416183d1d88ac54912ac935e8f69bb
MD5 f47f39a35c4a82ccd6b68400720a54c3
BLAKE2b-256 0ed5b88a238bc90fdd6244819313e87c8bb137ce8d149a2175bf89510e01245e

See more details on using hashes here.

Provenance

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