var searchIndex = {}; searchIndex["combine_language"] = {"doc":"","items":[[3,"Lex","combine_language","A lexing parser for a language",null,null],[3,"WhiteSpace","","A whitespace parser for a language",null,null],[3,"Reserved","","Parses a reserved word",null,null],[3,"BetweenChar","","Parses `P` between two delimiter characters",null,null],[3,"Identifier","","Defines how to define an identifier (or operator)",null,null],[12,"start","","Parses a valid starting character for an identifier",0,null],[12,"rest","","Parses the rest of the characthers in a valid identifier",0,null],[12,"reserved","","A number of reserved words which cannot be identifiers",0,null],[3,"LanguageDef","","A struct type which contains the necessary definitions to construct a language parser",null,null],[12,"ident","","How to parse an identifier",1,null],[12,"op","","How to parse an operator",1,null],[12,"comment_line","","Describes the start of a line comment",1,null],[12,"comment_start","","Describes the start of a block comment",1,null],[12,"comment_end","","Describes the end of a block comment",1,null],[3,"LanguageEnv","","A type containing parsers for a specific language.",null,null],[3,"Assoc","","Struct for encompassing the associativity of an operator",null,null],[12,"fixity","","Operator fixity",2,null],[12,"precedence","","Operator precedence",2,null],[3,"Expression","","Expression parser which handles binary operators",null,null],[4,"Fixity","","Enumeration on fixities for the expression parser",null,null],[13,"Left","","",3,null],[13,"Right","","",3,null],[5,"expression_parser","","Constructs an expression parser out of a term parser, an operator parser and a function which\ncombines a binary expression to new expressions.",null,{"inputs":[{"name":"p"},{"name":"o"},{"name":"f"}],"output":{"name":"expression"}}],[6,"LanguageParser","","",null,null],[11,"clone","","",4,null],[11,"parse_state","","",4,null],[11,"parse_lazy","","",4,null],[11,"add_error","","",4,null],[11,"clone","","",5,null],[11,"parse_state","","",5,null],[11,"parse_state","","",6,null],[11,"parse_lazy","","",6,null],[11,"add_error","","",6,null],[11,"parse_state","","",7,null],[11,"parse_lazy","","",7,null],[11,"add_error","","",7,null],[11,"new","","Constructs a new parser from a language defintion",8,{"inputs":[{"name":"languagedef"}],"output":{"name":"languageenv"}}],[11,"lex","","Creates a lexing parser from `p`",8,null],[11,"white_space","","Skips spaces and comments",8,null],[11,"symbol","","Parses a symbol, lexing the stream if it is successful",8,null],[11,"identifier","","Parses an identifier, failing if it parses something that is a reserved identifier",8,null],[11,"reserved","","Parses the reserved identifier `name`",8,null],[11,"op","","Parses an operator, failing if it parses something that is a reserved operator",8,null],[11,"reserved_op","","Parses the reserved operator `name`",8,null],[11,"char_literal","","Parses a character literal taking escape sequences into account",8,null],[11,"string_literal","","Parses a string literal taking character escapes into account",8,null],[11,"angles","","Parses `p` inside angle brackets\n`< p >`",8,null],[11,"braces","","Parses `p` inside braces\n`{ p }`",8,null],[11,"brackets","","Parses `p` inside brackets\n`[ p ]`",8,null],[11,"parens","","Parses `p` inside parentheses\n`( p )`",8,null],[11,"integer","","Parses an integer",8,null],[11,"float","","Parses a floating point number",8,null],[11,"fmt","","",3,null],[11,"partial_cmp","","",3,null],[11,"cmp","","",3,null],[11,"eq","","",3,null],[11,"clone","","",3,null],[11,"fmt","","",2,null],[11,"partial_cmp","","",2,null],[11,"lt","","",2,null],[11,"le","","",2,null],[11,"gt","","",2,null],[11,"ge","","",2,null],[11,"cmp","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"clone","","",2,null],[11,"fmt","","",9,null],[11,"clone","","",9,null],[11,"parse_lazy","","",9,null],[11,"add_error","","",9,null]],"paths":[[3,"Identifier"],[3,"LanguageDef"],[3,"Assoc"],[4,"Fixity"],[3,"Lex"],[3,"WhiteSpace"],[3,"Reserved"],[3,"BetweenChar"],[3,"LanguageEnv"],[3,"Expression"]]}; initSearch(searchIndex);