Example #1
0
        internal override bool match(ATerm pattern, ArrayList list)
        {
            if (this.equals(pattern))
            {
                return(true);
            }

            if (pattern.getType() == ATermType.PLACEHOLDER)
            {
                ATerm type = ((ATermPlaceholder)pattern).getPlaceholder();
                if (type.getType() == ATermType.APPL)
                {
                    ATermAppl appl = (ATermAppl)type;
                    AFun      afun = appl.getAFun();
                    if (afun.getName().Equals("blob") &&
                        afun.getArity() == 0 &&
                        !afun.isQuoted())
                    {
                        list.Add(data);
                        return(true);
                    }
                }
            }
            return(base.match(pattern, list));
        }
Example #2
0
 public virtual void initHashCode(ATermList annos, AFun fun, ATerm[] i_args)
 {
     this.fun  = fun;
     this.args = i_args;
     this.internSetAnnotations(annos);
     this.setHashCode(this.hashFunction());
 }
Example #3
0
		public virtual void initHashCode(ATermList annos, AFun fun, ATerm[] i_args) 
		{
			this.fun  = fun;
			this.args = i_args;
			this.internSetAnnotations(annos);
			this.setHashCode(this.hashFunction());
		}
Example #4
0
 public virtual ATermAppl makeAppl(AFun fun, ATerm[] args, ATermList annos)
 {
     lock (protoAppl)
     {
         protoAppl.initHashCode(annos, fun, args);
         return((ATermAppl)build(protoAppl));
     }
 }
Example #5
0
/*		public final static void main(String[] args)
 *                                       {
 *                                               TestFib t = new TestFib(new PureFactory());
 *
 *                                               t.test1();
 *                                               t.test2();
 *                                               t.test3(15);
 *                                       }
 */
        public TestFib(ATermFactory factory)
        {
            this.factory = factory;

            zero  = factory.makeAFun("zero", 0, false);
            suc   = factory.makeAFun("suc", 1, false);
            plus  = factory.makeAFun("plus", 2, false);
            fib   = factory.makeAFun("fib", 1, false);
            tzero = factory.makeAppl(zero);
        }
Example #6
0
/*		public final static void main(String[] args) 
					 {
						 TestFib t = new TestFib(new PureFactory());

						 t.test1();
						 t.test2();
						 t.test3(15);
					 }
*/
		public TestFib(ATermFactory factory) 
		{
			this.factory = factory;

			zero = factory.makeAFun("zero", 0, false);
			suc = factory.makeAFun("suc", 1, false);
			plus = factory.makeAFun("plus", 2, false);
			fib = factory.makeAFun("fib", 1, false);
			tzero = factory.makeAppl(zero);
		}
Example #7
0
        internal override bool match(ATerm pattern, ArrayList list)
        {
            if (pattern.getType() == ATermType.APPL)
            {
                ATermAppl appl = (ATermAppl)pattern;
                if (fun.equals(appl.getAFun()))
                {
                    return(matchArguments(appl.getArgumentArray(), list));
                }
                else
                {
                    return(false);
                }
            }

            if (pattern.getType() == ATermType.PLACEHOLDER)
            {
                ATerm type = ((ATermPlaceholder)pattern).getPlaceholder();
                if (type.getType() == ATermType.APPL)
                {
                    ATermAppl appl = (ATermAppl)type;
                    AFun      afun = appl.getAFun();
                    if (afun.getName().Equals("appl") && !afun.isQuoted())
                    {
                        list.Add(fun.getName());
                        return(matchArguments(appl.getArgumentArray(), list));
                    }
                    else if (afun.getName().Equals("str") && !afun.isQuoted())
                    {
                        if (fun.isQuoted())
                        {
                            list.Add(fun.getName());
                            return(matchArguments(appl.getArgumentArray(), list));
                        }
                    }
                    else if (afun.getName().Equals("fun") && !afun.isQuoted())
                    {
                        if (!fun.isQuoted())
                        {
                            list.Add(fun.getName());
                            return(matchArguments(appl.getArgumentArray(), list));
                        }
                    }
                    else if (afun.getName().Equals("id") && !afun.isQuoted())
                    {
                        if (!fun.isQuoted())
                        {
                            list.Add(fun.getName());
                            return(matchArguments(appl.getArgumentArray(), list));
                        }
                    }
                }
            }
            return(base.match(pattern, list));
        }
Example #8
0
/*
 *      public final static void main(String[] args)
 *                                       {
 *                                               TestFibInterpreted t = new TestFibInterpreted(new PureFactory());
 *
 *                                               t.initRules();
 *                                               t.test1(5);
 *                                       }
 */

        public TestFibInterpreted(ATermFactory factory)
        {
            this.factory = factory;

            zero  = factory.makeAFun("zero", 0, false);
            suc   = factory.makeAFun("suc", 1, false);
            plus  = factory.makeAFun("plus", 2, false);
            fib   = factory.makeAFun("fib", 1, false);
            tzero = factory.makeAppl(zero);
            fail  = factory.parse("fail");
        }
Example #9
0
		internal virtual void init(int hashCode, ATermList annos, AFun fun, ATerm[] i_args) 
		{
			base.init(hashCode, annos);
			this.fun = fun;
			this.args = new ATerm[fun.getArity()];
    
			for(int i=0; i<fun.getArity(); i++) 
			{
				this.args[i] = i_args[i];
			}
		}
Example #10
0
        internal virtual void init(int hashCode, ATermList annos, AFun fun, ATerm[] i_args)
        {
            base.init(hashCode, annos);
            this.fun  = fun;
            this.args = new ATerm[fun.getArity()];

            for (int i = 0; i < fun.getArity(); i++)
            {
                this.args[i] = i_args[i];
            }
        }
Example #11
0
/*
 * 		public final static void main(String[] args) 
					 {
						 TestFibInterpreted t = new TestFibInterpreted(new PureFactory());

						 t.initRules();
						 t.test1(5);
					 }
*/

		public TestFibInterpreted(ATermFactory factory) 
		{
			this.factory = factory;

			zero = factory.makeAFun("zero", 0, false);
			suc = factory.makeAFun("suc", 1, false);
			plus = factory.makeAFun("plus", 2, false);
			fib = factory.makeAFun("fib", 1, false);
			tzero = factory.makeAppl(zero);
			fail = factory.parse("fail");
		}
Example #12
0
		protected override void SetUp()
		{
			base.SetUp();
			factory = Tester.theFactory;

			zero = factory.makeAFun("zero", 0, false);
			suc = factory.makeAFun("suc", 1, false);
			plus = factory.makeAFun("plus", 2, false);
			fib = factory.makeAFun("fib", 1, false);
			tzero = factory.makeAppl(zero);
			fail = factory.parse("fail");
		}
Example #13
0
        protected override void SetUp()
        {
            base.SetUp();
            factory = Tester.theFactory;

            zero  = factory.makeAFun("zero", 0, false);
            suc   = factory.makeAFun("suc", 1, false);
            plus  = factory.makeAFun("plus", 2, false);
            fib   = factory.makeAFun("fib", 1, false);
            tzero = factory.makeAppl(zero);
            fail  = factory.parse("fail");
        }
Example #14
0
 public virtual ATermAppl makeAppl(
     AFun fun,
     ATerm arg1,
     ATerm arg2,
     ATerm arg3,
     ATerm arg4,
     ATerm arg5,
     ATerm arg6,
     ATerm arg7)
 {
     ATerm[] args = { arg1, arg2, arg3, arg4, arg5, arg6, arg7 };
     return(makeAppl(fun, args));
 }
Example #15
0
 public override bool equivalent(SharedObject obj)
 {
     try
     {
         AFun peer = (AFun)obj;
         return(peer.getName() == name &&
                peer.getArity() == arity &&
                peer.isQuoted() == _isQuoted);
     }
     catch (InvalidCastException)
     {
         return(false);
     }
 }
Example #16
0
		public virtual void testMakeAppl() 
		{
			factory = Tester.theFactory;

			AFun[] symmies = new AFun[4];
			ATermAppl[] apples = new ATermAppl[16];

			symmies[0] = factory.makeAFun("f0", 0, false);
			symmies[1] = factory.makeAFun("f1", 1, false);
			symmies[2] = factory.makeAFun("f6", 6, false);
			symmies[3] = factory.makeAFun("f10", 10, false);

			apples[0] = factory.makeAppl(symmies[0]);
			apples[1] = factory.makeAppl(symmies[1], (ATerm)apples[0]);
			apples[2] = factory.makeAppl(symmies[1], (ATerm)apples[1]);
			apples[3] = factory.makeAppl(symmies[1], (ATerm)apples[0]);
			apples[4] = factory.makeAppl(symmies[2], new ATerm[] {(ATerm)apples[0],
																	 (ATerm)apples[0], 
																	 (ATerm)apples[1],
																	 (ATerm)apples[0], 
																	 (ATerm)apples[0],
																	 (ATerm)apples[1]});
			apples[5] = factory.makeAppl(symmies[3], new ATerm[] {(ATerm)apples[0],
																	 (ATerm)apples[1],
																	 (ATerm)apples[0],
																	 (ATerm)apples[1],
																	 (ATerm)apples[0],
																	 (ATerm)apples[1],
																	 (ATerm)apples[0],
																	 (ATerm)apples[1],
																	 (ATerm)apples[0],
																	 (ATerm)apples[1]});
			apples[6] = (ATermAppl)apples[2].setArgument((ATerm)apples[0], 0);
			ATerm[] args = { apples[0], apples[1], apples[0], apples[1], apples[0], apples[1], apples[0], apples[1], apples[0], apples[1] };
			apples[7] = factory.makeAppl(symmies[3], args);

			AssertTrue(factory.makeAppl(symmies[0]) == apples[0]);
			AssertTrue(factory.makeAppl(symmies[1], (ATerm) apples[0]) == apples[1]);

			AssertTrue(apples[6].isEqual(apples[1]));
			AssertTrue(apples[1].isEqual(apples[3]));
			AssertTrue(!apples[2].isEqual(apples[1]));
			AssertTrue(!apples[2].isEqual(apples[6]));
			AssertTrue(!apples[1].isEqual(apples[2]));
			AssertTrue(!apples[2].isEqual(apples[3]));
			AssertTrue(!apples[0].isEqual(apples[1]));

			//			Console.Out.WriteLine("pass: testMakeAppl");
		}
Example #17
0
        public virtual void testMakeAppl()
        {
            factory = Tester.theFactory;

            AFun[]      symmies = new AFun[4];
            ATermAppl[] apples  = new ATermAppl[16];

            symmies[0] = factory.makeAFun("f0", 0, false);
            symmies[1] = factory.makeAFun("f1", 1, false);
            symmies[2] = factory.makeAFun("f6", 6, false);
            symmies[3] = factory.makeAFun("f10", 10, false);

            apples[0] = factory.makeAppl(symmies[0]);
            apples[1] = factory.makeAppl(symmies[1], (ATerm)apples[0]);
            apples[2] = factory.makeAppl(symmies[1], (ATerm)apples[1]);
            apples[3] = factory.makeAppl(symmies[1], (ATerm)apples[0]);
            apples[4] = factory.makeAppl(symmies[2], new ATerm[] { (ATerm)apples[0],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1] });
            apples[5] = factory.makeAppl(symmies[3], new ATerm[] { (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1] });
            apples[6] = (ATermAppl)apples[2].setArgument((ATerm)apples[0], 0);
            ATerm[] args = { apples[0], apples[1], apples[0], apples[1], apples[0], apples[1], apples[0], apples[1], apples[0], apples[1] };
            apples[7] = factory.makeAppl(symmies[3], args);

            AssertTrue(factory.makeAppl(symmies[0]) == apples[0]);
            AssertTrue(factory.makeAppl(symmies[1], (ATerm)apples[0]) == apples[1]);

            AssertTrue(apples[6].isEqual(apples[1]));
            AssertTrue(apples[1].isEqual(apples[3]));
            AssertTrue(!apples[2].isEqual(apples[1]));
            AssertTrue(!apples[2].isEqual(apples[6]));
            AssertTrue(!apples[1].isEqual(apples[2]));
            AssertTrue(!apples[2].isEqual(apples[3]));
            AssertTrue(!apples[0].isEqual(apples[1]));

            //			Console.Out.WriteLine("pass: testMakeAppl");
        }
Example #18
0
        public virtual ATermAppl makeApplList(AFun fun, ATermList list, ATermList annos)
        {
            ATerm[] arg_array;

            arg_array = new ATerm[list.getLength()];

            int i = 0;

            while (!list.isEmpty())
            {
                arg_array[i++] = list.getFirst();
                list           = list.getNext();
            }
            return(makeAppl(fun, arg_array, annos));
        }
Example #19
0
 private bool isListPlaceHolder(ATerm pattern)
 {
     if (pattern.getType() == ATermType.PLACEHOLDER)
     {
         ATerm type = ((ATermPlaceholder)pattern).getPlaceholder();
         if (type.getType() == ATermType.APPL)
         {
             ATermAppl appl = (ATermAppl)type;
             AFun      afun = appl.getAFun();
             if (afun.getName().Equals("list") && afun.getArity() == 0 && !afun.isQuoted())
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Example #20
0
 internal virtual bool match(ATerm pattern, ArrayList list)
 {
     if (pattern.getType() == ATermType.PLACEHOLDER)
     {
         ATerm type = ((ATermPlaceholder)pattern).getPlaceholder();
         if (type.getType() == ATermType.APPL)
         {
             ATermAppl appl = (ATermAppl)type;
             AFun      afun = appl.getAFun();
             if (afun.getName().Equals("term") && afun.getArity() == 0 && !afun.isQuoted())
             {
                 list.Add(this);
                 return(true);
             }
         }
     }
     return(false);
 }
Example #21
0
        public void testMakeAppl()
        {
            AFun[]      symmies = new AFun[4];
            ATermAppl[] apples  = new ATermAppl[16];

            symmies[0] = factory.makeAFun("f0", 0, false);
            symmies[1] = factory.makeAFun("f1", 1, false);
            symmies[2] = factory.makeAFun("f6", 6, false);
            symmies[3] = factory.makeAFun("f10", 10, false);

            apples[0] = factory.makeAppl(symmies[0]);
            apples[1] = factory.makeAppl(symmies[1], (ATerm)apples[0]);
            apples[2] = factory.makeAppl(symmies[1], (ATerm)apples[1]);
            apples[3] = factory.makeAppl(symmies[1], (ATerm)apples[0]);
            apples[4] = factory.makeAppl(symmies[2], new ATerm[] { (ATerm)apples[0],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1] });
            apples[5] = factory.makeAppl(symmies[3], new ATerm[] { (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1],
                                                                   (ATerm)apples[0],
                                                                   (ATerm)apples[1] });
            apples[6] = (ATermAppl)apples[2].setArgument((ATerm)apples[0], 0);

            assertTrue(apples[6].isEqual(apples[1]));
            assertTrue(apples[1].isEqual(apples[3]));
            assertTrue(!apples[2].isEqual(apples[1]));
            assertTrue(!apples[2].isEqual(apples[6]));
            assertTrue(!apples[1].isEqual(apples[2]));
            assertTrue(!apples[2].isEqual(apples[3]));
            assertTrue(!apples[0].isEqual(apples[1]));

            Console.Out.WriteLine("pass: testMakeAppl");
        }
Example #22
0
        public override void visitAppl(ATermAppl appl)         // throws VisitFailure
        {
            AFun   fun  = appl.getAFun();
            string name = fun.ToString();

            stream.Write(name);
            position += name.Length;
            if (fun.getArity() > 0 || name.Equals(""))
            {
                stream.Write('(');
                position++;
                for (int i = 0; i < fun.getArity(); i++)
                {
                    if (i != 0)
                    {
                        stream.Write(',');
                        position++;
                    }
                    visitChild(appl.getArgument(i));
                }
                stream.Write(')');
                position++;
            }
        }
Example #23
0
		public virtual ATermAppl makeAppl(AFun fun) 
		{
			return makeAppl(fun, array0);
		}
Example #24
0
		internal virtual ATermAppl make(AFun fun, ATerm[] i_args, ATermList annos) 
		{
			return getPureFactory().makeAppl(fun, i_args, annos);
		}
Example #25
0
		public virtual void visitAFun(AFun fun) // throws VisitFailure 
		{
			visitor.visit(fun);
		}
Example #26
0
 public virtual ATermAppl makeAppl(AFun fun, ATerm[] args)
 {
     return(makeAppl(fun, args, empty));
 }
Example #27
0
		public void testMakeAppl() 
		{
			AFun[] symmies = new AFun[4];
				ATermAppl[] apples = new ATermAppl[16];

					symmies[0] = factory.makeAFun("f0", 0, false);
			symmies[1] = factory.makeAFun("f1", 1, false);
			symmies[2] = factory.makeAFun("f6", 6, false);
			symmies[3] = factory.makeAFun("f10", 10, false);

			apples[0] = factory.makeAppl(symmies[0]);
			apples[1] = factory.makeAppl(symmies[1], (ATerm)apples[0]);
			apples[2] = factory.makeAppl(symmies[1], (ATerm)apples[1]);
			apples[3] = factory.makeAppl(symmies[1], (ATerm)apples[0]);
			apples[4] = factory.makeAppl(symmies[2], new ATerm[] {(ATerm)apples[0],
																	 (ATerm)apples[0], 
																	 (ATerm)apples[1],
																	 (ATerm)apples[0], 
																	 (ATerm)apples[0],
																	 (ATerm)apples[1]});
			apples[5] = factory.makeAppl(symmies[3], new ATerm[] {(ATerm)apples[0],
																	 (ATerm)apples[1],
																	 (ATerm)apples[0],
																	 (ATerm)apples[1],
																	 (ATerm)apples[0],
																	 (ATerm)apples[1],
																	 (ATerm)apples[0],
																	 (ATerm)apples[1],
																	 (ATerm)apples[0],
																	 (ATerm)apples[1]});
			apples[6] = (ATermAppl)apples[2].setArgument((ATerm)apples[0], 0);

			assertTrue(apples[6].isEqual(apples[1]));
			assertTrue(apples[1].isEqual(apples[3]));
			assertTrue(!apples[2].isEqual(apples[1]));
			assertTrue(!apples[2].isEqual(apples[6]));
			assertTrue(!apples[1].isEqual(apples[2]));
			assertTrue(!apples[2].isEqual(apples[3]));
			assertTrue(!apples[0].isEqual(apples[1]));

			Console.Out.WriteLine("pass: testMakeAppl");
		}
Example #28
0
		public virtual ATermAppl makeAppl(AFun fun, ATerm arg1, ATerm arg2, ATerm arg3, ATerm arg4, ATerm arg5) 
		{
			ATerm[] argarray5 = new ATerm[] { arg1, arg2, arg3, arg4, arg5 };
			return makeAppl(fun, argarray5);
		}
Example #29
0
		public virtual ATermAppl makeAppl(AFun fun, ATerm arg1, ATerm arg2, ATerm arg3) 
		{
			ATerm[] argarray3 = new ATerm[] { arg1, arg2, arg3 };
			return makeAppl(fun, argarray3);
		}
Example #30
0
 internal virtual ATermAppl make(AFun fun, ATerm[] i_args)
 {
     return(make(fun, i_args, getPureFactory().makeList()));
 }
Example #31
0
 internal virtual ATermAppl make(AFun fun, ATerm[] i_args, ATermList annos)
 {
     return(getPureFactory().makeAppl(fun, i_args, annos));
 }
Example #32
0
 public virtual ATermAppl makeAppl(AFun fun, ATerm arg1, ATerm arg2, ATerm arg3)
 {
     ATerm[] argarray3 = new ATerm[] { arg1, arg2, arg3 };
     return(makeAppl(fun, argarray3));
 }
Example #33
0
 public virtual void visitAFun(AFun fun)         // throws VisitFailure
 {
     visitor.visit(fun);
 }
Example #34
0
 public virtual ATermAppl makeAppl(AFun fun, ATerm arg1, ATerm arg2, ATerm arg3, ATerm arg4)
 {
     ATerm[] argarray4 = new ATerm[] { arg1, arg2, arg3, arg4 };
     return(makeAppl(fun, argarray4));
 }
Example #35
0
		public virtual ATermAppl makeAppl(AFun fun, ATerm arg) 
		{
			ATerm[] argarray1 = new ATerm[] { arg };
			return makeAppl(fun, argarray1);
		}
Example #36
0
        public void testMaxTerm()
        {
            AFun f = factory.makeAFun("f", 1, false);
            AFun a = factory.makeAFun("a", 0, false);

            int size = 500;

            ATerm[] array1 = new ATerm[size];
            ATerm[] array2 = new ATerm[size];

            long start = DateTime.Now.Ticks;

            Console.Out.WriteLine("array1");
            for (int i = 0; i < size; i++)
            {
                if (i % 100 == 0)
                {
                    Console.Out.Write(i + "  ");
                }

                int idx = i % 10;
                array1[idx] = factory.makeAppl(a);
                for (int j = 0; j < 2 * i; j++)
                {
                    array1[idx] = factory.makeAppl(f, array1[idx]);
                }
                //Console.Out.WriteLine("array[" + i + "] = " + array[i]);
            }

            Console.Out.WriteLine("\narray2");
            for (int i = 0; i < size; i++)
            {
                if (i % 100 == 0)
                {
                    Console.Out.Write(i + "  ");
                }

                int idx = i % 10;
                array2[idx] = factory.makeAppl(a);
                for (int j = 0; j < 2 * i; j++)
                {
                    array2[idx] = factory.makeAppl(f, array2[idx]);
                }
                //Console.Out.WriteLine("array[" + i + "] = " + array[i]);
            }

            Console.Out.WriteLine("\ntest");
            for (int i = 0; i < size; i++)
            {
                if (i % 500 == 0)
                {
                    Console.Out.Write(i + "  ");
                }

                int idx = i % 10;
                if (array1[idx] != array2[idx])
                {
                    Console.Out.WriteLine("array1[" + idx + "] = " + array1[idx]);
                    Console.Out.WriteLine("array2[" + idx + "] = " + array2[idx]);
                    throw new Exception("i = " + idx);
                }
            }
            long end = DateTime.Now.Ticks;

            Console.Out.WriteLine("\ntest " + size + " ok in " + (end - start) + " ms");
            Console.Out.WriteLine(factory);
        }
Example #37
0
		public virtual ATermAppl makeAppl(AFun fun, ATerm arg1, ATerm arg2) 
		{
			ATerm[] argarray2 = new ATerm[] { arg1, arg2 };
			return makeAppl(fun, argarray2);
		}
Example #38
0
 public virtual ATermAppl makeAppl(AFun fun, ATerm arg1, ATerm arg2)
 {
     ATerm[] argarray2 = new ATerm[] { arg1, arg2 };
     return(makeAppl(fun, argarray2));
 }
Example #39
0
		public virtual ATermAppl makeAppl(AFun fun, ATerm arg1, ATerm arg2, ATerm arg3, ATerm arg4) 
		{
			ATerm[] argarray4 = new ATerm[] { arg1, arg2, arg3, arg4 };
			return makeAppl(fun, argarray4);
		}
Example #40
0
 public virtual ATermAppl makeAppl(AFun fun)
 {
     return(makeAppl(fun, array0));
 }
Example #41
0
		public virtual ATermAppl makeAppl(
			AFun fun,
			ATerm arg1,
			ATerm arg2,
			ATerm arg3,
			ATerm arg4,
			ATerm arg5,
			ATerm arg6,
			ATerm arg7) 
		{
			ATerm[] args = { arg1, arg2, arg3, arg4, arg5, arg6, arg7 };
			return makeAppl(fun, args);
		}
Example #42
0
		internal virtual ATermAppl make(AFun fun, ATerm[] i_args) 
		{
			return make(fun, i_args, getPureFactory().makeList());
		}
Example #43
0
 public virtual ATermAppl makeAppl(AFun fun, ATerm arg)
 {
     ATerm[] argarray1 = new ATerm[] { arg };
     return(makeAppl(fun, argarray1));
 }
Example #44
0
		public virtual ATermAppl makeAppl(AFun fun, ATerm[] args) 
		{
			return makeAppl(fun, args, empty);
		}
Example #45
0
 public virtual ATermAppl makeApplList(AFun fun, ATermList list)
 {
     return(makeApplList(fun, list, empty));
 }
Example #46
0
		public virtual ATermAppl makeAppl(AFun fun, ATerm[] args, ATermList annos) 
		{
			lock (protoAppl) 
			{
				protoAppl.initHashCode(annos, fun, args);
				return (ATermAppl) build(protoAppl);
			}
		}
Example #47
0
		public virtual ATermAppl makeApplList(AFun fun, ATermList list) 
		{
			return makeApplList(fun, list, empty);
		}
Example #48
0
		public virtual ATermAppl makeApplList(AFun fun, ATermList list, ATermList annos) 
		{
			ATerm[] arg_array;

			arg_array = new ATerm[list.getLength()];

			int i = 0;
			while (!list.isEmpty()) 
			{
				arg_array[i++] = list.getFirst();
				list = list.getNext();
			}
			return makeAppl(fun, arg_array, annos);
		}
        public override ATerm make(ArrayList args)
        {
            PureFactory factory = getPureFactory();
            ATermAppl   appl;
            AFun        fun;
            string      name;

            appl = (ATermAppl)type;
            fun  = appl.getAFun();
            name = fun.getName();
            if (!fun.isQuoted())
            {
                if (fun.getArity() == 0)
                {
                    if (name.Equals("term"))
                    {
                        ATerm t = (ATerm)args[0];
                        args.RemoveAt(0);

                        return(t);
                    }
                    else if (name.Equals("list"))
                    {
                        ATermList l = (ATermList)args[0];
                        args.RemoveAt(0);

                        return(l);
                    }
                    else if (name.Equals("bool"))
                    {
                        bool b = (bool)args[0];
                        args.RemoveAt(0);

                        return(factory.makeAppl(factory.makeAFun(b.ToString(), 0, false)));
                    }
                    else if (name.Equals("int"))
                    {
                        int i = (int)args[0];
                        args.RemoveAt(0);

                        return(factory.makeInt(i));
                    }
                    else if (name.Equals("real"))
                    {
                        double d = (double)args[0];
                        args.RemoveAt(0);

                        return(factory.makeReal(d));
                    }
                    else if (name.Equals("placeholder"))
                    {
                        ATerm atype = (ATerm)args[0];
                        args.RemoveAt(0);
                        return(factory.makePlaceholder(atype));
                    }
                    else if (name.Equals("str"))
                    {
                        string str = (string)args[0];
                        args.RemoveAt(0);
                        return(factory.makeAppl(factory.makeAFun(str, 0, true)));
                    }
                    else if (name.Equals("id"))
                    {
                        string str = (string)args[0];
                        args.RemoveAt(0);
                        return(factory.makeAppl(factory.makeAFun(str, 0, false)));
                    }
                    else if (name.Equals("fun"))
                    {
                        string str = (string)args[0];
                        args.RemoveAt(0);
                        return(factory.makeAppl(factory.makeAFun(str, 0, false)));
                    }
                }
                if (name.Equals("appl"))
                {
                    ATermList oldargs = appl.getArguments();
                    string    newname = (string)args[0];
                    args.RemoveAt(0);
                    ATermList newargs = (ATermList)oldargs.make(args);
                    AFun      newfun  = factory.makeAFun(newname, newargs.getLength(), false);
                    return(factory.makeApplList(newfun, newargs));
                }
            }
            throw new Exception("illegal pattern: " + this);
        }
Example #50
0
 public virtual ATermAppl makeAppl(AFun fun, ATerm arg1, ATerm arg2, ATerm arg3, ATerm arg4, ATerm arg5)
 {
     ATerm[] argarray5 = new ATerm[] { arg1, arg2, arg3, arg4, arg5 };
     return(makeAppl(fun, argarray5));
 }