/* Parses a fixed string. */ concrete StringParser { @type create (String) -> (Parser) } /* Parses a string containing a limited set of characters. */ concrete SequenceOfParser { @type create (String, Int /*min*/, Int /*max*/) -> (Parser) } /* Parses a fixed character. */ concrete CharParser { @type create (Char) -> (Parser) } /* Parser combinators. */ concrete Parse { @type const<#x> (#x) -> (Parser<#x>) @type error (Formatted) -> (Parser) @type try<#x> (Parser<#x>) -> (Parser<#x>) @type or<#x> (Parser<#x>,Parser<#x>) -> (Parser<#x>) @type left<#x> (Parser<#x>,Parser) -> (Parser<#x>) @type right<#x> (Parser,Parser<#x>) -> (Parser<#x>) }