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

Uploaded Python 3

File details

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

File metadata

  • Download URL: bxengine-1.0.0.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.tar.gz
Algorithm Hash digest
SHA256 532cb6048db5968d09eb75a243bec070b4cacd6b709f5559edc2ce38f0eb161c
MD5 00f2f07b90803dbd082071c2c2a1dae7
BLAKE2b-256 2057952368ac542fa35f5306320790471d3b8608f54d07de8311292d95bb88ff

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: bxengine-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 38.7 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-py3-none-any.whl
Algorithm Hash digest
SHA256 7b7f79216568cca9e956b55aaddffce783c3ea3fe1892ab404ec99c4270edbc1
MD5 24ae77f5d8be3802e88c16e2c7e7ee96
BLAKE2b-256 3e67510f03597606f3bdaa9854c327a52d0e678a2cf0066e6f695904a1dc0ef1

See more details on using hashes here.

Provenance

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