XZACT Language — VS Code Extension
Full IDE support for XZACT, the formal English programming language that compiles to native code via LLVM/C and auto-generates traceability, coverage-obligation and coding-standard artifacts (JSON) for safety-critical work.
Features
Syntax Highlighting
- All 20 statement forms (display, set, let, if/otherwise, while, for each, return, etc.)
- 30+ expression types (arithmetic, comparisons, logical, string, map)
- Entity declarations, enums, maps, relationships
- FFI/foreign function imports and calls
- Requirement IDs (
[REQ-001], [SAF-002], etc.)
- MUST invariants (
must always, must never)
- Boolean constants (
true, false, null)
- Comment highlighting (
Note: / Notes:)
Code Snippets (40+)
Type a prefix and press Tab:
| Prefix |
Expands to |
let-int |
Let name be whole number, initially 0. |
let-text |
Let name be text, initially "". |
if-else |
Full if/otherwise block |
while |
While loop with increment |
foreach |
For each loop |
to-given |
Action definition with typed parameters |
to-return |
Action definition with return value |
entity |
Entity declaration with fields |
enum |
Enum declaration |
map |
Map declaration |
store |
Map store operation |
must-always |
Safety invariant (must always) |
must-never |
Safety invariant (must never) |
ffi-import |
Foreign function import |
ffi-call |
Foreign function call |
eq / gt / lt |
Comparison operators |
xzact-program |
Basic program template |
xzact-safety |
Safety-critical program template |
xzact-pid |
PID controller template |
Build, run, and see errors in the editor
| Action |
How |
| Build — native program + JSON artifacts |
Ctrl+Shift+B, the tools button in the editor title, or the status bar |
| Build and Run — runs the program in a terminal (keyboard input works) |
F5 or the play button in the editor title |
| Check — analysis only, no binary |
Command Palette → XZACT: Check Current File |
| MC/DC Coverage Analysis (lists the test vectors to write; does not measure coverage), Prove Invariants (z3) (whole-number and true/false invariants; needs z3, bundled with the Windows installer), Coding Standard Check (a subset of rules) |
Command Palette → XZACT: … |
Open Compliance Artifacts — opens rtm.json from <file>_artifacts/ |
Command Palette |
Check Installation — runs xzact doctor |
Command Palette |
Compiler errors and warnings appear as squiggles and in the Problems panel;
the full compiler output is in the XZACT output channel.
Installation
Windows: run XZACT-Setup-<version>.exe. It installs the compiler (with
its own C toolchain — no Python or GCC needed) and this extension into
VS Code. See docs/windows-tutorial.md.
From source (any OS): pip install -e . in the repository root, then
either npx @vscode/vsce package in this folder and
code --install-extension Xzact-Lang-1.1.0.vsix, or run install.sh /
install.bat.
The extension finds the compiler in this order: the xzact.compilerPath
setting, XZACT_HOME, the Windows installer's location, then PATH.
Requirements
- VS Code 1.75.0+
- The XZACT compiler (installed by the Windows installer, or
pip install -e . from the repository root)
Development
node --test test/xzact.test.js # unit tests for output parsing and compiler lookup
| |