/** {@inheritDoc} */ public FunctorName getFunctorFunctorName(Functor functor) { return getDeinternedFunctorName(functor.getName()); }
/** {@inheritDoc} */ public int getFunctorArity(Functor functor) { return getFunctorArity(functor.getName()); } }
/** {@inheritDoc} */ public String getFunctorName(Functor functor) { return getFunctorName(functor.getName()); }
/** {@inheritDoc} */ public int internFunctorName(FunctorName name) { return getFunctorInterner().createIdAttribute(name).ordinal(); }
/** * Parses statements and print the parse tree to the console for quick interactive testing of the parser. * * @param args The command line arguments. */ public static void main(String[] args) { try { SimpleCharStream inputStream = new SimpleCharStream(System.in, null, 1, 1); PrologParserTokenManager tokenManager = new PrologParserTokenManager(inputStream); Source<Token> tokenSource = new TokenSource(tokenManager); PrologParser parser = new PrologParser(tokenSource, new VariableAndFunctorInternerImpl("Prolog_Variable_Namespace", "Prolog_Functor_Namespace")); while (true) { // Parse the next sentence or directive. Object nextParsing = parser.clause(); console.info(nextParsing.toString()); } } catch (Exception e) { console.log(Level.SEVERE, e.getMessage(), e); System.exit(1); } }
/** {@inheritDoc} */ public int internVariableName(String name) { return getVariableInterner().createIdAttribute(name).ordinal(); }
/** {@inheritDoc} */ public String getVariableName(Variable variable) { return getVariableName(variable.getName()); }
/** {@inheritDoc} */ public int internFunctorName(FunctorName name) { return getFunctorInterner().createIdAttribute(name).ordinal(); }
/** * Parses statements and print the parse tree to the console for quick interactive testing of the parser. * * @param args The command line arguments. */ public static void main(String[] args) { try { SimpleCharStream inputStream = new SimpleCharStream(System.in, null, 1, 1); PrologParserTokenManager tokenManager = new PrologParserTokenManager(inputStream); Source<Token> tokenSource = new TokenSource(tokenManager); PrologParser parser = new PrologParser(tokenSource, new VariableAndFunctorInternerImpl("Prolog_Variable_Namespace", "Prolog_Functor_Namespace")); while (true) { // Parse the next sentence or directive. Object nextParsing = parser.clause(); console.info(nextParsing.toString()); } } catch (Exception e) { console.log(Level.SEVERE, e.getMessage(), e); System.exit(1); } }
/** {@inheritDoc} */ public String getVariableName(int name) { if (name < 0) { return "_G" + (-name); } else { return getVariableInterner().getAttributeFromInt(name).getValue(); } }
/** {@inheritDoc} */ public String getVariableName(Variable variable) { return getVariableName(variable.getName()); }
/** {@inheritDoc} */ public FunctorName getDeinternedFunctorName(int name) { return getFunctorInterner().getAttributeFromInt(name).getValue(); }
new VariableAndFunctorInternerImpl("Prolog_Variable_Namespace", "Prolog_Functor_Namespace"); PrologCompiler compiler = new PrologCompiler(interner); PrologResolver resolver = new PrologResolver(interner);
/** {@inheritDoc} */ public int internVariableName(String name) { return getVariableInterner().createIdAttribute(name).ordinal(); }
/** {@inheritDoc} */ public FunctorName getFunctorFunctorName(Functor functor) { return getDeinternedFunctorName(functor.getName()); }
/** {@inheritDoc} */ public int getFunctorArity(Functor functor) { return getFunctorArity(functor.getName()); } }
/** {@inheritDoc} */ public String getFunctorName(Functor functor) { return getFunctorName(functor.getName()); }
/** {@inheritDoc} */ public FunctorName getDeinternedFunctorName(int name) { return getFunctorInterner().getAttributeFromInt(name).getValue(); }
/** 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); }
/** {@inheritDoc} */ public String getVariableName(int name) { if (name < 0) { return "_G" + (-name); } else { return getVariableInterner().getAttributeFromInt(name).getValue(); } }