var searchIndex = {}; searchIndex["cexpr"] = {"doc":"","items":[[4,"Error","cexpr","Parsing errors specific to C parsing",null,null],[13,"ExactToken","","Expected the specified token",0,null],[13,"TypedToken","","Expected a token of the specified kind",0,null],[13,"UnknownIdentifier","","An unknown identifier was encountered",0,null],[13,"InvalidLiteral","","An invalid literal was encountered.",0,null],[13,"Partial","","A full parse was requested, but data was left over after parsing finished.",0,null],[5,"assert_full_parse","","If the input result indicates a succesful parse, but there is data left,\nreturn an `Error::Partial` instead.",null,{"inputs":[{"name":"iresult"}],"output":{"name":"iresult"}}],[0,"nom","","nom's result types, re-exported.",null,null],[4,"IResult","cexpr::nom","Holds the result of parsing functions",null,null],[13,"Done","","indicates a correct parsing, the first field containing the rest of the unparsed data, the second field contains the parsed data",1,null],[13,"Error","","contains a Err, an enum that can indicate an error code, a position in the input, and a pointer to another error, making a list of errors in the parsing tree",1,null],[13,"Incomplete","","Incomplete contains a Needed, an enum than can represent a known quantity of input data, or unknown",1,null],[4,"Needed","","Contains information on needed data if a parser returned `Incomplete`",null,null],[13,"Unknown","","needs more data, but we do not know how much",2,null],[13,"Size","","contains the required data size",2,null],[4,"Err","","Contains the error that a parser can return",null,null],[13,"Code","","An error code, represented by an ErrorKind, which can contain a custom error code represented by E",3,null],[13,"Node","","An error code, and the next error",3,null],[13,"Position","","An error code, and the input position",3,null],[13,"NodePosition","","An error code, the input position and the next error",3,null],[4,"ErrorKind","","indicates which parser returned an error",null,null],[13,"Custom","","",4,null],[13,"Tag","","",4,null],[13,"MapRes","","",4,null],[13,"MapOpt","","",4,null],[13,"Alt","","",4,null],[13,"IsNot","","",4,null],[13,"IsA","","",4,null],[13,"SeparatedList","","",4,null],[13,"SeparatedNonEmptyList","","",4,null],[13,"Many0","","",4,null],[13,"Many1","","",4,null],[13,"Count","","",4,null],[13,"TakeUntilAndConsume","","",4,null],[13,"TakeUntil","","",4,null],[13,"TakeUntilEitherAndConsume","","",4,null],[13,"TakeUntilEither","","",4,null],[13,"LengthValue","","",4,null],[13,"TagClosure","","",4,null],[13,"Alpha","","",4,null],[13,"Digit","","",4,null],[13,"HexDigit","","",4,null],[13,"OctDigit","","",4,null],[13,"AlphaNumeric","","",4,null],[13,"Space","","",4,null],[13,"MultiSpace","","",4,null],[13,"LengthValueFn","","",4,null],[13,"Eof","","",4,null],[13,"ExprOpt","","",4,null],[13,"ExprRes","","",4,null],[13,"CondReduce","","",4,null],[13,"Switch","","",4,null],[13,"TagBits","","",4,null],[13,"OneOf","","",4,null],[13,"NoneOf","","",4,null],[13,"Char","","",4,null],[13,"CrLf","","",4,null],[13,"RegexpMatch","","",4,null],[13,"RegexpMatches","","",4,null],[13,"RegexpFind","","",4,null],[13,"RegexpCapture","","",4,null],[13,"RegexpCaptures","","",4,null],[13,"TakeWhile1","","",4,null],[13,"Complete","","",4,null],[13,"Fix","","",4,null],[13,"Escaped","","",4,null],[13,"EscapedTransform","","",4,null],[13,"TagStr","","",4,null],[13,"IsNotStr","","",4,null],[13,"IsAStr","","",4,null],[13,"TakeWhile1Str","","",4,null],[13,"NonEmpty","","",4,null],[13,"ManyMN","","",4,null],[13,"TakeUntilAndConsumeStr","","",4,null],[13,"TakeUntilStr","","",4,null],[13,"Not","","",4,null],[0,"literal","cexpr","Parsing C literals from byte slices.",null,null],[4,"CChar","cexpr::literal","Representation of a C character",null,null],[13,"Char","","A character that can be represented as a `char`",5,null],[13,"Raw","","Any other character (8-bit characters, unicode surrogates, etc.)",5,null],[5,"parse","","Parse a C literal.",null,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"from","","",5,{"inputs":[{"name":"u8"}],"output":{"name":"cchar"}}],[11,"into","","",5,null],[0,"expr","cexpr","Evaluating C expressions from tokens.",null,null],[3,"IdentifierParser","cexpr::expr","Expression parser/evaluator that supports identifiers.",null,null],[4,"EvalResult","","The result of parsing a literal or evaluating an expression.",null,null],[13,"Int","","",6,null],[13,"Float","","",6,null],[13,"Char","","",6,null],[13,"Str","","",6,null],[13,"Invalid","","",6,null],[5,"expr","","Parse and evalute an expression of a list of tokens.",null,null],[5,"macro_definition","","Parse and evaluate a macro definition from of a list of tokens.",null,null],[6,"CResult","","",null,null],[11,"fmt","","",7,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"clone","","",6,null],[11,"fmt","","",6,null],[11,"from","","",6,{"inputs":[{"name":"vec"}],"output":{"name":"evalresult"}}],[11,"add_assign","","",6,null],[11,"bitand_assign","","",6,null],[11,"bitor_assign","","",6,null],[11,"bitxor_assign","","",6,null],[11,"div_assign","","",6,null],[11,"mul_assign","","",6,null],[11,"rem_assign","","",6,null],[11,"shl_assign","","",6,null],[11,"shr_assign","","",6,null],[11,"sub_assign","","",6,null],[11,"new","","Create a new `IdentifierParser` with a set of known identifiers. When\na known identifier is encountered during parsing, it is substituted\nfor the value specified.",7,{"inputs":[{"name":"hashmap"}],"output":{"name":"identifierparser"}}],[11,"expr","","Parse and evalute an expression of a list of tokens.",7,null],[11,"macro_definition","","Parse and evaluate a macro definition from of a list of tokens.",7,null],[0,"token","cexpr","Representation of a C token",null,null],[3,"Token","cexpr::token","",null,null],[12,"kind","","",8,null],[12,"raw","","",8,null],[4,"Kind","","",null,null],[13,"Punctuation","","",9,null],[13,"Keyword","","",9,null],[13,"Identifier","","",9,null],[13,"Literal","","",9,null],[13,"Comment","","",9,null],[5,"remove_comments","","Remove all comment tokens from a vector of tokens",null,{"inputs":[{"name":"vec"}],"output":{"name":"vec"}}],[11,"eq","","",9,null],[11,"clone","","",9,null],[11,"fmt","","",9,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"clone","","",8,null],[11,"fmt","","",8,null],[11,"fmt","cexpr","",0,null],[14,"my_recognize!","","",null,null],[11,"is_done","cexpr::nom","",1,null],[11,"is_err","","",1,null],[11,"is_incomplete","","",1,null],[11,"map","","Maps a `IResult<I, O, E>` to `IResult<I, N, E>` by appling a function\nto a contained `Done` value, leaving `Error` and `Incomplete` value\nuntouched.",1,null],[11,"map_inc","","Maps a `IResult<I, O, E>` to `IResult<I, O, E>` by appling a function\nto a contained `Incomplete` value, leaving `Done` and `Error` value\nuntouched.",1,null],[11,"map_err","","Maps a `IResult<I, O, E>` to `IResult<I, O, N>` by appling a function\nto a contained `Error` value, leaving `Done` and `Incomplete` value\nuntouched.",1,null],[11,"unwrap","","Unwrap the contained `Done(I, O)` value, or panic if the `IResult` is not\n`Done`.",1,null],[11,"unwrap_inc","","Unwrap the contained `Done(I, O)` value, or panic if the `IResult` is not\n`Done`.",1,null],[11,"unwrap_err","","Unwrap the contained `Done(I, O)` value, or panic if the `IResult` is not\n`Done`.",1,null],[11,"clone","","",4,null],[11,"hash","","",4,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"fmt","","",4,null],[11,"description","","",4,null],[11,"clone","","",3,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null],[11,"clone","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"is_known","","",2,null],[11,"map","","Maps a `Needed` to `Needed` by appling a function to a contained `Size` value.",2,null],[11,"clone","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"remaining_input","","",1,null],[11,"remaining_input","","",1,null],[11,"remaining_input","","",1,null],[11,"output","","",1,null],[11,"output","","",1,null],[11,"output","","",1,null],[11,"description","","",3,null],[11,"fmt","","",3,null]],"paths":[[4,"Error"],[4,"IResult"],[4,"Needed"],[4,"Err"],[4,"ErrorKind"],[4,"CChar"],[4,"EvalResult"],[3,"IdentifierParser"],[3,"Token"],[4,"Kind"]]}; initSearch(searchIndex);