public static RCValue Parse(string code, out bool fragment) { RCParser parser = new RCLParser(Activator); RCArray <RCToken> tokens = new RCArray <RCToken> (); parser.Lex(code, tokens); RCValue result = parser.Parse(tokens, out fragment, canonical: false); RCAssert.IsNotNull(result, "The result of parser.Parse() was null."); return(result); }
public void EvalParse(RCRunner runner, RCClosure closure, RCSymbol left, RCString right) { RCParser parser = null; bool canonical = false; string which = left[0].Part(0).ToString(); if (which.Equals("csv")) { parser = new CSVParser(); } else if (which.Equals("xml")) { parser = new XMLParser(); } else if (which.Equals("json")) { parser = new JSONParser(); } else if (which.Equals("rcl")) { parser = new RCLParser(RCSystem.Activator); } else if (which.Equals("canonical")) { parser = new RCLParser(RCSystem.Activator); canonical = true; } else if (which.Equals("log")) { parser = new LogParser(); } else if (which.Equals("md")) { parser = new MarkdownParser(); } else { throw new Exception("Unknown parser: " + which); } bool fragment; RCValue result; try { result = DoParse(parser, right, canonical, out fragment); runner.Yield(closure, result); } catch (RCSyntaxException ex) { throw new RCException(closure, ex, RCErrors.Syntax, ex.Message); } }
public void EvalParse(RCRunner runner, RCClosure closure, RCString right) { bool fragment; RCValue result; try { RCParser parser = new RCLParser(RCSystem.Activator); result = DoParse(parser, right, false, out fragment); runner.Yield(closure, result); } catch (RCSyntaxException ex) { throw new RCException(closure, ex, RCErrors.Syntax, ex.Message); } }