|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectalice.tuprolog.Parser
This class defines a parser of prolog terms and sentences.
BNF part 2: Parser term ::= exprA(1200) exprA(n) ::= exprB(n) { op(yfx,n) exprA(n-1) | op(yf,n) }* exprB(n) ::= exprC(n-1) { op(xfx,n) exprA(n-1) | op(xfy,n) exprA(n) | op(xf,n) }* // exprC is called parseLeftSide in the code exprC(n) ::= '-' integer | '-' float | op( fx,n ) exprA(n-1) | op( fy,n ) exprA(n) | exprA(n) exprA(0) ::= integer | float | atom | variable | atom'(' exprA(1200) { ',' exprA(1200) }* ')' | '[' [ exprA(1200) { ',' exprA(1200) }* [ '|' exprA(1200) ] ] ']' | '(' { exprA(1200) }* ')' '{' { exprA(1200) }* '}' op(type,n) ::= atom | { symbol }+
Constructor Summary | |
Parser(java.io.InputStream theoryText)
creating a parser with default operator interpretation |
|
Parser(alice.tuprolog.OperatorManager op,
java.io.InputStream theoryText)
creating a Parser specifing how to handle operators and what text to parse |
|
Parser(alice.tuprolog.OperatorManager op,
java.lang.String theoryText)
creating a Parser specifing how to handle operators and what text to parse |
|
Parser(java.lang.String theoryText)
creating a parser with default operator interpretation |
Method Summary | |
int |
getCurrentLine()
|
static boolean |
isAtom(java.lang.String s)
|
java.util.Iterator |
iterator()
|
Term |
nextTerm(boolean endNeeded)
Parses next term from the stream built on string. |
static Term |
parseSingleTerm(java.lang.String st)
Static service to get a term from its string representation |
static Term |
parseSingleTerm(java.lang.String st,
alice.tuprolog.OperatorManager op)
Static service to get a term from its string representation, providing a specific operator manager |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Parser(alice.tuprolog.OperatorManager op, java.io.InputStream theoryText)
public Parser(alice.tuprolog.OperatorManager op, java.lang.String theoryText)
public Parser(java.lang.String theoryText)
public Parser(java.io.InputStream theoryText)
Method Detail |
public java.util.Iterator iterator()
public Term nextTerm(boolean endNeeded) throws InvalidTermException
endNeeded
- true if it is required to parse the end token
(a period), false otherwise.
InvalidTermException
- if a syntax error is found.public static Term parseSingleTerm(java.lang.String st) throws InvalidTermException
InvalidTermException
public static Term parseSingleTerm(java.lang.String st, alice.tuprolog.OperatorManager op) throws InvalidTermException
InvalidTermException
public int getCurrentLine()
public static boolean isAtom(java.lang.String s)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |