def build_meta(content, outfile): content = condition_string(content) # content = Document(content) bg = BootGrammar() mg = bg.parse(content) b = Builder(file=outfile) b.run(mg.ruledict.values())
def build_string(self, content): content = condition_string(content) ctx = bootstrap.bootstrap_context() ctx["add_import"] = self.add_import g = parse_string(content, ctx) g.snap() self.run(g.ruledict.values())
def parse_string(content, ctx): from bookish.grammars import meta as mg content = condition_string(content) # content = Document(content) g, i = mg.grammar(content, 0, ctx) if g is Miss: ls = Lines(content) i = 225 line, col = ls.line_and_col(i) print("i=", i, "line=", line, "col=", col) assert g is not Miss g.snap() return g