/** * Builds an logical resolution engine from a parser, interner, compiler and resolver. * * @param parser The parser. * @param interner The interner. * @param compiler The compiler. * @param resolver The resolver. */ public ResolutionEngine(Parser<S, Token> parser, VariableAndFunctorInterner interner, LogicCompiler<S, T, Q> compiler, Resolver<T, Q> resolver) { this.parser = parser; this.interner = interner; this.compiler = compiler; this.resolver = resolver; compiler.setCompilerObserver(chainedObserver); }
/** * Builds an logical resolution engine from a parser, interner, compiler and resolver. * * @param parser The parser. * @param interner The interner. * @param compiler The compiler. * @param resolver The resolver. */ public ResolutionEngine(Parser<S, Token> parser, VariableAndFunctorInterner interner, LogicCompiler<S, T, Q> compiler, Resolver<T, Q> resolver) { this.parser = parser; this.interner = interner; this.compiler = compiler; this.resolver = resolver; compiler.setCompilerObserver(chainedObserver); }
/** Creates a resolution engine for the prolog interpreter. */ public PrologEngine() { interner = new VariableAndFunctorInternerImpl("Prolog_Variable_Namespace", "Prolog_Functor_Namespace"); parser = new SentenceParser(interner); compiler = new PrologCompiler(interner); resolver = new PrologResolver(interner); parser.setTokenSource(TokenSource.getTokenSourceForInputStream(System.in)); compiler.setCompilerObserver(chainedObserver); }