Skip to content

v2.32.0: Full Stack ABAP

Choose a tag to compare

@oisee oisee released this 22 Mar 15:21

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

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
```

Full Changelog

v2.30.0...v2.32.0