Package com.igormaznitsa.prologparser
Class PrologParser
- java.lang.Object
-
- com.igormaznitsa.prologparser.PrologParser
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Iterable<PrologTerm>
- Direct Known Subclasses:
GenericPrologParser
public abstract class PrologParser extends java.lang.Object implements java.lang.Iterable<PrologTerm>, java.io.Closeable
Abstract base Prolog parser.
-
-
Field Summary
Fields Modifier and Type Field Description private booleanautoCloseReaderFlagprotected ParserContextcontextstatic PrologTerm[]EMPTY_TERM_ARRAYprotected static Koi7CharOpMapMETA_OP_MAPprivate static OpContainerOPERATOR_COMMAprivate static OpContainerOPERATOR_DOTprivate static OpContainerOPERATOR_LEFTBRACKETprivate static OpContainerOPERATOR_LEFTCURLYBRACKETprivate static OpContainerOPERATOR_RIGHTBRACKETprivate static OpContainerOPERATOR_RIGHTCURLYBRACKETprivate static OpContainerOPERATOR_RIGHTSQUAREBRACKETprivate static OpContainerOPERATOR_VERTICALBARprivate static Koi7CharOpMapOPERATORS_END_LISTprivate static Koi7CharOpMapOPERATORS_INSIDE_LISTprivate static Koi7CharOpMapOPERATORS_INSIDE_STRUCTprivate static Koi7CharOpMapOPERATORS_PHRASEprivate static Koi7CharOpMapOPERATORS_SUBBLOCKprivate static Koi7CharOpMapOPERATORS_SUBBLOCK_CURLYprotected intparserFlagsprivate Tokenizertokenizer
-
Constructor Summary
Constructors Constructor Description PrologParser(java.io.Reader source, ParserContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PrologParserautoCloseReader()private voidcheckForNull(java.lang.Object obj, java.lang.String message, TokenizerResult startTerm)voidclose()static OpfindBaseMetaOperator(java.lang.String text, OpAssoc type)static Koi7CharOpMapfindMetaOps()ParserContextgetContext()TokenizergetInternalTokenizer()private static intgetOnlyCharCode(java.lang.String text)booleanhasNext()private booleanisEndOperator(PrologTerm operator, Koi7CharOpMap endOperators)java.util.Iterator<PrologTerm>iterator()PrologTermnext()private PrologTermreadBlock(Koi7CharOpMap endOperators)private PrologTermreadList(TokenizerResult openingBracket)private PrologStructreadStruct(PrologTerm functor)java.util.stream.Stream<PrologTerm>stream()
-
-
-
Field Detail
-
EMPTY_TERM_ARRAY
public static final PrologTerm[] EMPTY_TERM_ARRAY
-
META_OP_MAP
protected static final Koi7CharOpMap META_OP_MAP
-
OPERATOR_COMMA
private static final OpContainer OPERATOR_COMMA
-
OPERATOR_LEFTBRACKET
private static final OpContainer OPERATOR_LEFTBRACKET
-
OPERATOR_LEFTCURLYBRACKET
private static final OpContainer OPERATOR_LEFTCURLYBRACKET
-
OPERATOR_RIGHTBRACKET
private static final OpContainer OPERATOR_RIGHTBRACKET
-
OPERATOR_RIGHTCURLYBRACKET
private static final OpContainer OPERATOR_RIGHTCURLYBRACKET
-
OPERATOR_RIGHTSQUAREBRACKET
private static final OpContainer OPERATOR_RIGHTSQUAREBRACKET
-
OPERATOR_DOT
private static final OpContainer OPERATOR_DOT
-
OPERATOR_VERTICALBAR
private static final OpContainer OPERATOR_VERTICALBAR
-
OPERATORS_PHRASE
private static final Koi7CharOpMap OPERATORS_PHRASE
-
OPERATORS_INSIDE_LIST
private static final Koi7CharOpMap OPERATORS_INSIDE_LIST
-
OPERATORS_END_LIST
private static final Koi7CharOpMap OPERATORS_END_LIST
-
OPERATORS_INSIDE_STRUCT
private static final Koi7CharOpMap OPERATORS_INSIDE_STRUCT
-
OPERATORS_SUBBLOCK
private static final Koi7CharOpMap OPERATORS_SUBBLOCK
-
OPERATORS_SUBBLOCK_CURLY
private static final Koi7CharOpMap OPERATORS_SUBBLOCK_CURLY
-
autoCloseReaderFlag
private volatile boolean autoCloseReaderFlag
-
context
protected final ParserContext context
-
parserFlags
protected final int parserFlags
-
tokenizer
private final Tokenizer tokenizer
-
-
Constructor Detail
-
PrologParser
public PrologParser(java.io.Reader source, ParserContext context)
-
-
Method Detail
-
autoCloseReader
public PrologParser autoCloseReader()
-
getOnlyCharCode
private static int getOnlyCharCode(java.lang.String text)
-
findMetaOps
public static Koi7CharOpMap findMetaOps()
-
getInternalTokenizer
public Tokenizer getInternalTokenizer()
-
isEndOperator
private boolean isEndOperator(PrologTerm operator, Koi7CharOpMap endOperators)
-
getContext
public ParserContext getContext()
-
hasNext
public boolean hasNext()
-
next
public PrologTerm next()
-
readStruct
private PrologStruct readStruct(PrologTerm functor)
-
readList
private PrologTerm readList(TokenizerResult openingBracket)
-
checkForNull
private void checkForNull(java.lang.Object obj, java.lang.String message, TokenizerResult startTerm)
-
readBlock
private PrologTerm readBlock(Koi7CharOpMap endOperators)
-
iterator
public java.util.Iterator<PrologTerm> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<PrologTerm>
-
stream
public java.util.stream.Stream<PrologTerm> stream()
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
-