Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   * Copyright The Sett Ltd, 2005 to 2014.
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
 package com.thesett.aima.logic.fol.wam.machine;
WAMEngine implements a com.thesett.aima.logic.fol.interpreter.ResolutionEngine for an WAM-based Prolog with built-ins. This engine loads its standard library of built-ins from a resource on the classpath.

CRC Card
Responsibilities Collaborations
Load the Prolog built-in library from a resource on the classpath when the engine is reset.

Rupert Smith
Holds the name of the resource on the classpath that contains the built-in library.
     private static final String BUILT_IN_LIB = "";

Builds an logical resolution engine from a parser, interner, compiler and resolver.

parser The parser.
interner The interner.
compiler The compiler.
resolver The resolver.
     public WAMEngine(Parser<ClauseTokenparserVariableAndFunctorInterner interner,


Loads the built-in library resource specified by BUILT_IN_LIB.

     public void reset()
         // Reset the resolver to completely clear out its domain.
         // Create a token source to load the model rules from.
         Source<TokentokenSource =
         // Set up a parser on the token source.
         Parser<ClauseTokenlibParser = new SentenceParser();
         // Load the built-ins into the domain.
             while (true)
                 Sentence<Clausesentence = libParser.parse();
                 if (sentence == null)
        catch (SourceCodeException e)
            // There should not be any errors in the built in library, if there are then the prolog engine just
            // isn't going to work, so report this as a bug.
            throw new RuntimeException("Got an exception whilst loading the built-in library."e);
New to GrepCode? Check out our FAQ X