var searchIndex = {}; searchIndex["piston_meta"] = {"doc":"A DSL parsing library for human readable text documents","items":[[3,"ParseStdErr","piston_meta","Reports error to standard error output.",null,null],[3,"Tokenizer","","Stores all the meta data sequentially.",null,null],[12,"tokens","","The read tokens.",0,null],[3,"TokenizerState","","Stores the number of tokens received.",null,null],[12,"0","","",1,null],[4,"ParseError","","Errors reporting expected values.",null,null],[13,"ExpectedWhitespace","","Whitespace is required.",2,null],[13,"ExpectedNewLine","","New line is required.",2,null],[13,"ExpectedSomething","","Something is required.",2,null],[13,"ExpectedNumber","","Expected number.",2,null],[13,"ParseNumberError","","Error when parsing float.",2,null],[13,"ExpectedText","","Expected text.",2,null],[13,"EmptyTextNotAllowed","","Empty text not allowed.",2,null],[13,"ParseStringError","","Invalid string format.",2,null],[13,"ExpectedToken","","Expected token.",2,null],[13,"DidNotExpectToken","","Did not expected token.",2,null],[13,"InvalidRule","","An invalid rule.",2,null],[13,"NoRules","","No rules are specified.",2,null],[13,"ExpectedEnd","","Expected to reach the end.",2,null],[4,"Rule","","A rule describes how some section of a document should be parsed.",null,null],[13,"Whitespace","","Read whitespace.",3,null],[13,"Token","","Match against a token.",3,null],[13,"UntilAny","","Reads until any character.",3,null],[13,"UntilAnyOrWhitespace","","Read until any character or whitespace.",3,null],[13,"Text","","Read text.",3,null],[13,"Number","","Read number.",3,null],[13,"Select","","Select one of the sub rules.\nIf the first one does not succeed, try another and so on.\nIf all sub rules fail, then the rule fails.",3,null],[13,"Sequence","","Run each sub rule in sequence.\nIf any sub rule fails, the rule fails.",3,null],[13,"SeparateBy","","Repeat rule separated by another rule.",3,null],[13,"Repeat","","Repeat rule.",3,null],[13,"Lines","","Repeat rule separated by one or more lines.",3,null],[13,"Node","","Read node.",3,null],[13,"Optional","","Read optional.",3,null],[4,"MetaData","","Represents meta data.",null,null],[13,"StartNode","","Starts node.",4,null],[13,"EndNode","","Ends node.",4,null],[13,"Bool","","Sets bool property.",4,null],[13,"F64","","Sets f64 property.",4,null],[13,"String","","Sets string property.",4,null],[0,"bootstrap","","Bootstrapping meta rules for changing documents at runtime",null,null],[5,"rules","piston_meta::bootstrap","Returns rules for parsing meta rules.",null,{"inputs":[],"output":{"name":"vec"}}],[5,"convert","","Converts meta data to rules.",null,null],[0,"meta_rules","piston_meta","Building blocks for meta rules.",null,null],[3,"Lines","piston_meta::meta_rules","Stores information about lines.",null,null],[12,"rule","","The rule to read lines.\nThis can be a multi-line rule.",5,null],[12,"debug_id","","A debug id to track down the rule generating an error.",5,null],[3,"Node","","A node reference.",null,null],[12,"name","","Name of rule.",6,null],[12,"property","","The property to set.",6,null],[12,"debug_id","","A debug id to track down the rule generating an error.",6,null],[12,"index","","The index to the rule reference.",6,null],[3,"Number","","Contains information about number.",null,null],[12,"property","","The property to set.",7,null],[12,"debug_id","","A debug id to track down the rule generating an error.",7,null],[12,"allow_underscore","","Whether underscore is allowed as visible separator.",7,null],[3,"Optional","","Stores information about optional.",null,null],[12,"rule","","The optional rule.",8,null],[12,"debug_id","","A debug id to track down the rule generating an error.",8,null],[3,"Repeat","","Stores inforamtion about separated by.",null,null],[12,"rule","","The rule to separate.",9,null],[12,"optional","","Whether the rule must occur at least once.",9,null],[12,"debug_id","","A debug id to track down the rule generating an error.",9,null],[3,"Select","","Stores information about select.",null,null],[12,"args","","The rules to select from.",10,null],[12,"debug_id","","A debug id to track down the rule generating an error.",10,null],[3,"SeparateBy","","Stores inforamtion about separated by.",null,null],[12,"rule","","The rule to separate.",11,null],[12,"by","","The rule to separate by.",11,null],[12,"optional","","Whether the rule must occur at least once.",11,null],[12,"allow_trail","","Whether the rule can end with separator.",11,null],[12,"debug_id","","A debug id to track down the rule generating an error.",11,null],[3,"Sequence","","Stores information about sequence.",null,null],[12,"args","","The sequential rules.",12,null],[12,"debug_id","","A debug id to track down the rule generating an error.",12,null],[3,"Text","","Stores information about text.",null,null],[12,"allow_empty","","Whether to allow empty string.",13,null],[12,"property","","Which property to set if text is read.",13,null],[12,"debug_id","","A debug id to track down the rule generating an error.",13,null],[3,"Token","","Stores information about token.",null,null],[12,"text","","The text to match against.",14,null],[12,"not","","Whether to fail when matching against text.",14,null],[12,"inverted","","Whether to set property to true or false (inverted).",14,null],[12,"property","","Which property to set if token matches.",14,null],[12,"debug_id","","A debug id to track down the rule generating an error.",14,null],[3,"UntilAny","","Stores information about reading until whitespace or any of some character.",null,null],[12,"any_characters","","The characters to stop at.",15,null],[12,"optional","","Whether empty data is accepted or not.",15,null],[12,"property","","The property to store read text.",15,null],[12,"debug_id","","A debug id to track down the rule generating an error.",15,null],[3,"UntilAnyOrWhitespace","","Stores information about reading until whitespace or any of some character.",null,null],[12,"any_characters","","The characters to stop at.",16,null],[12,"optional","","Whether empty data is accepted or not.",16,null],[12,"property","","The property to store read text.",16,null],[12,"debug_id","","A debug id to track down the rule generating an error.",16,null],[3,"Whitespace","","Stores information about whitespace.",null,null],[12,"optional","","Whether the whitespace is optional or required.",17,null],[12,"debug_id","","A debug id to track down the rule generating an error.",17,null],[4,"Rule","","A rule describes how some section of a document should be parsed.",null,null],[13,"Whitespace","","Read whitespace.",3,null],[13,"Token","","Match against a token.",3,null],[13,"UntilAny","","Reads until any character.",3,null],[13,"UntilAnyOrWhitespace","","Read until any character or whitespace.",3,null],[13,"Text","","Read text.",3,null],[13,"Number","","Read number.",3,null],[13,"Select","","Select one of the sub rules.\nIf the first one does not succeed, try another and so on.\nIf all sub rules fail, then the rule fails.",3,null],[13,"Sequence","","Run each sub rule in sequence.\nIf any sub rule fails, the rule fails.",3,null],[13,"SeparateBy","","Repeat rule separated by another rule.",3,null],[13,"Repeat","","Repeat rule.",3,null],[13,"Lines","","Repeat rule separated by one or more lines.",3,null],[13,"Node","","Read node.",3,null],[13,"Optional","","Read optional.",3,null],[5,"parse","","Parses text with rules.",null,null],[5,"update_refs","","Updates the references such that they point to each other.",null,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"parse","","Parses rule separated by one or more lines.\nIgnores lines that only contain whitespace characters.",5,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"parse","","Parses node.",6,null],[11,"eq","","",7,null],[11,"ne","","",7,null],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"parse","","Parses number.",7,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"fmt","","",8,null],[11,"clone","","",8,null],[11,"parse","","Parse optional.\nReturns the old state if any sub rule fails.",8,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"fmt","","",9,null],[11,"clone","","",9,null],[11,"parse","","Parses rule repeatedly.",9,null],[11,"eq","piston_meta","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"parse","","Parses rule.",3,null],[11,"update_refs","","Updates replacing names with the references.",3,null],[11,"eq","piston_meta::meta_rules","",10,null],[11,"ne","","",10,null],[11,"fmt","","",10,null],[11,"clone","","",10,null],[11,"parse","","Parses select.",10,null],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"fmt","","",11,null],[11,"clone","","",11,null],[11,"parse","","Parses rule repeatedly separated by another rule.",11,null],[11,"eq","","",12,null],[11,"ne","","",12,null],[11,"fmt","","",12,null],[11,"clone","","",12,null],[11,"parse","","Parses sequence.\nFails if any sub rule fails.",12,null],[11,"eq","","",13,null],[11,"ne","","",13,null],[11,"fmt","","",13,null],[11,"clone","","",13,null],[11,"parse","","Parses text.",13,null],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"fmt","","",14,null],[11,"clone","","",14,null],[11,"parse","","Parses token.\nIf the token is linked to a property,\nthe property will be set.\nIf the meta reader fails setting the property the error is handled.\nIf the token is not linked to any property,\nthe same state will be returned.",14,null],[11,"eq","","",15,null],[11,"ne","","",15,null],[11,"fmt","","",15,null],[11,"clone","","",15,null],[11,"parse","","Parses until whitespace or any specified characters.",15,null],[11,"eq","","",16,null],[11,"ne","","",16,null],[11,"fmt","","",16,null],[11,"clone","","",16,null],[11,"parse","","Parses until whitespace or any specified characters.",16,null],[11,"eq","","",17,null],[11,"ne","","",17,null],[11,"fmt","","",17,null],[11,"clone","","",17,null],[11,"parse","","Parse whitespace.\nIf whitespace is required and no whitespace is found,\nan error will be reported.",17,null],[6,"ParseResult","","A parse result succeeds with a new state,\nplus an optional error to replace other errors if it is deeper.\nThe deepest error is likely the most useful.",null,null],[11,"eq","piston_meta","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"fmt","","",2,null],[11,"new","","Creates a new error handler for standard error output.",18,{"inputs":[{"name":"str"}],"output":{"name":"parsestderr"}}],[11,"error","","",18,null],[11,"new","","Creates a new tokenizer.",0,{"inputs":[],"output":{"name":"tokenizer"}}],[11,"data","","Reads meta data.",0,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"cmp","","",1,null],[11,"partial_cmp","","",1,null],[11,"lt","","",1,null],[11,"le","","",1,null],[11,"gt","","",1,null],[11,"ge","","",1,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"new","","Creates a new tokenizer state.",1,{"inputs":[],"output":{"name":"tokenizerstate"}}],[6,"DebugId","","The type of debug id used to track down errors in rules.",null,null],[8,"ParseErrorHandler","","Implemented by error handlers.",null,null],[10,"error","","Report an error.",19,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"eq","","",4,null],[11,"ne","","",4,null]],"paths":[[3,"Tokenizer"],[3,"TokenizerState"],[4,"ParseError"],[4,"Rule"],[4,"MetaData"],[3,"Lines"],[3,"Node"],[3,"Number"],[3,"Optional"],[3,"Repeat"],[3,"Select"],[3,"SeparateBy"],[3,"Sequence"],[3,"Text"],[3,"Token"],[3,"UntilAny"],[3,"UntilAnyOrWhitespace"],[3,"Whitespace"],[3,"ParseStdErr"],[8,"ParseErrorHandler"]]}; initSearch(searchIndex);