v2.32.0: Full Stack ABAP
What's New in v2.32.0
Native ABAP Parser & Linter
- ABAP Lexer — mechanical port of abaplint to Go. 100% oracle match on 22,612 tokens across 29 files.
- Statement Parser — 91 statement types, 100% match on 3,254 statements. Colon chaining, NativeSQL, pragmas.
- ABAP Linter — 8 rules (line_length, empty_statement, obsolete_statement, etc.), 100% oracle match, 795μs/file. Works fully offline.
CLI Toolchain (28 commands)
| Command | What | SAP needed? |
|---|---|---|
| `vsp query T000 --top 5` | Query SAP tables | Yes |
| `vsp grep "pattern" --package PKG` | Search source code | Yes |
| `vsp graph CLAS ZCL_FOO --direction callers` | Call graph (WBCROSSGT fallback) | Yes |
| `vsp deps '$PKG' --format summary` | Transport readiness | Yes |
| `vsp lint --file src.abap` | ABAP linter | No |
| `vsp parse --stdin --format json` | ABAP parser | No |
| `vsp compile wasm prog.wasm` | WASM→ABAP compiler | No |
| `vsp context CLAS ZCL_FOO --depth 2` | Compressed deps (multi-level) | Yes |
| `vsp system info` | System version + ZADT_VSP check | Yes |
WASM Self-Host Compiler — 3-Way Verified
- 12 functions: add, factorial, fibonacci, gcd, is_prime, abs, max, min, pow, sum_to, collatz, select
- Native WASM (Node.js): 51/51 PASS
- Go WASM→ABAP compiler: compiles OK
- ABAP self-host on SAP A4H: 11/11 PASS
- 505 bytes WASM → base64 → parse → compile → GENERATE SUBROUTINE POOL → execute
Lua Scripting (50+ bindings)
New: `query()`, `lint()`, `parse()`, `context()`, `systemInfo()`
Example scripts: package-audit, table-explorer, dependency-check
TS→Go Transpiler
New `pkg/ts2go/` — produces valid Go from TypeScript. Tested on abaplint lexer (3 files compile with gofmt).
Documentation
- CLI Guide — 463 lines, complete reference with feature matrix
- Reviewer Guide — 11 hands-on tasks (6 offline)
Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x64 | vsp-linux-amd64 |
| Linux | ARM64 | vsp-linux-arm64 |
| Linux | x86 | vsp-linux-386 |
| Linux | ARM | vsp-linux-arm |
| macOS | x64 (Intel) | vsp-darwin-amd64 |
| macOS | ARM64 (Apple Silicon) | vsp-darwin-arm64 |
| Windows | x64 | vsp-windows-amd64.exe |
| Windows | ARM64 | vsp-windows-arm64.exe |
| Windows | x86 | vsp-windows-386.exe |
Installation
```bash
Linux/macOS
curl -LO https://github.com/oisee/vibing-steampunk/releases/download/v2.32.0/vsp-linux-amd64
chmod +x vsp-linux-amd64
sudo mv vsp-linux-amd64 /usr/local/bin/vsp
Or build from source
git clone https://github.com/oisee/vibing-steampunk.git
cd vibing-steampunk && go build -o vsp ./cmd/vsp
```