Search in sources :

Example 6 with Term

use of alice.tuprolog.Term in project narchy by automenta.

the class TermFrame method setTerm.

/**
 *Sets a new prolog term.
 * @param sterm to be displayed.
 */
public void setTerm(String sterm) {
    Term term;
    try {
        term = Term.term(sterm);
    } catch (Exception ex) {
        term = Term.term("'>illegal prolog term<'");
    }
    setTerm(term);
}
Also used : NumberTerm(alice.tuprolog.NumberTerm) Term(alice.tuprolog.Term)

Example 7 with Term

use of alice.tuprolog.Term in project Osmand by osmandapp.

the class AbstractPrologCommandPlayer method execute.

@Override
public List<String> execute(List<Struct> listCmd) {
    Struct list = new Struct(listCmd.toArray(new Term[listCmd.size()]));
    // $NON-NLS-1$
    Var result = new Var("RESULT");
    List<String> files = new ArrayList<String>();
    if (prologSystem == null) {
        return files;
    }
    if (log.isInfoEnabled()) {
        log.info("Query speak files " + listCmd);
    }
    SolveInfo res = prologSystem.solve(new Struct(P_RESOLVE, list, result));
    if (res.isSuccess()) {
        try {
            prologSystem.solveEnd();
            Term solution = res.getVarValue(result.getName());
            Iterator<?> listIterator = ((Struct) solution).listIterator();
            while (listIterator.hasNext()) {
                Object term = listIterator.next();
                if (term instanceof Struct) {
                    files.add(((Struct) term).getName());
                }
            }
        } catch (NoSolutionException e) {
        }
    }
    if (log.isInfoEnabled()) {
        log.info("Speak files " + files);
    }
    return files;
}
Also used : NoSolutionException(alice.tuprolog.NoSolutionException) Var(alice.tuprolog.Var) ArrayList(java.util.ArrayList) Term(alice.tuprolog.Term) SolveInfo(alice.tuprolog.SolveInfo) Struct(alice.tuprolog.Struct)

Example 8 with Term

use of alice.tuprolog.Term in project Osmand by osmandapp.

the class AbstractPrologCommandPlayer method solveSimplePredicate.

protected Term solveSimplePredicate(String predicate) {
    Term val = null;
    // $NON-NLS-1$
    Var v = new Var("MyVariable");
    SolveInfo s = prologSystem.solve(new Struct(predicate, v));
    if (s.isSuccess()) {
        prologSystem.solveEnd();
        try {
            val = s.getVarValue(v.getName());
        } catch (NoSolutionException e) {
        }
    }
    return val;
}
Also used : NoSolutionException(alice.tuprolog.NoSolutionException) Var(alice.tuprolog.Var) Term(alice.tuprolog.Term) SolveInfo(alice.tuprolog.SolveInfo) Struct(alice.tuprolog.Struct)

Aggregations

Term (alice.tuprolog.Term)8 Struct (alice.tuprolog.Struct)6 NoSolutionException (alice.tuprolog.NoSolutionException)2 NumberTerm (alice.tuprolog.NumberTerm)2 SolveInfo (alice.tuprolog.SolveInfo)2 Var (alice.tuprolog.Var)2 InvalidTheoryException (alice.tuprolog.InvalidTheoryException)1 Number (alice.tuprolog.Number)1 Theory (alice.tuprolog.Theory)1 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 ArrayList (java.util.ArrayList)1 RouteDataObject (net.osmand.binary.RouteDataObject)1 ApplicationMode (net.osmand.plus.ApplicationMode)1 MetricsConstants (net.osmand.plus.OsmandSettings.MetricsConstants)1