A language-neutral grammar for expressing batched code operations with content.
A plan is a sequence of operations, comments, declarations, and sections:
# Update call sites
---
replace service.HandlerA :old :new
replace service.HandlerB :old :new
:old::: process(ctx) :::
:new::: process(ctx, opts) :::
---
remove service.DeprecatedFunc
| Component | Role |
|---|---|
| Operation | Command + arguments (tokens, content blocks, declaration refs) |
| Content block | Delimited content: ::: content ::: |
| Declaration | Named content block: :name::: content ::: |
| Section | --- separator — scopes declaration names |
| Comment | # text — preserved, no effect on execution |
This is the base grammar. Language-specific bindings define command vocabulary, token resolution, and content interpretation.
splan.ebnf— grammar specificationCHANGELOG.md— version history
0.1.0 (draft)
- spath-spec — Semantic path grammar (language-neutral)
- spath-spec-go — Go dialect of spath
CC BY 4.0 — Sumato AI