ubc.cs.JLog.Parser
Class pParseStream

java.lang.Object
  extended by ubc.cs.JLog.Parser.pParseStream

public class pParseStream
extends java.lang.Object

The main parsing class that converts packets into their correspoding prolog terms. Used to process user queries, and consult a database. Directly or indirectly uses the pPreTokenizeStream, pTokenizeStream, and pPreParseStream.

Author:
Glendon Holst

Field Summary
protected  jKnowledgeBase database
           
protected  ubc.cs.JLog.Parser.pPreParseStream parser
           
 
Constructor Summary
pParseStream(java.io.Reader r, jKnowledgeBase kb, pPredicateRegistry pr, pOperatorRegistry or)
           
pParseStream(java.lang.String s, jKnowledgeBase kb, pPredicateRegistry pr, pOperatorRegistry or)
           
 
Method Summary
 jPredicateTerms parseQuery()
          Parse the source stream as a query, producing a term representation.
 jPredicateTerms parseQuery(java.util.Hashtable assignments)
          Parse the source stream as a query, producing a term representation.
 void parseSource()
           
 jTerm parseTerm()
           
protected  void query(jPredicateTerms q)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parser

protected ubc.cs.JLog.Parser.pPreParseStream parser

database

protected jKnowledgeBase database
Constructor Detail

pParseStream

public pParseStream(java.lang.String s,
                    jKnowledgeBase kb,
                    pPredicateRegistry pr,
                    pOperatorRegistry or)

pParseStream

public pParseStream(java.io.Reader r,
                    jKnowledgeBase kb,
                    pPredicateRegistry pr,
                    pOperatorRegistry or)
Method Detail

parseQuery

public jPredicateTerms parseQuery()
Parse the source stream as a query, producing a term representation.

Returns:
The jPredicateTerms instance representing the parsed query string.

parseQuery

public jPredicateTerms parseQuery(java.util.Hashtable assignments)
Parse the source stream as a query, producing a term representation.

Parameters:
assignments - A Hashtable representing variable names as keys, and their corresponding jTerm value. The keys must String types, and be valid variable names. Values must be jTerm objects (or sub-classes)
Returns:
The jPredicateTerms instance representing the parsed query string.

parseTerm

public jTerm parseTerm()

parseSource

public void parseSource()

query

protected void query(jPredicateTerms q)