Package jp.ac.kobe_u.cs.prolog.lang

Examples of jp.ac.kobe_u.cs.prolog.lang.ListTerm


            a9 = args[0];
            if (! s2.unify(args[1], engine.trail))
                return engine.fail();
        } else if (a3.isVariable()){
            a9 = new VariableTerm(engine);
            ((VariableTerm) a3).bind(new ListTerm(a9, s2), engine.trail);
        } else {
            return engine.fail();
        }
        //START inline expansion of $neck_cut
        engine.neckCut();
View Full Code Here


            a9 = args[0];
            if (! s2.unify(args[1], engine.trail))
                return engine.fail();
        } else if (a3.isVariable()){
            a9 = new VariableTerm(engine);
            ((VariableTerm) a3).bind(new ListTerm(a9, s2), engine.trail);
        } else {
            return engine.fail();
        }
        //START inline expansion of $neck_cut
        engine.neckCut();
View Full Code Here

            a9 = args[0];
            a10 = args[1];
        } else if (a3.isVariable()){
            a9 = new VariableTerm(engine);
            a10 = new VariableTerm(engine);
            ((VariableTerm) a3).bind(new ListTerm(a9, a10), engine.trail);
        } else {
            return engine.fail();
        }
        a10 = a10.dereference();
        if (a10.isList()){
            Term[] args = {((ListTerm)a10).car(), ((ListTerm)a10).cdr()};
            a11 = args[0];
            if (! s2.unify(args[1], engine.trail))
                return engine.fail();
        } else if (a10.isVariable()){
            a11 = new VariableTerm(engine);
            ((VariableTerm) a10).bind(new ListTerm(a11, s2), engine.trail);
        } else {
            return engine.fail();
        }
        //START inline expansion of $neck_cut
        engine.neckCut();
View Full Code Here

            a9 = args[0];
            a10 = args[1];
        } else if (a3.isVariable()){
            a9 = new VariableTerm(engine);
            a10 = new VariableTerm(engine);
            ((VariableTerm) a3).bind(new ListTerm(a9, a10), engine.trail);
        } else {
            return engine.fail();
        }
        a10 = a10.dereference();
        if (a10.isList()){
            Term[] args = {((ListTerm)a10).car(), ((ListTerm)a10).cdr()};
            a11 = args[0];
            if (! s2.unify(args[1], engine.trail))
                return engine.fail();
        } else if (a10.isVariable()){
            a11 = new VariableTerm(engine);
            ((VariableTerm) a10).bind(new ListTerm(a11, s2), engine.trail);
        } else {
            return engine.fail();
        }
        //START inline expansion of $neck_cut
        engine.neckCut();
View Full Code Here

            a9 = args[0];
            a10 = args[1];
        } else if (a3.isVariable()){
            a9 = new VariableTerm(engine);
            a10 = new VariableTerm(engine);
            ((VariableTerm) a3).bind(new ListTerm(a9, a10), engine.trail);
        } else {
            return engine.fail();
        }
        a10 = a10.dereference();
        if (a10.isList()){
            Term[] args = {((ListTerm)a10).car(), ((ListTerm)a10).cdr()};
            a11 = args[0];
            if (! s2.unify(args[1], engine.trail))
                return engine.fail();
        } else if (a10.isVariable()){
            a11 = new VariableTerm(engine);
            ((VariableTerm) a10).bind(new ListTerm(a11, s2), engine.trail);
        } else {
            return engine.fail();
        }
        //START inline expansion of $neck_cut
        engine.neckCut();
View Full Code Here

            a4 = args[0];
            a5 = args[1];
        } else if (a1.isVariable()){
            a4 = new VariableTerm(engine);
            a5 = new VariableTerm(engine);
            ((VariableTerm) a1).bind(new ListTerm(a4, a5), engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
View Full Code Here

        if (a2.isList()){
            Term[] args = {((ListTerm)a2).car(), ((ListTerm)a2).cdr()};
            a3 = args[0];
        } else if (a2.isVariable()){
            a3 = new VariableTerm(engine);
            ((VariableTerm) a2).bind(new ListTerm(a3, new VariableTerm(engine)), engine.trail);
        } else {
            return engine.fail();
        }
        a4 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(4))
View Full Code Here

        if (a2.isList()){
            Term[] args = {((ListTerm)a2).car(), ((ListTerm)a2).cdr()};
            a3 = args[1];
        } else if (a2.isVariable()){
            a3 = new VariableTerm(engine);
            ((VariableTerm) a2).bind(new ListTerm(new VariableTerm(engine), a3), engine.trail);
        } else {
            return engine.fail();
        }
        engine.aregs[1] = a1;
        engine.aregs[2] = a3;
View Full Code Here

      // Create arguments
      Term prolog = SymbolTerm.makeSymbol(_prolog);
      Term wam = SymbolTerm.makeSymbol(_wam);
      Term op = Prolog.Nil;
      if (eliminateDisjunctions) {
        op = new ListTerm(SymbolTerm.makeSymbol("ed"), op);
      }
      if (arithmeticCompilation) {
        op = new ListTerm(SymbolTerm.makeSymbol("ac"), op);
      }
      if (inlineExpansion) {
        op = new ListTerm(SymbolTerm.makeSymbol("ie"), op);
      }
      if (optimiseRecursiveCall) {
        op = new ListTerm(SymbolTerm.makeSymbol("rc"), op);
      }
      if (switchOnHash) {
        op = new ListTerm(SymbolTerm.makeSymbol("idx"), op);
      }
      if (generateClosure) {
        op = new ListTerm(SymbolTerm.makeSymbol("clo"), op);
      }
      Term[] args = { new ListTerm(prolog, new ListTerm(wam,
          new ListTerm(op, Prolog.Nil))) };
      // Create predicate
      Class clazz = new PrologClassLoader().loadPredicateClass(
          "jp.ac.kobe_u.cs.prolog.compiler.pl2am", "pl2am", 1, true);
      Predicate code = (Predicate) clazz.newInstance();
      // Translate Prolog into WAM
View Full Code Here

        return false;
      }
      // Create arguments
      Term wam = SymbolTerm.makeSymbol(_wam);
      Term dir = SymbolTerm.makeSymbol(_dir);
      Term[] args = { new ListTerm(wam, new ListTerm(dir, Prolog.Nil)) };
      // Create predicate
      // Class clazz =
      // PredicateEncoder.getClass("jp.ac.kobe_u.cs.prolog.compiler.am2j",
      // "am2j", 1);
      Class clazz = new PrologClassLoader().loadPredicateClass(
View Full Code Here

TOP

Related Classes of jp.ac.kobe_u.cs.prolog.lang.ListTerm

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.