initSidebarItems({"enum":[["FlowAction","FlowAction allows the VM's execution engine to implement flow control. Because evaluation can only see a single instruction, it must use this struct to instruct the flow controller to perform flow control actions."]],"fn":[["evaluate","Run the program represented by the given source on a new Semantic Brain VM. If Limit is None, this may never return; if it is Some(n), the machine will run for at most n cycles, then stop."],["source_to_tapes","Given source code, create data and instruction tapes."],["tape_to_string","Convert a tape of MData cells into Unicode chars. Invalid chars are excluded, which could have some unintended side effects for genesis based on string comparisons."]],"mod":[["specification","What is SBrain? SBrain, or Semantic Brain, is a language based on Urban Müller's famous language with only 8 symbols (3 bit instructions). SBrain's additions increase the number of symbols to 32 (6 bit instructions) and adds a stack and a register."]],"struct":[["EvalResult","Represents the outcome of an evaluation by the SBrain VM."],["SBrainVM","A virtual machine modelling the SBrain Turing machine. This machine implements the specification relatively strictly, providing exactly 2^16 (65536) data and instruction cells. Thus, all pointers are 16 bits and all data is 32 bits. The main deviation from the minimum specification is the jump stack, which is indefinitely expandable."]],"type":[["MAddr","The type of a pointer to a cell."],["MData","The type of a data cell"]]});