proc addRule(grammar: Grammar; name: string; patt: Patt; repr: string = ""; lineInfo: LineInfo = LineInfo()) {....raises: [], tags: [], forbids: [].}
proc libImportRule(name: string; grammar: Grammar): bool {....raises: [KeyError], tags: [], forbids: [].}
proc libImportTemplate(name: string): Template {....raises: [KeyError], tags: [], forbids: [].}
proc libStore(libName: string; grammar: Grammar) {....raises: [], tags: [], forbids: [].}
proc link(grammar: Grammar; initial_name: string; dot: Dot = nil): Program {. ...raises: [KeyError], tags: [], forbids: [].}
proc shadow(grammar: Grammar; name: string): string {....raises: [KeyError], tags: [], forbids: [].}