Pyro Bytecode — VS Code Extension
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
.pyasm extension): 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 .pyro command — runs the Burnout disassembler on a .pyro file and opens the readable listing in a new pyro-disasm tab.
How to Use
- Right-click a
.pyro file 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 the burnout folder). See the Burnout Compiler extension to compile .cryo → .pyro.
; 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
| |