package shell type ParserParameters interface { MakeToken() Token ShouldLeave(charsBefore []rune, r rune) bool Supports(charsBefore []rune, r rune) bool SubParsers() []Parser } type Enterable interface { Enter(*CharIterator) error } type Resetable interface { Reset() } type Leavable interface { Leave(*CharIterator) error }