SSGI is a parser implemented as a small step interpreter. It borrows heavily from the design of the well-known CESK machine.
The state space Σ of the machine is defined as
A grammar is a function which maps non-terminal symbols N to metalinguistic expressions M.
A buffer b is the string being read by the parser.
A point p is a natural number ℕ and represents a position in the buffer.
A control is the current metalinguistic expression being evaluated.
where {fail, okay} ∉ M.
A token τ is a triple of a non-terminal symbol n, a start point p₁, and an end point p₂.
τ ∈ Token where τ = (n × p₁ × p₂).
A continuation κ is the parser program stack.
The transition function ς ⇀ ς′ is defined as.