var searchIndex = {}; searchIndex["combine_language"] = {"doc":"An extension on the combine crate which allows for easy definition of lexing parsers","items":[[3,"LanguageParser","combine_language","A language parser",null,null],[3,"Lex","","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"}}],[11,"parse_lazy","","",4,null],[11,"add_error","","",4,null],[11,"clone","","",5,null],[11,"parse_state","","",5,null],[11,"parse_lazy","","",5,null],[11,"add_error","","",5,null],[11,"clone","","",6,null],[11,"parse_state","","",6,null],[11,"parse_state","","",7,null],[11,"parse_lazy","","",7,null],[11,"add_error","","",7,null],[11,"parse_state","","",8,null],[11,"parse_lazy","","",8,null],[11,"add_error","","",8,null],[11,"new","","Constructs a new parser from a language defintion",9,{"inputs":[{"name":"languagedef"}],"output":{"name":"languageenv"}}],[11,"lex","","Creates a lexing parser from `p`",9,null],[11,"white_space","","Skips spaces and comments",9,null],[11,"symbol","","Parses a symbol, lexing the stream if it is successful",9,null],[11,"identifier","","Parses an identifier, failing if it parses something that is a reserved identifier",9,null],[11,"reserved","","Parses the reserved identifier `name`",9,null],[11,"op","","Parses an operator, failing if it parses something that is a reserved operator",9,null],[11,"reserved_op","","Parses the reserved operator `name`",9,null],[11,"char_literal","","Parses a character literal taking escape sequences into account",9,null],[11,"string_literal","","Parses a string literal taking character escapes into account",9,null],[11,"angles","","Parses `p` inside angle brackets\n`< p >`",9,null],[11,"braces","","Parses `p` inside braces\n`{ p }`",9,null],[11,"brackets","","Parses `p` inside brackets\n`[ p ]`",9,null],[11,"parens","","Parses `p` inside parentheses\n`( p )`",9,null],[11,"integer","","Parses an integer",9,null],[11,"float","","Parses a floating point number",9,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","","",10,null],[11,"clone","","",10,null],[11,"parse_lazy","","",10,null],[11,"add_error","","",10,null]],"paths":[[3,"Identifier"],[3,"LanguageDef"],[3,"Assoc"],[4,"Fixity"],[3,"LanguageParser"],[3,"Lex"],[3,"WhiteSpace"],[3,"Reserved"],[3,"BetweenChar"],[3,"LanguageEnv"],[3,"Expression"]]}; initSearch(searchIndex);