var searchIndex = JSON.parse('{\
"llvm_kaleidoscope_rs":{"doc":"","t":[13,13,4,17,3,11,11,11,11,11,0,11,11,11,11,11,11,0,0,11,11,0,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,13,13,13,13,13,3,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,13,13,4,3,13,3,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["A","B","Either","SMALL_STR_SIZE","SmallCStr","as_ptr","borrow","borrow","borrow_mut","borrow_mut","codegen","eq","fmt","from","from","into","into","lexer","llvm","ne","new","parser","try_from","try_from","try_from","try_into","try_into","type_id","type_id","Codegen","borrow","borrow_mut","compile","from","into","try_from","try_into","type_id","Char","Def","Eof","Extern","Identifier","Lexer","Number","Token","borrow","borrow","borrow_mut","borrow_mut","eq","fmt","from","from","gettok","into","into","ne","new","try_from","try_from","try_into","try_into","type_id","type_id","BasicBlock","FnValue","FunctionPassManager","IRBuilder","LLJit","Module","ResourceTracker","Type","Value","add_fn","add_module","append_basic_block","arg","args","basic_blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","const_f64","deref","drop","drop","drop","drop","dump","dump","dump","enable_process_symbols","fadd","fcmpult","find_symbol","fmul","from","from","from","from","from","from","from","from","from","fsub","get_fn","get_name","initialize_native_taget","into","into","into","into","into","into","into","into","into","is_f64","is_int","new","new","pos_at_end","ret","ret_type","run","set_name","shutdown","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_f64","type_fn","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_of","uitofp","verify","with_ctx","with_ctx","0","0","1","1","Binary","Call","ExprAST","FunctionAST","Number","Parser","PrototypeAST","Variable","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cur_tok","eq","eq","eq","fmt","fmt","fmt","from","from","from","from","get_next_token","into","into","into","into","ne","ne","ne","new","parse_definition","parse_extern","parse_top_level_expr","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id"],"q":["llvm_kaleidoscope_rs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","llvm_kaleidoscope_rs::codegen","","","","","","","","","llvm_kaleidoscope_rs::lexer","","","","","","","","","","","","","","","","","","","","","","","","","","","llvm_kaleidoscope_rs::llvm","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","llvm_kaleidoscope_rs::parser","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","Either type, for APIs accepting two types.","Fixed size of SmallCStr
including the trailing \\\\0
byte.","Small C string on the stack with fixed size SMALL_STR_SIZE
…","Return pointer to C string.","","","","","","","","","","","","","Safe wrapper around the LLVM C API.","","Create a new C string from src
. Returns None
if src
…","","","","","","","","","Code generator from kaleidoscope AST to LLVM IR.","","","Compile either a PrototypeAST
or a FunctionAST
into the …","","","","","","","","","","","","","","","","","","","","","","Lex and return the next token.","","","","","","","","","","","Wrapper for a LLVM Basic Block.","Wrapper for a LLVM Value Reference specialized for …","Wrapper for a LLVM Function PassManager (legacy).","Wrapper for a LLVM IR Builder.","","Wrapper for a LLVM Module with its own LLVM Context.","A resource handle to code added to an LLJit
instance. …","Wrapper for a LLVM Type Reference.","Wrapper for a LLVM Value Reference.","Add a function with the given name
and fn_type
to the …","Add an LLVM IR module to the JIT. Return a ResourceTracker
…","Append a Basic Block to the end of the function …","Get a value reference for the function argument at index …","Get the number of function arguments for the given …","Get the number of Basic Blocks for the given function …","","","","","","","","","","","","","","","","","","","Emit a call instruction.","","","","","","","","","Get a value reference representing the const f64
value.","","","","","","Dump LLVM IR emitted into the Module to stdout.","Dump the LLVM Type to stdout.","Dump the LLVM Value to stdout.","Enable lookup of dynamic symbols available in the current …","Emit a fadd instruction.","Emit a fcmult instruction.","Find the symbol with the name sym
in the JIT.","Emit a fmul instruction.","","","","","","","","","","Emit a fsub instruction.","Get a function value reference to the function with the …","Get the name for the given value reference.","Initialize native target for corresponding to host …","","","","","","","","","","Check if value is of f64
type.","Check if value is of integer type.","Create a new LLJit instance.","Create a new Module instance.","Position the IR Builder at the end of the given Basic …","Emit a ret instruction.","Get a type reference representing the return value of the …","Run the optimization passes registered with the Function …","Set the name for the given value reference.","Deallocate and destroy all “ManagedStatic” variables.","","","","","","","","","","","","","","","","","","","","","","","Get a type reference representing a f64
float.","Get a type reference representing a fn(args) -> ret
…","","","","","","","","","","Get a type reference representing for the given value …","Emit a uitofp instruction.","Verify that the given function is valid.","Create a new LLVM IR Builder with the module
s context.","Create a new Function PassManager with the following …","","","","","Binary - Expression class for a binary operator.","Call - Expression class for function calls.","","FunctionAST - This class represents a function definition …","Number - Expression class for numeric literals like “1.0…","Parser for the kaleidoscope
language.","PrototypeAST - This class represents the “prototype” …","Variable - Expression class for referencing a variable, …","","","","","","","","","","","Implement the global variable int CurTok;
from the …","","","","","","","","","","","Advance the cur_tok
by getting the next token from the …","","","","","","","","","definition ::= ‘def’ prototype expression","external ::= ‘extern’ prototype","toplevelexpr ::= expression","","","","","","","","","","","","",""],"i":[1,1,0,0,0,2,1,2,1,2,0,2,2,1,2,1,2,0,0,2,2,0,1,2,2,1,2,1,2,0,3,3,3,3,3,3,3,3,4,4,4,4,4,0,4,0,5,4,5,4,4,4,5,4,5,5,4,4,5,5,4,5,4,5,4,0,0,0,0,0,0,0,0,0,6,7,6,8,8,8,9,7,10,6,11,12,13,8,14,9,7,10,6,11,12,13,8,14,9,12,13,8,14,12,13,8,14,12,8,9,10,6,11,6,12,13,7,9,9,7,9,9,7,10,6,11,12,13,8,14,9,6,13,0,9,7,10,6,11,12,13,8,14,13,13,7,6,9,9,8,11,13,0,12,13,8,14,9,7,10,6,11,12,13,8,14,9,7,10,6,11,12,13,8,14,6,6,9,7,10,6,11,12,13,8,14,13,9,8,9,11,15,16,15,16,17,17,0,0,17,0,0,17,18,17,15,16,18,17,15,16,15,15,18,17,15,16,17,15,16,18,17,15,16,18,18,17,15,16,17,15,16,18,18,18,18,15,18,17,15,16,18,17,15,16,18,17,15,16],"f":[null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],null,[[["smallcstr",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,[[["smallcstr",3]],["bool",15]],[[],[["option",4,["smallcstr"]],["smallcstr",3]]],null,[[],["result",4]],[[["str",15]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[]],[[]],[[["prototypeast",3],["module",3],["hashmap",3],["either",4,["prototypeast","functionast"]],["functionast",3]],[["string",3],["result",4,["fnvalue","string"]],["fnvalue",3]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[["token",4]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["token",4]],[[]],[[]],[[["token",4]],["bool",15]],[[],["lexer",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,[[["type",3],["str",15]],["fnvalue",3]],[[["module",3]],["resourcetracker",3]],[[["fnvalue",3]],["basicblock",3]],[[["usize",15]],["value",3]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["fnvalue",3]],["value",3]],[[],["type",3]],[[],["value",3]],[[],["fnvalue",3]],[[],["basicblock",3]],[[]],[[]],[[]],[[]],[[["f64",15]],["value",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["value",3]],["value",3]],[[["value",3]],["value",3]],[[["str",15]],["jitfn",8]],[[["value",3]],["value",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["value",3]],["value",3]],[[["str",15]],[["option",4,["fnvalue"]],["fnvalue",3]]],[[],["str",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["lljit",3]],[[]],[[["basicblock",3]]],[[["value",3]]],[[],["type",3]],[[["fnvalue",3]]],[[["str",15]]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["type",3]],[[["type",3]],["type",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["type",3]],[[["type",3],["value",3]],["value",3]],[[],["bool",15]],[[["module",3]],["irbuilder",3]],[[["module",3]],["functionpassmanager",3]],null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["prototypeast",3]],[[]],[[],["token",4]],[[["exprast",4]],["bool",15]],[[["prototypeast",3]],["bool",15]],[[["functionast",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["exprast",4]],["bool",15]],[[["prototypeast",3]],["bool",15]],[[["functionast",3]],["bool",15]],[[["lexer",3]]],[[],[["string",3],["result",4,["functionast","string"]],["functionast",3]]],[[],[["string",3],["prototypeast",3],["result",4,["prototypeast","string"]]]],[[],[["string",3],["result",4,["functionast","string"]],["functionast",3]]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]]],"p":[[4,"Either"],[3,"SmallCStr"],[3,"Codegen"],[4,"Token"],[3,"Lexer"],[3,"Module"],[3,"LLJit"],[3,"FnValue"],[3,"IRBuilder"],[3,"ResourceTracker"],[3,"FunctionPassManager"],[3,"Type"],[3,"Value"],[3,"BasicBlock"],[3,"PrototypeAST"],[3,"FunctionAST"],[4,"ExprAST"],[3,"Parser"]]}\
}');
if (window.initSearch) {window.initSearch(searchIndex)};