Support for the Pyro target language (.pyro) of the Cryo system.
📚 Official Documentation & Examples
Visit the complete interactive documentation, language specification, and code examples at:
👉 https://victor-477.github.io/Cryo-Pyro-Documentation
The .pyro file is a binary bytecode (with its own ISA), so there is no text syntax highlighting for the binary file itself — the value is in the disassembly. This extension provides:
- Syntax Highlighting for Pyro disassembly (files with
.pyasmextension): opcodes (CONST,LOAD,STORE,JMP,CALL,RET,PRINT,PUSHFN,CALL_VALUE,CLOSURE,NATIVE,GETGLOBAL,SETGLOBAL,COALESCE,UNWRAP,TRYPUSH,TRYPOP,THROW…), function labels, addresses, jump targets (-> 42), constants, and comments (;). Pyro: Disassemble .pyrocommand — runs the Burnout disassembler on a.pyrofile and opens the readable listing in a newpyro-disasmtab.
How to Use
- Right-click a
.pyrofile in the Explorer → Pyro: Disassemble .pyro (or run the command from the Command Palette,Ctrl+Shift+P). - The disassembly opens in a new tab with syntax highlighting.
Settings
| Setting | Default | Description |
|---|---|---|
pyro.pythonPath |
python |
Python executable used to run the disassembler. |
pyro.burnoutPath |
(empty) | Path to the burnout/ folder (containing disasm_pyro.py). Empty = searches for burnout/ in the workspace; otherwise uses the installed burnout package. |
Requires the Burnout compiler to be available — either as a folder in the workspace or installed (
pip install -e .in theburnoutfolder). See the Burnout Compiler extension to compile.cryo→.pyro.
Disassembly format example
; Pyro bytecode (version 1, encoded)
; entry = main | 3 consts, 1 funcs, 62 bytes of code
; ── constants ──
; [0] str "hello"
main:
0: CONST 0 ; "hello"
3: PRINT
4: HALT