package de.fuberlin.projectci.grammar; import java.io.File; import java.io.Reader; /** * * Interface für das allgemeine Einlesen einer Grammatik, die in Textform abgespeichert ist. * */ public interface GrammarReader { /** * Liest eine Grammatik ein und erstellt daraus ein Grammar-Objekt. * @param reader Reader-Objekt * @return Grammar-Objekt * @throws RuntimeException falls die Grammatik-Datei ein ungültiges Format besitzt oder nicht lesbar ist. */ public Grammar readGrammar(Reader reader); /** * Liest eine Grammatik ein und erstellt daraus ein Grammar-Objekt. * @param file File-Objekt * @return Grammar-Objekt * @throws RuntimeException falls die Grammatik-Datei ein ungültiges Format besitzt oder nicht lesbar ist. */ public Grammar readGrammar(File file); /** * Liest eine Grammatik ein und erstellt daraus ein Grammar-Objekt. * @param filename Pfad zur Grammatik-Datei * @return Grammar-Objekt * @throws RuntimeException falls die Grammatik-Datei ein ungültiges Format besitzt oder nicht lesbar ist. */ public Grammar readGrammar(String filename); }