sokoban-elements 0.2.1

Parsing and writing Sokoban, Hexoban, Trioban and Octoban file formats.
Documentation
@export
SavedGame = { sections:Section }+$;

Section  = @:Jump | @:PusherSelection | @:Steps;

Steps = @:StepsContents;

@string
StepsContents = { Move | Push | CurrentPos }+;

PusherSelection = '{' @:PusherSelectionContents '}';

@string
PusherSelectionContents = { Move | CurrentPos };

Jump = '[' @:JumpContents ']';

@string
JumpContents = { Move | CurrentPos };

@char
Move = 'l' | 'u' | 'r' | 'd' | 'n' | 'e' | 's' | 'w';

@char
Push = 'L' | 'U' | 'R' | 'D' | 'N' | 'E' | 'S' | 'W';

@char
CurrentPos = '*';