/** {@inheritDoc} */ public void compile(Sentence<S> sentence) throws SourceCodeException { compiler.compile(sentence); }
/** {@inheritDoc} */ public void endScope() throws SourceCodeException { compiler.endScope(); }
/** * 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); }
/** {@inheritDoc} */ public void compile(Sentence<S> sentence) throws SourceCodeException { compiler.compile(sentence); }
/** * 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); }
/** {@inheritDoc} */ public void endScope() throws SourceCodeException { compiler.endScope(); }
compiler.compile(sentence);
/** 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); }
/** * Consults an input stream, reading first order logic clauses from it, and inserting them into the resolvers * knowledge base. * * @param stream The input stream to consult. * * @throws SourceCodeException If any code read from the input stream fails to parse, compile or link. */ public void consultInputStream(InputStream stream) throws SourceCodeException { // Create a token source to read from the specified input stream. Source<Token> tokenSource = TokenSource.getTokenSourceForInputStream(stream); getParser().setTokenSource(tokenSource); // Consult the type checking rules and add them to the knowledge base. while (true) { Sentence<S> sentence = getParser().parse(); if (sentence == null) { break; } getCompiler().compile(sentence); } }
/** * Consults an input stream, reading first order logic clauses from it, and inserting them into the resolvers * knowledge base. * * @param stream The input stream to consult. * * @throws SourceCodeException If any code read from the input stream fails to parse, compile or link. */ public void consultInputStream(InputStream stream) throws SourceCodeException { // Create a token source to read from the specified input stream. Source<Token> tokenSource = TokenSource.getTokenSourceForInputStream(stream); getParser().setTokenSource(tokenSource); // Consult the type checking rules and add them to the knowledge base. while (true) { Sentence<S> sentence = getParser().parse(); if (sentence == null) { break; } getCompiler().compile(sentence); } }