aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/YieldProlog/Parser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/YieldProlog/Parser.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/YieldProlog/Parser.cs514
1 files changed, 314 insertions, 200 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/YieldProlog/Parser.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/YieldProlog/Parser.cs
index 3ceb0df..d1c060b 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/YieldProlog/Parser.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/YieldProlog/Parser.cs
@@ -31,10 +31,86 @@
31using System; 31using System;
32using System.Collections.Generic; 32using System.Collections.Generic;
33 33
34 // disable warning on l1, don't see how we can
35 // code this differently
36 #pragma warning disable 0168, 0219, 0162
37
34namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog 38namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
35{ 39{
36 public class Parser 40 public class Parser
37 { 41 {
42 public static IEnumerable<bool> read_term2(object Term, object Options)
43 {
44 Variable Answer = new Variable();
45 Variable Variables = new Variable();
46 foreach (bool l1 in read_termOptions(Options, Variables))
47 {
48 foreach (bool l2 in portable_read3(Answer, Variables, new Variable()))
49 {
50 foreach (bool l3 in remove_pos(Answer, Term))
51 yield return false;
52 }
53 }
54 }
55
56 public static IEnumerable<bool> read_term3(object Input, object Term, object Options)
57 {
58 Variable SaveInput = new Variable();
59 Variable Answer = new Variable();
60 Variable Variables = new Variable();
61 foreach (bool l1 in read_termOptions(Options, Variables))
62 {
63 foreach (bool l2 in YP.current_input(SaveInput))
64 {
65 try
66 {
67 YP.see(Input);
68 foreach (bool l3 in portable_read3(Answer, Variables, new Variable()))
69 {
70 foreach (bool l4 in remove_pos(Answer, Term))
71 yield return false;
72 }
73 }
74 finally
75 {
76 YP.see(SaveInput);
77 }
78 }
79 }
80 }
81
82 /// <summary>
83 /// For read_term, check if Options has variable_names(Variables).
84 /// Otherwise, ignore Options.
85 /// </summary>
86 /// <param name="Options"></param>
87 /// <param name="Variables"></param>
88 /// <returns></returns>
89 private static IEnumerable<bool> read_termOptions(object Options, object Variables)
90 {
91 Options = YP.getValue(Options);
92 if (Options is Variable)
93 throw new PrologException(Atom.a("instantiation_error"), "Options is an unbound variable");
94 // First try to match Options = [variable_names(Variables)]
95 foreach (bool l1 in YP.unify(Options, ListPair.make(new Functor1("variable_names", Variables))))
96 {
97 yield return false;
98 yield break;
99 }
100 // Default: Ignore Options.
101 yield return false;
102 }
103
104 public static IEnumerable<bool> read1(object Term)
105 {
106 return read_term2(Term, Atom.NIL);
107 }
108
109 public static IEnumerable<bool> read2(object Input, object Term)
110 {
111 return read_term3(Input, Term, Atom.NIL);
112 }
113
38 public static IEnumerable<bool> formatError(object Output, object Format, object Arguments) 114 public static IEnumerable<bool> formatError(object Output, object Format, object Arguments)
39 { 115 {
40 // Debug: Simple implementation for now. 116 // Debug: Simple implementation for now.
@@ -44,9 +120,6 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
44 yield return false; 120 yield return false;
45 } 121 }
46 122
47 // disable warning on l1, don't see how we can
48 // code this differently
49 #pragma warning disable 0168, 0219
50 123
51 // Debug: Hand-modify this central predicate to do tail recursion. 124 // Debug: Hand-modify this central predicate to do tail recursion.
52 public static IEnumerable<bool> read_tokens(object arg1, object arg2, object arg3) 125 public static IEnumerable<bool> read_tokens(object arg1, object arg2, object arg3)
@@ -217,7 +290,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
217 Variable Variables = new Variable(); 290 Variable Variables = new Variable();
218 Variable Answer = new Variable(); 291 Variable Answer = new Variable();
219 Variable x4 = new Variable(); 292 Variable x4 = new Variable();
220 foreach (bool l2 in YP.unify(arg1, new Functor2(@"f", Term, Variables))) 293 foreach (bool l2 in YP.unify(arg1, new Functor2("f", Term, Variables)))
221 { 294 {
222 foreach (bool l3 in YP.repeat()) 295 foreach (bool l3 in YP.repeat())
223 { 296 {
@@ -225,14 +298,14 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
225 { 298 {
226 foreach (bool l5 in remove_pos(Answer, Term)) 299 foreach (bool l5 in remove_pos(Answer, Term))
227 { 300 {
228 if (YP.termEqual(Term, Atom.a(@"end_of_file"))) 301 if (YP.termEqual(Term, Atom.a("end_of_file")))
229 { 302 {
230 yield break; 303 yield break;
231 // goto cutIf1; 304 goto cutIf1;
232 } 305 }
233 yield return false; 306 yield return false;
234 // cutIf1: 307 cutIf1:
235 // { } 308 { }
236 } 309 }
237 } 310 }
238 } 311 }
@@ -267,7 +340,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
267 object X = arg2; 340 object X = arg2;
268 Variable _Pos = new Variable(); 341 Variable _Pos = new Variable();
269 Variable _Name = new Variable(); 342 Variable _Name = new Variable();
270 foreach (bool l2 in YP.unify(arg1, new Functor3(@"$VAR", _Pos, _Name, X))) 343 foreach (bool l2 in YP.unify(arg1, new Functor3("$VAR", _Pos, _Name, X)))
271 { 344 {
272 if (YP.var(X)) 345 if (YP.var(X))
273 { 346 {
@@ -311,9 +384,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
311 Variable B = new Variable(); 384 Variable B = new Variable();
312 Variable NA = new Variable(); 385 Variable NA = new Variable();
313 Variable NB = new Variable(); 386 Variable NB = new Variable();
314 foreach (bool l2 in YP.unify(arg1, new Functor2(@",", A, B))) 387 foreach (bool l2 in YP.unify(arg1, new Functor2(",", A, B)))
315 { 388 {
316 foreach (bool l3 in YP.unify(arg2, new Functor2(@",", NA, NB))) 389 foreach (bool l3 in YP.unify(arg2, new Functor2(",", NA, NB)))
317 { 390 {
318 foreach (bool l4 in remove_pos(A, NA)) 391 foreach (bool l4 in remove_pos(A, NA))
319 { 392 {
@@ -432,9 +505,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
432 Variable E = new Variable(); 505 Variable E = new Variable();
433 Variable Xs = new Variable(); 506 Variable Xs = new Variable();
434 Variable Zs = new Variable(); 507 Variable Zs = new Variable();
435 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"comment", S, E), Xs))) 508 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("comment", S, E), Xs)))
436 { 509 {
437 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2(@"comment", S, E), Zs))) 510 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2("comment", S, E), Zs)))
438 { 511 {
439 foreach (bool l4 in remove_comments(Xs, Ys, Zs)) 512 foreach (bool l4 in remove_comments(Xs, Ys, Zs))
440 { 513 {
@@ -450,11 +523,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
450 Variable Ys = new Variable(); 523 Variable Ys = new Variable();
451 Variable Pos2 = new Variable(); 524 Variable Pos2 = new Variable();
452 Variable Zs = new Variable(); 525 Variable Zs = new Variable();
453 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"/", Atom.a(@"["), Pos), Xs))) 526 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("/", Atom.a("["), Pos), Xs)))
454 { 527 {
455 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a(@"["), Ys))) 528 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a("["), Ys)))
456 { 529 {
457 foreach (bool l4 in YP.unify(arg3, new ListPair(new Functor2(@"list", Pos, Pos2), Zs))) 530 foreach (bool l4 in YP.unify(arg3, new ListPair(new Functor2("list", Pos, Pos2), Zs)))
458 { 531 {
459 foreach (bool l5 in YP.unify(Pos2, YP.add(Pos, 1))) 532 foreach (bool l5 in YP.unify(Pos2, YP.add(Pos, 1)))
460 { 533 {
@@ -474,11 +547,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
474 Variable Ys = new Variable(); 547 Variable Ys = new Variable();
475 Variable Pos2 = new Variable(); 548 Variable Pos2 = new Variable();
476 Variable Zs = new Variable(); 549 Variable Zs = new Variable();
477 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"/", Atom.a(@"]"), Pos), Xs))) 550 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("/", Atom.a("]"), Pos), Xs)))
478 { 551 {
479 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a(@"]"), Ys))) 552 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a("]"), Ys)))
480 { 553 {
481 foreach (bool l4 in YP.unify(arg3, new ListPair(new Functor2(@"list", Pos, Pos2), Zs))) 554 foreach (bool l4 in YP.unify(arg3, new ListPair(new Functor2("list", Pos, Pos2), Zs)))
482 { 555 {
483 foreach (bool l5 in YP.unify(Pos2, YP.add(Pos, 1))) 556 foreach (bool l5 in YP.unify(Pos2, YP.add(Pos, 1)))
484 { 557 {
@@ -523,7 +596,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
523 { 596 {
524 object S0 = arg2; 597 object S0 = arg2;
525 object x3 = arg3; 598 object x3 = arg3;
526 foreach (bool l2 in syntax_error(new ListPair(Token, new ListPair(Atom.a(@"or"), new ListPair(Atom.a(@"operator"), new ListPair(Atom.a(@"expected"), Atom.NIL)))), S0)) 599 foreach (bool l2 in syntax_error(ListPair.make(new object[] { Token, Atom.a("or"), Atom.a("operator"), Atom.a("expected") }), S0))
527 { 600 {
528 yield return false; 601 yield return false;
529 } 602 }
@@ -569,7 +642,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
569 Variable S = new Variable(); 642 Variable S = new Variable();
570 foreach (bool l2 in YP.unify(arg1, new ListPair(Token, S))) 643 foreach (bool l2 in YP.unify(arg1, new ListPair(Token, S)))
571 { 644 {
572 foreach (bool l3 in syntax_error(new ListPair(Atom.a(@"operator"), new ListPair(Atom.a(@"expected"), new ListPair(Atom.a(@"after"), new ListPair(Atom.a(@"expression"), Atom.NIL)))), new ListPair(Token, S))) 645 foreach (bool l3 in syntax_error(ListPair.make(new object[] { Atom.a("operator"), Atom.a("expected"), Atom.a("after"), Atom.a("expression") }), new ListPair(Token, S)))
573 { 646 {
574 yield return false; 647 yield return false;
575 } 648 }
@@ -585,7 +658,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
585 object x3 = arg4; 658 object x3 = arg4;
586 foreach (bool l2 in YP.unify(arg1, Atom.NIL)) 659 foreach (bool l2 in YP.unify(arg1, Atom.NIL))
587 { 660 {
588 foreach (bool l3 in syntax_error(new ListPair(Atom.a(@"expression"), new ListPair(Atom.a(@"expected"), Atom.NIL)), Atom.NIL)) 661 foreach (bool l3 in syntax_error(new ListPair(Atom.a("expression"), new ListPair(Atom.a("expected"), Atom.NIL)), Atom.NIL))
589 { 662 {
590 yield return false; 663 yield return false;
591 } 664 }
@@ -614,9 +687,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
614 object x2 = arg3; 687 object x2 = arg3;
615 object x3 = arg4; 688 object x3 = arg4;
616 object x4 = arg5; 689 object x4 = arg5;
617 foreach (bool l2 in YP.unify(arg1, Atom.a(@"}"))) 690 foreach (bool l2 in YP.unify(arg1, Atom.a("}")))
618 { 691 {
619 foreach (bool l3 in cannot_start(Atom.a(@"}"), S0)) 692 foreach (bool l3 in cannot_start(Atom.a("}"), S0))
620 { 693 {
621 yield return false; 694 yield return false;
622 } 695 }
@@ -627,9 +700,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
627 object x2 = arg3; 700 object x2 = arg3;
628 object x3 = arg4; 701 object x3 = arg4;
629 object x4 = arg5; 702 object x4 = arg5;
630 foreach (bool l2 in YP.unify(arg1, Atom.a(@"]"))) 703 foreach (bool l2 in YP.unify(arg1, Atom.a("]")))
631 { 704 {
632 foreach (bool l3 in cannot_start(Atom.a(@"]"), S0)) 705 foreach (bool l3 in cannot_start(Atom.a("]"), S0))
633 { 706 {
634 yield return false; 707 yield return false;
635 } 708 }
@@ -640,9 +713,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
640 object x2 = arg3; 713 object x2 = arg3;
641 object x3 = arg4; 714 object x3 = arg4;
642 object x4 = arg5; 715 object x4 = arg5;
643 foreach (bool l2 in YP.unify(arg1, Atom.a(@")"))) 716 foreach (bool l2 in YP.unify(arg1, Atom.a(")")))
644 { 717 {
645 foreach (bool l3 in cannot_start(Atom.a(@")"), S0)) 718 foreach (bool l3 in cannot_start(Atom.a(")"), S0))
646 { 719 {
647 yield return false; 720 yield return false;
648 } 721 }
@@ -653,9 +726,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
653 object x2 = arg3; 726 object x2 = arg3;
654 object x3 = arg4; 727 object x3 = arg4;
655 object x4 = arg5; 728 object x4 = arg5;
656 foreach (bool l2 in YP.unify(arg1, Atom.a(@","))) 729 foreach (bool l2 in YP.unify(arg1, Atom.a(",")))
657 { 730 {
658 foreach (bool l3 in cannot_start(Atom.a(@","), S0)) 731 foreach (bool l3 in cannot_start(Atom.a(","), S0))
659 { 732 {
660 yield return false; 733 yield return false;
661 } 734 }
@@ -666,9 +739,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
666 object x2 = arg3; 739 object x2 = arg3;
667 object x3 = arg4; 740 object x3 = arg4;
668 object x4 = arg5; 741 object x4 = arg5;
669 foreach (bool l2 in YP.unify(arg1, Atom.a(@"|"))) 742 foreach (bool l2 in YP.unify(arg1, Atom.a("|")))
670 { 743 {
671 foreach (bool l3 in cannot_start(Atom.a(@"|"), S0)) 744 foreach (bool l3 in cannot_start(Atom.a("|"), S0))
672 { 745 {
673 yield return false; 746 yield return false;
674 } 747 }
@@ -679,14 +752,47 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
679 object Precedence = arg3; 752 object Precedence = arg3;
680 object Answer = arg4; 753 object Answer = arg4;
681 object S = arg5; 754 object S = arg5;
682 Variable Chars = new Variable(); 755 Variable Codes = new Variable();
683 foreach (bool l2 in YP.unify(arg1, new Functor1(@"string", Chars))) 756 Variable Term = new Variable();
757 Variable A = new Variable();
758 foreach (bool l2 in YP.unify(arg1, new Functor1("string", Codes)))
759 {
760 foreach (bool l3 in YP.current_prolog_flag(Atom.a("double_quotes"), Atom.a("atom")))
761 {
762 foreach (bool l4 in YP.atom_codes(Term, Codes))
763 {
764 foreach (bool l5 in exprtl0(S0, Term, Precedence, Answer, S))
765 {
766 yield return false;
767 }
768 }
769 goto cutIf1;
770 }
771 foreach (bool l3 in YP.current_prolog_flag(Atom.a("double_quotes"), Atom.a("chars")))
772 {
773 foreach (bool l4 in YP.atom_codes(A, Codes))
774 {
775 foreach (bool l5 in YP.atom_chars(A, Term))
776 {
777 foreach (bool l6 in exprtl0(S0, Term, Precedence, Answer, S))
778 {
779 yield return false;
780 }
781 }
782 }
783 goto cutIf2;
784 }
785 foreach (bool l3 in YP.unify(Term, Codes))
684 { 786 {
685 foreach (bool l3 in exprtl0(S0, Chars, Precedence, Answer, S)) 787 foreach (bool l4 in exprtl0(S0, Term, Precedence, Answer, S))
686 { 788 {
687 yield return false; 789 yield return false;
688 } 790 }
689 } 791 }
792 cutIf2:
793 cutIf1:
794 { }
795 }
690 } 796 }
691 { 797 {
692 object S0 = arg2; 798 object S0 = arg2;
@@ -694,7 +800,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
694 object Answer = arg4; 800 object Answer = arg4;
695 object S = arg5; 801 object S = arg5;
696 Variable Number = new Variable(); 802 Variable Number = new Variable();
697 foreach (bool l2 in YP.unify(arg1, new Functor1(@"number", Number))) 803 foreach (bool l2 in YP.unify(arg1, new Functor1("number", Number)))
698 { 804 {
699 foreach (bool l3 in exprtl0(S0, Number, Precedence, Answer, S)) 805 foreach (bool l3 in exprtl0(S0, Number, Precedence, Answer, S))
700 { 806 {
@@ -707,11 +813,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
707 object Answer = arg4; 813 object Answer = arg4;
708 object S = arg5; 814 object S = arg5;
709 Variable S1 = new Variable(); 815 Variable S1 = new Variable();
710 foreach (bool l2 in YP.unify(arg1, Atom.a(@"["))) 816 foreach (bool l2 in YP.unify(arg1, Atom.a("[")))
711 { 817 {
712 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a(@"]"), S1))) 818 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a("]"), S1)))
713 { 819 {
714 foreach (bool l4 in read_atom(new Functor2(@"/", Atom.NIL, 0), S1, Precedence, Answer, S)) 820 foreach (bool l4 in read_atom(new Functor2("/", Atom.NIL, 0), S1, Precedence, Answer, S))
715 { 821 {
716 yield return false; 822 yield return false;
717 } 823 }
@@ -728,7 +834,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
728 Variable S2 = new Variable(); 834 Variable S2 = new Variable();
729 Variable RestArgs = new Variable(); 835 Variable RestArgs = new Variable();
730 Variable S3 = new Variable(); 836 Variable S3 = new Variable();
731 foreach (bool l2 in YP.unify(arg1, Atom.a(@"["))) 837 foreach (bool l2 in YP.unify(arg1, Atom.a("[")))
732 { 838 {
733 foreach (bool l3 in parse(S1, 999, Arg1, S2)) 839 foreach (bool l3 in parse(S1, 999, Arg1, S2))
734 { 840 {
@@ -751,11 +857,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
751 Variable Term = new Variable(); 857 Variable Term = new Variable();
752 Variable S2 = new Variable(); 858 Variable S2 = new Variable();
753 Variable S3 = new Variable(); 859 Variable S3 = new Variable();
754 foreach (bool l2 in YP.unify(arg1, Atom.a(@"("))) 860 foreach (bool l2 in YP.unify(arg1, Atom.a("(")))
755 { 861 {
756 foreach (bool l3 in parse(S1, 1200, Term, S2)) 862 foreach (bool l3 in parse(S1, 1200, Term, S2))
757 { 863 {
758 foreach (bool l4 in expect(Atom.a(@")"), S2, S3)) 864 foreach (bool l4 in expect(Atom.a(")"), S2, S3))
759 { 865 {
760 foreach (bool l5 in exprtl0(S3, Term, Precedence, Answer, S)) 866 foreach (bool l5 in exprtl0(S3, Term, Precedence, Answer, S))
761 { 867 {
@@ -774,11 +880,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
774 Variable Term = new Variable(); 880 Variable Term = new Variable();
775 Variable S2 = new Variable(); 881 Variable S2 = new Variable();
776 Variable S3 = new Variable(); 882 Variable S3 = new Variable();
777 foreach (bool l2 in YP.unify(arg1, Atom.a(@" ("))) 883 foreach (bool l2 in YP.unify(arg1, Atom.a(" (")))
778 { 884 {
779 foreach (bool l3 in parse(S1, 1200, Term, S2)) 885 foreach (bool l3 in parse(S1, 1200, Term, S2))
780 { 886 {
781 foreach (bool l4 in expect(Atom.a(@")"), S2, S3)) 887 foreach (bool l4 in expect(Atom.a(")"), S2, S3))
782 { 888 {
783 foreach (bool l5 in exprtl0(S3, Term, Precedence, Answer, S)) 889 foreach (bool l5 in exprtl0(S3, Term, Precedence, Answer, S))
784 { 890 {
@@ -795,11 +901,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
795 object S = arg5; 901 object S = arg5;
796 Variable _Pos = new Variable(); 902 Variable _Pos = new Variable();
797 Variable S1 = new Variable(); 903 Variable S1 = new Variable();
798 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", Atom.a(@"{"), _Pos))) 904 foreach (bool l2 in YP.unify(arg1, new Functor2("/", Atom.a("{"), _Pos)))
799 { 905 {
800 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a(@"}"), S1))) 906 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a("}"), S1)))
801 { 907 {
802 foreach (bool l4 in read_atom(Atom.a(@"{}"), S1, Precedence, Answer, S)) 908 foreach (bool l4 in read_atom(Atom.a("{}"), S1, Precedence, Answer, S))
803 { 909 {
804 yield return false; 910 yield return false;
805 } 911 }
@@ -816,13 +922,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
816 Variable Term = new Variable(); 922 Variable Term = new Variable();
817 Variable S2 = new Variable(); 923 Variable S2 = new Variable();
818 Variable S3 = new Variable(); 924 Variable S3 = new Variable();
819 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", Atom.a(@"{"), Pos))) 925 foreach (bool l2 in YP.unify(arg1, new Functor2("/", Atom.a("{"), Pos)))
820 { 926 {
821 foreach (bool l3 in parse(S1, 1200, Term, S2)) 927 foreach (bool l3 in parse(S1, 1200, Term, S2))
822 { 928 {
823 foreach (bool l4 in expect(Atom.a(@"}"), S2, S3)) 929 foreach (bool l4 in expect(Atom.a("}"), S2, S3))
824 { 930 {
825 foreach (bool l5 in exprtl0(S3, new Functor2(@"{}", Pos, Term), Precedence, Answer, S)) 931 foreach (bool l5 in exprtl0(S3, new Functor2("{}", Pos, Term), Precedence, Answer, S))
826 { 932 {
827 yield return false; 933 yield return false;
828 } 934 }
@@ -844,15 +950,15 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
844 Variable RestArgs = new Variable(); 950 Variable RestArgs = new Variable();
845 Variable S3 = new Variable(); 951 Variable S3 = new Variable();
846 Variable Term = new Variable(); 952 Variable Term = new Variable();
847 foreach (bool l2 in YP.unify(arg1, new Functor3(@"var", Variable_1, Name, Pos))) 953 foreach (bool l2 in YP.unify(arg1, new Functor3("var", Variable_1, Name, Pos)))
848 { 954 {
849 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a(@"("), S1))) 955 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a("("), S1)))
850 { 956 {
851 foreach (bool l4 in parse(S1, 999, Arg1, S2)) 957 foreach (bool l4 in parse(S1, 999, Arg1, S2))
852 { 958 {
853 foreach (bool l5 in read_args(S2, RestArgs, S3)) 959 foreach (bool l5 in read_args(S2, RestArgs, S3))
854 { 960 {
855 foreach (bool l6 in YP.univ(Term, new ListPair(Atom.a(@"call"), new ListPair(new Functor3(@"$VAR", Pos, Name, Variable_1), new ListPair(Arg1, RestArgs))))) 961 foreach (bool l6 in YP.univ(Term, new ListPair(Atom.a("call"), new ListPair(new Functor3("$VAR", Pos, Name, Variable_1), new ListPair(Arg1, RestArgs)))))
856 { 962 {
857 foreach (bool l7 in exprtl0(S3, Term, Precedence, Answer, S)) 963 foreach (bool l7 in exprtl0(S3, Term, Precedence, Answer, S))
858 { 964 {
@@ -874,9 +980,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
874 Variable Variable_1 = new Variable(); 980 Variable Variable_1 = new Variable();
875 Variable Name = new Variable(); 981 Variable Name = new Variable();
876 Variable Pos = new Variable(); 982 Variable Pos = new Variable();
877 foreach (bool l2 in YP.unify(arg1, new Functor3(@"var", Variable_1, Name, Pos))) 983 foreach (bool l2 in YP.unify(arg1, new Functor3("var", Variable_1, Name, Pos)))
878 { 984 {
879 foreach (bool l3 in exprtl0(S0, new Functor3(@"$VAR", Pos, Name, Variable_1), Precedence, Answer, S)) 985 foreach (bool l3 in exprtl0(S0, new Functor3("$VAR", Pos, Name, Variable_1), Precedence, Answer, S))
880 { 986 {
881 yield return false; 987 yield return false;
882 } 988 }
@@ -889,9 +995,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
889 object S = arg5; 995 object S = arg5;
890 Variable Atom_1 = new Variable(); 996 Variable Atom_1 = new Variable();
891 Variable P = new Variable(); 997 Variable P = new Variable();
892 foreach (bool l2 in YP.unify(arg1, new Functor2(@"atom", Atom_1, P))) 998 foreach (bool l2 in YP.unify(arg1, new Functor2("atom", Atom_1, P)))
893 { 999 {
894 foreach (bool l3 in read_atom(new Functor2(@"/", Atom_1, P), S0, Precedence, Answer, S)) 1000 foreach (bool l3 in read_atom(new Functor2("/", Atom_1, P), S0, Precedence, Answer, S))
895 { 1001 {
896 yield return false; 1002 yield return false;
897 } 1003 }
@@ -906,9 +1012,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
906 Variable Number = new Variable(); 1012 Variable Number = new Variable();
907 Variable S1 = new Variable(); 1013 Variable S1 = new Variable();
908 Variable Negative = new Variable(); 1014 Variable Negative = new Variable();
909 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", Atom.a(@"-"), _Pos))) 1015 foreach (bool l2 in YP.unify(arg1, new Functor2("/", Atom.a("-"), _Pos)))
910 { 1016 {
911 foreach (bool l3 in YP.unify(arg2, new ListPair(new Functor1(@"number", Number), S1))) 1017 foreach (bool l3 in YP.unify(arg2, new ListPair(new Functor1("number", Number), S1)))
912 { 1018 {
913 foreach (bool l4 in YP.unify(Negative, YP.negate(Number))) 1019 foreach (bool l4 in YP.unify(Negative, YP.negate(Number)))
914 { 1020 {
@@ -930,9 +1036,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
930 Variable RestArgs = new Variable(); 1036 Variable RestArgs = new Variable();
931 Variable S3 = new Variable(); 1037 Variable S3 = new Variable();
932 Variable Term = new Variable(); 1038 Variable Term = new Variable();
933 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", Functor_1, Pos))) 1039 foreach (bool l2 in YP.unify(arg1, new Functor2("/", Functor_1, Pos)))
934 { 1040 {
935 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a(@"("), S1))) 1041 foreach (bool l3 in YP.unify(arg2, new ListPair(Atom.a("("), S1)))
936 { 1042 {
937 foreach (bool l4 in parse(S1, 999, Arg1, S2)) 1043 foreach (bool l4 in parse(S1, 999, Arg1, S2))
938 { 1044 {
@@ -962,7 +1068,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
962 Variable Term = new Variable(); 1068 Variable Term = new Variable();
963 Variable Arg = new Variable(); 1069 Variable Arg = new Variable();
964 Variable S1 = new Variable(); 1070 Variable S1 = new Variable();
965 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", Op, Pos))) 1071 foreach (bool l2 in YP.unify(arg1, new Functor2("/", Op, Pos)))
966 { 1072 {
967 foreach (bool l3 in prefixop(Op, Oprec, Aprec)) 1073 foreach (bool l3 in prefixop(Op, Oprec, Aprec))
968 { 1074 {
@@ -981,7 +1087,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
981 } 1087 }
982 if (YP.greaterThan(Oprec, Precedence)) 1088 if (YP.greaterThan(Oprec, Precedence))
983 { 1089 {
984 foreach (bool l6 in syntax_error(new ListPair(Atom.a(@"prefix"), new ListPair(Atom.a(@"operator"), new ListPair(Op, new ListPair(Atom.a(@"in"), new ListPair(Atom.a(@"context"), new ListPair(Atom.a(@"with"), new ListPair(Atom.a(@"precedence"), new ListPair(Precedence, Atom.NIL)))))))), S0)) 1090 foreach (bool l6 in syntax_error(ListPair.make(new object[] { Atom.a("prefix"), Atom.a("operator"), Op, Atom.a("in"), Atom.a("context"), Atom.a("with"), Atom.a("precedence"), Precedence }), S0))
985 { 1091 {
986 yield return false; 1092 yield return false;
987 } 1093 }
@@ -991,7 +1097,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
991 { 1097 {
992 foreach (bool l6 in parse(S0, Aprec, Arg, S1)) 1098 foreach (bool l6 in parse(S0, Aprec, Arg, S1))
993 { 1099 {
994 foreach (bool l7 in YP.univ(Term, new ListPair(Op, new ListPair(Pos, new ListPair(Arg, Atom.NIL))))) 1100 foreach (bool l7 in YP.univ(Term, ListPair.make(new object[] { Op, Pos, Arg })))
995 { 1101 {
996 foreach (bool l8 in exprtl(S1, Oprec, Term, Precedence, Answer, S)) 1102 foreach (bool l8 in exprtl(S1, Oprec, Term, Precedence, Answer, S))
997 { 1103 {
@@ -1006,7 +1112,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1006 { 1112 {
1007 foreach (bool l6 in prefix_is_atom(S1, Oprec)) 1113 foreach (bool l6 in prefix_is_atom(S1, Oprec))
1008 { 1114 {
1009 foreach (bool l7 in exprtl(S1, Oprec, new Functor2(@"/", Op, Pos), Precedence, Answer, S)) 1115 foreach (bool l7 in exprtl(S1, Oprec, new Functor2("/", Op, Pos), Precedence, Answer, S))
1010 { 1116 {
1011 yield return false; 1117 yield return false;
1012 } 1118 }
@@ -1014,7 +1120,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1014 } 1120 }
1015 foreach (bool l5 in parse(S0, Aprec, Arg, S1)) 1121 foreach (bool l5 in parse(S0, Aprec, Arg, S1))
1016 { 1122 {
1017 foreach (bool l6 in YP.univ(Term, new ListPair(Op, new ListPair(Pos, new ListPair(Arg, Atom.NIL))))) 1123 foreach (bool l6 in YP.univ(Term, ListPair.make(new object[] { Op, Pos, Arg })))
1018 { 1124 {
1019 foreach (bool l7 in exprtl(S1, Oprec, Term, Precedence, Answer, S)) 1125 foreach (bool l7 in exprtl(S1, Oprec, Term, Precedence, Answer, S))
1020 { 1126 {
@@ -1037,7 +1143,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1037 Variable Atom_1 = new Variable(); 1143 Variable Atom_1 = new Variable();
1038 Variable Pos = new Variable(); 1144 Variable Pos = new Variable();
1039 Variable Term = new Variable(); 1145 Variable Term = new Variable();
1040 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", Atom_1, Pos))) 1146 foreach (bool l2 in YP.unify(arg1, new Functor2("/", Atom_1, Pos)))
1041 { 1147 {
1042 foreach (bool l3 in YP.univ(Term, new ListPair(Atom_1, new ListPair(Pos, Atom.NIL)))) 1148 foreach (bool l3 in YP.univ(Term, new ListPair(Atom_1, new ListPair(Pos, Atom.NIL))))
1043 { 1149 {
@@ -1053,7 +1159,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1053 public static IEnumerable<bool> cannot_start(object Token, object S0) 1159 public static IEnumerable<bool> cannot_start(object Token, object S0)
1054 { 1160 {
1055 { 1161 {
1056 foreach (bool l2 in syntax_error(new ListPair(Token, new ListPair(Atom.a(@"cannot"), new ListPair(Atom.a(@"start"), new ListPair(Atom.a(@"an"), new ListPair(Atom.a(@"expression"), Atom.NIL))))), S0)) 1162 foreach (bool l2 in syntax_error(ListPair.make(new object[] { Token, Atom.a("cannot"), Atom.a("start"), Atom.a("an"), Atom.a("expression") }), S0))
1057 { 1163 {
1058 yield return false; 1164 yield return false;
1059 } 1165 }
@@ -1068,7 +1174,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1068 Variable Term = new Variable(); 1174 Variable Term = new Variable();
1069 Variable Rest = new Variable(); 1175 Variable Rest = new Variable();
1070 Variable S2 = new Variable(); 1176 Variable S2 = new Variable();
1071 foreach (bool l2 in YP.unify(arg1, new ListPair(Atom.a(@","), S1))) 1177 foreach (bool l2 in YP.unify(arg1, new ListPair(Atom.a(","), S1)))
1072 { 1178 {
1073 foreach (bool l3 in YP.unify(arg2, new ListPair(Term, Rest))) 1179 foreach (bool l3 in YP.unify(arg2, new ListPair(Term, Rest)))
1074 { 1180 {
@@ -1086,7 +1192,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1086 } 1192 }
1087 { 1193 {
1088 object S = arg3; 1194 object S = arg3;
1089 foreach (bool l2 in YP.unify(arg1, new ListPair(Atom.a(@")"), S))) 1195 foreach (bool l2 in YP.unify(arg1, new ListPair(Atom.a(")"), S)))
1090 { 1196 {
1091 foreach (bool l3 in YP.unify(arg2, Atom.NIL)) 1197 foreach (bool l3 in YP.unify(arg2, Atom.NIL))
1092 { 1198 {
@@ -1099,7 +1205,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1099 object S = arg1; 1205 object S = arg1;
1100 object x2 = arg2; 1206 object x2 = arg2;
1101 object x3 = arg3; 1207 object x3 = arg3;
1102 foreach (bool l2 in syntax_error(new ListPair(Atom.a(@", or )"), new ListPair(Atom.a(@"expected"), new ListPair(Atom.a(@"in"), new ListPair(Atom.a(@"arguments"), Atom.NIL)))), S)) 1208 foreach (bool l2 in syntax_error(ListPair.make(new object[] { Atom.a(", or )"), Atom.a("expected"), Atom.a("in"), Atom.a("arguments") }), S))
1103 { 1209 {
1104 yield return false; 1210 yield return false;
1105 } 1211 }
@@ -1113,7 +1219,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1113 object x2 = arg3; 1219 object x2 = arg3;
1114 foreach (bool l2 in YP.unify(arg1, Atom.NIL)) 1220 foreach (bool l2 in YP.unify(arg1, Atom.NIL))
1115 { 1221 {
1116 foreach (bool l3 in syntax_error(new ListPair(Atom.a(@", | or ]"), new ListPair(Atom.a(@"expected"), new ListPair(Atom.a(@"in"), new ListPair(Atom.a(@"list"), Atom.NIL)))), Atom.NIL)) 1222 foreach (bool l3 in syntax_error(ListPair.make(new object[] { Atom.a(", | or ]"), Atom.a("expected"), Atom.a("in"), Atom.a("list") }), Atom.NIL))
1117 { 1223 {
1118 yield return false; 1224 yield return false;
1119 } 1225 }
@@ -1142,7 +1248,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1142 Variable Term = new Variable(); 1248 Variable Term = new Variable();
1143 Variable Rest = new Variable(); 1249 Variable Rest = new Variable();
1144 Variable S2 = new Variable(); 1250 Variable S2 = new Variable();
1145 foreach (bool l2 in YP.unify(arg1, Atom.a(@","))) 1251 foreach (bool l2 in YP.unify(arg1, Atom.a(",")))
1146 { 1252 {
1147 foreach (bool l3 in YP.unify(arg3, new ListPair(Term, Rest))) 1253 foreach (bool l3 in YP.unify(arg3, new ListPair(Term, Rest)))
1148 { 1254 {
@@ -1163,11 +1269,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1163 object Rest = arg3; 1269 object Rest = arg3;
1164 object S = arg4; 1270 object S = arg4;
1165 Variable S2 = new Variable(); 1271 Variable S2 = new Variable();
1166 foreach (bool l2 in YP.unify(arg1, Atom.a(@"|"))) 1272 foreach (bool l2 in YP.unify(arg1, Atom.a("|")))
1167 { 1273 {
1168 foreach (bool l3 in parse(S1, 999, Rest, S2)) 1274 foreach (bool l3 in parse(S1, 999, Rest, S2))
1169 { 1275 {
1170 foreach (bool l4 in expect(Atom.a(@"]"), S2, S)) 1276 foreach (bool l4 in expect(Atom.a("]"), S2, S))
1171 { 1277 {
1172 yield return false; 1278 yield return false;
1173 } 1279 }
@@ -1178,7 +1284,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1178 } 1284 }
1179 { 1285 {
1180 Variable S1 = new Variable(); 1286 Variable S1 = new Variable();
1181 foreach (bool l2 in YP.unify(arg1, Atom.a(@"]"))) 1287 foreach (bool l2 in YP.unify(arg1, Atom.a("]")))
1182 { 1288 {
1183 foreach (bool l3 in YP.unify(arg2, S1)) 1289 foreach (bool l3 in YP.unify(arg2, S1))
1184 { 1290 {
@@ -1198,7 +1304,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1198 object S1 = arg2; 1304 object S1 = arg2;
1199 object x3 = arg3; 1305 object x3 = arg3;
1200 object x4 = arg4; 1306 object x4 = arg4;
1201 foreach (bool l2 in syntax_error(new ListPair(Atom.a(@", | or ]"), new ListPair(Atom.a(@"expected"), new ListPair(Atom.a(@"in"), new ListPair(Atom.a(@"list"), Atom.NIL)))), new ListPair(Token, S1))) 1307 foreach (bool l2 in syntax_error(ListPair.make(new object[] { Atom.a(", | or ]"), Atom.a("expected"), Atom.a("in"), Atom.a("list") }), new ListPair(Token, S1)))
1202 { 1308 {
1203 yield return false; 1309 yield return false;
1204 } 1310 }
@@ -1237,7 +1343,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1237 Variable x1 = new Variable(); 1343 Variable x1 = new Variable();
1238 Variable x2 = new Variable(); 1344 Variable x2 = new Variable();
1239 Variable x3 = new Variable(); 1345 Variable x3 = new Variable();
1240 foreach (bool l2 in YP.unify(arg1, new Functor3(@"var", x1, x2, x3))) 1346 foreach (bool l2 in YP.unify(arg1, new Functor3("var", x1, x2, x3)))
1241 { 1347 {
1242 foreach (bool l3 in YP.unify(arg2, 1)) 1348 foreach (bool l3 in YP.unify(arg2, 1))
1243 { 1349 {
@@ -1248,7 +1354,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1248 { 1354 {
1249 object x2 = arg3; 1355 object x2 = arg3;
1250 Variable x1 = new Variable(); 1356 Variable x1 = new Variable();
1251 foreach (bool l2 in YP.unify(arg1, new Functor1(@"number", x1))) 1357 foreach (bool l2 in YP.unify(arg1, new Functor1("number", x1)))
1252 { 1358 {
1253 foreach (bool l3 in YP.unify(arg2, 1)) 1359 foreach (bool l3 in YP.unify(arg2, 1))
1254 { 1360 {
@@ -1259,7 +1365,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1259 { 1365 {
1260 object x2 = arg3; 1366 object x2 = arg3;
1261 Variable x1 = new Variable(); 1367 Variable x1 = new Variable();
1262 foreach (bool l2 in YP.unify(arg1, new Functor1(@"string", x1))) 1368 foreach (bool l2 in YP.unify(arg1, new Functor1("string", x1)))
1263 { 1369 {
1264 foreach (bool l3 in YP.unify(arg2, 1)) 1370 foreach (bool l3 in YP.unify(arg2, 1))
1265 { 1371 {
@@ -1269,7 +1375,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1269 } 1375 }
1270 { 1376 {
1271 object x1 = arg3; 1377 object x1 = arg3;
1272 foreach (bool l2 in YP.unify(arg1, Atom.a(@" ("))) 1378 foreach (bool l2 in YP.unify(arg1, Atom.a(" (")))
1273 { 1379 {
1274 foreach (bool l3 in YP.unify(arg2, 1)) 1380 foreach (bool l3 in YP.unify(arg2, 1))
1275 { 1381 {
@@ -1279,7 +1385,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1279 } 1385 }
1280 { 1386 {
1281 object x1 = arg3; 1387 object x1 = arg3;
1282 foreach (bool l2 in YP.unify(arg1, Atom.a(@"("))) 1388 foreach (bool l2 in YP.unify(arg1, Atom.a("(")))
1283 { 1389 {
1284 foreach (bool l3 in YP.unify(arg2, 0)) 1390 foreach (bool l3 in YP.unify(arg2, 0))
1285 { 1391 {
@@ -1289,7 +1395,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1289 } 1395 }
1290 { 1396 {
1291 object x1 = arg3; 1397 object x1 = arg3;
1292 foreach (bool l2 in YP.unify(arg1, Atom.a(@")"))) 1398 foreach (bool l2 in YP.unify(arg1, Atom.a(")")))
1293 { 1399 {
1294 foreach (bool l3 in YP.unify(arg2, -1)) 1400 foreach (bool l3 in YP.unify(arg2, -1))
1295 { 1401 {
@@ -1299,11 +1405,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1299 } 1405 }
1300 { 1406 {
1301 Variable x1 = new Variable(); 1407 Variable x1 = new Variable();
1302 foreach (bool l2 in YP.unify(arg1, Atom.a(@"["))) 1408 foreach (bool l2 in YP.unify(arg1, Atom.a("[")))
1303 { 1409 {
1304 foreach (bool l3 in YP.unify(arg2, 0)) 1410 foreach (bool l3 in YP.unify(arg2, 0))
1305 { 1411 {
1306 foreach (bool l4 in YP.unify(arg3, new ListPair(Atom.a(@"]"), x1))) 1412 foreach (bool l4 in YP.unify(arg3, new ListPair(Atom.a("]"), x1)))
1307 { 1413 {
1308 yield return true; 1414 yield return true;
1309 yield break; 1415 yield break;
@@ -1313,7 +1419,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1313 } 1419 }
1314 { 1420 {
1315 object x1 = arg3; 1421 object x1 = arg3;
1316 foreach (bool l2 in YP.unify(arg1, Atom.a(@"["))) 1422 foreach (bool l2 in YP.unify(arg1, Atom.a("[")))
1317 { 1423 {
1318 foreach (bool l3 in YP.unify(arg2, 1)) 1424 foreach (bool l3 in YP.unify(arg2, 1))
1319 { 1425 {
@@ -1323,7 +1429,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1323 } 1429 }
1324 { 1430 {
1325 object x1 = arg3; 1431 object x1 = arg3;
1326 foreach (bool l2 in YP.unify(arg1, Atom.a(@"]"))) 1432 foreach (bool l2 in YP.unify(arg1, Atom.a("]")))
1327 { 1433 {
1328 foreach (bool l3 in YP.unify(arg2, -1)) 1434 foreach (bool l3 in YP.unify(arg2, -1))
1329 { 1435 {
@@ -1333,11 +1439,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1333 } 1439 }
1334 { 1440 {
1335 Variable x1 = new Variable(); 1441 Variable x1 = new Variable();
1336 foreach (bool l2 in YP.unify(arg1, Atom.a(@"{"))) 1442 foreach (bool l2 in YP.unify(arg1, Atom.a("{")))
1337 { 1443 {
1338 foreach (bool l3 in YP.unify(arg2, 0)) 1444 foreach (bool l3 in YP.unify(arg2, 0))
1339 { 1445 {
1340 foreach (bool l4 in YP.unify(arg3, new ListPair(Atom.a(@"}"), x1))) 1446 foreach (bool l4 in YP.unify(arg3, new ListPair(Atom.a("}"), x1)))
1341 { 1447 {
1342 yield return true; 1448 yield return true;
1343 yield break; 1449 yield break;
@@ -1347,7 +1453,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1347 } 1453 }
1348 { 1454 {
1349 object x1 = arg3; 1455 object x1 = arg3;
1350 foreach (bool l2 in YP.unify(arg1, Atom.a(@"{"))) 1456 foreach (bool l2 in YP.unify(arg1, Atom.a("{")))
1351 { 1457 {
1352 foreach (bool l3 in YP.unify(arg2, 1)) 1458 foreach (bool l3 in YP.unify(arg2, 1))
1353 { 1459 {
@@ -1357,7 +1463,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1357 } 1463 }
1358 { 1464 {
1359 object x1 = arg3; 1465 object x1 = arg3;
1360 foreach (bool l2 in YP.unify(arg1, Atom.a(@"}"))) 1466 foreach (bool l2 in YP.unify(arg1, Atom.a("}")))
1361 { 1467 {
1362 foreach (bool l3 in YP.unify(arg2, -1)) 1468 foreach (bool l3 in YP.unify(arg2, -1))
1363 { 1469 {
@@ -1367,7 +1473,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1367 } 1473 }
1368 { 1474 {
1369 object x1 = arg3; 1475 object x1 = arg3;
1370 foreach (bool l2 in YP.unify(arg1, Atom.a(@","))) 1476 foreach (bool l2 in YP.unify(arg1, Atom.a(",")))
1371 { 1477 {
1372 foreach (bool l3 in YP.unify(arg2, -1)) 1478 foreach (bool l3 in YP.unify(arg2, -1))
1373 { 1479 {
@@ -1377,7 +1483,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1377 } 1483 }
1378 { 1484 {
1379 object x1 = arg3; 1485 object x1 = arg3;
1380 foreach (bool l2 in YP.unify(arg1, Atom.a(@"|"))) 1486 foreach (bool l2 in YP.unify(arg1, Atom.a("|")))
1381 { 1487 {
1382 foreach (bool l3 in YP.unify(arg2, -1)) 1488 foreach (bool l3 in YP.unify(arg2, -1))
1383 { 1489 {
@@ -1389,7 +1495,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1389 object x3 = arg3; 1495 object x3 = arg3;
1390 Variable x1 = new Variable(); 1496 Variable x1 = new Variable();
1391 Variable x2 = new Variable(); 1497 Variable x2 = new Variable();
1392 foreach (bool l2 in YP.unify(arg1, new Functor2(@"atom", x1, x2))) 1498 foreach (bool l2 in YP.unify(arg1, new Functor2("atom", x1, x2)))
1393 { 1499 {
1394 foreach (bool l3 in YP.unify(arg2, 0)) 1500 foreach (bool l3 in YP.unify(arg2, 0))
1395 { 1501 {
@@ -1405,9 +1511,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1405 Variable F = new Variable(); 1511 Variable F = new Variable();
1406 Variable Pos = new Variable(); 1512 Variable Pos = new Variable();
1407 Variable S1 = new Variable(); 1513 Variable S1 = new Variable();
1408 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"atom", F, Pos), new ListPair(Atom.a(@"("), S1)))) 1514 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("atom", F, Pos), new ListPair(Atom.a("("), S1))))
1409 { 1515 {
1410 foreach (bool l3 in YP.unify(arg2, new ListPair(new Functor2(@"atom", F, Pos), new ListPair(Atom.a(@"("), S1)))) 1516 foreach (bool l3 in YP.unify(arg2, new ListPair(new Functor2("atom", F, Pos), new ListPair(Atom.a("("), S1))))
1411 { 1517 {
1412 yield return true; 1518 yield return true;
1413 yield break; 1519 yield break;
@@ -1421,9 +1527,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1421 Variable L = new Variable(); 1527 Variable L = new Variable();
1422 Variable P = new Variable(); 1528 Variable P = new Variable();
1423 Variable R = new Variable(); 1529 Variable R = new Variable();
1424 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"atom", F, Pos), S1))) 1530 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("atom", F, Pos), S1)))
1425 { 1531 {
1426 foreach (bool l3 in YP.unify(arg2, new ListPair(new Functor(Atom.a(@"infixop", Atom.a(@"")), new object[] { new Functor2(@"/", F, Pos), L, P, R }), S1))) 1532 foreach (bool l3 in YP.unify(arg2, new ListPair(new Functor(Atom.a("infixop", Atom.a("")), new object[] { new Functor2("/", F, Pos), L, P, R }), S1)))
1427 { 1533 {
1428 foreach (bool l4 in infixop(F, L, P, R)) 1534 foreach (bool l4 in infixop(F, L, P, R))
1429 { 1535 {
@@ -1438,9 +1544,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1438 Variable S1 = new Variable(); 1544 Variable S1 = new Variable();
1439 Variable L = new Variable(); 1545 Variable L = new Variable();
1440 Variable P = new Variable(); 1546 Variable P = new Variable();
1441 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"atom", F, Pos), S1))) 1547 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("atom", F, Pos), S1)))
1442 { 1548 {
1443 foreach (bool l3 in YP.unify(arg2, new ListPair(new Functor3(Atom.a(@"postfixop", Atom.a(@"")), new Functor2(@"/", F, Pos), L, P), S1))) 1549 foreach (bool l3 in YP.unify(arg2, new ListPair(new Functor3(Atom.a("postfixop", Atom.a("")), new Functor2("/", F, Pos), L, P), S1)))
1444 { 1550 {
1445 foreach (bool l4 in postfixop(F, L, P)) 1551 foreach (bool l4 in postfixop(F, L, P))
1446 { 1552 {
@@ -1481,7 +1587,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1481 Variable L = new Variable(); 1587 Variable L = new Variable();
1482 Variable x3 = new Variable(); 1588 Variable x3 = new Variable();
1483 Variable x4 = new Variable(); 1589 Variable x4 = new Variable();
1484 foreach (bool l2 in YP.unify(arg1, new Functor(Atom.a(@"infixop", Atom.a(@"")), new object[] { x1, L, x3, x4 }))) 1590 foreach (bool l2 in YP.unify(arg1, new Functor(Atom.a("infixop", Atom.a("")), new object[] { x1, L, x3, x4 })))
1485 { 1591 {
1486 if (YP.greaterThanOrEqual(L, P)) 1592 if (YP.greaterThanOrEqual(L, P))
1487 { 1593 {
@@ -1494,7 +1600,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1494 Variable x1 = new Variable(); 1600 Variable x1 = new Variable();
1495 Variable L = new Variable(); 1601 Variable L = new Variable();
1496 Variable x3 = new Variable(); 1602 Variable x3 = new Variable();
1497 foreach (bool l2 in YP.unify(arg1, new Functor3(Atom.a(@"postfixop", Atom.a(@"")), x1, L, x3))) 1603 foreach (bool l2 in YP.unify(arg1, new Functor3(Atom.a("postfixop", Atom.a("")), x1, L, x3)))
1498 { 1604 {
1499 if (YP.greaterThanOrEqual(L, P)) 1605 if (YP.greaterThanOrEqual(L, P))
1500 { 1606 {
@@ -1504,28 +1610,28 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1504 } 1610 }
1505 { 1611 {
1506 object x1 = arg2; 1612 object x1 = arg2;
1507 foreach (bool l2 in YP.unify(arg1, Atom.a(@")"))) 1613 foreach (bool l2 in YP.unify(arg1, Atom.a(")")))
1508 { 1614 {
1509 yield return false; 1615 yield return false;
1510 } 1616 }
1511 } 1617 }
1512 { 1618 {
1513 object x1 = arg2; 1619 object x1 = arg2;
1514 foreach (bool l2 in YP.unify(arg1, Atom.a(@"]"))) 1620 foreach (bool l2 in YP.unify(arg1, Atom.a("]")))
1515 { 1621 {
1516 yield return false; 1622 yield return false;
1517 } 1623 }
1518 } 1624 }
1519 { 1625 {
1520 object x1 = arg2; 1626 object x1 = arg2;
1521 foreach (bool l2 in YP.unify(arg1, Atom.a(@"}"))) 1627 foreach (bool l2 in YP.unify(arg1, Atom.a("}")))
1522 { 1628 {
1523 yield return false; 1629 yield return false;
1524 } 1630 }
1525 } 1631 }
1526 { 1632 {
1527 object P = arg2; 1633 object P = arg2;
1528 foreach (bool l2 in YP.unify(arg1, Atom.a(@"|"))) 1634 foreach (bool l2 in YP.unify(arg1, Atom.a("|")))
1529 { 1635 {
1530 if (YP.greaterThanOrEqual(1100, P)) 1636 if (YP.greaterThanOrEqual(1100, P))
1531 { 1637 {
@@ -1535,7 +1641,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1535 } 1641 }
1536 { 1642 {
1537 object P = arg2; 1643 object P = arg2;
1538 foreach (bool l2 in YP.unify(arg1, Atom.a(@","))) 1644 foreach (bool l2 in YP.unify(arg1, Atom.a(",")))
1539 { 1645 {
1540 if (YP.greaterThanOrEqual(1000, P)) 1646 if (YP.greaterThanOrEqual(1000, P))
1541 { 1647 {
@@ -1594,13 +1700,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1594 object x2 = arg3; 1700 object x2 = arg3;
1595 object S1 = arg6; 1701 object S1 = arg6;
1596 Variable Term = new Variable(); 1702 Variable Term = new Variable();
1597 foreach (bool l2 in YP.unify(arg1, Atom.a(@"}"))) 1703 foreach (bool l2 in YP.unify(arg1, Atom.a("}")))
1598 { 1704 {
1599 foreach (bool l3 in YP.unify(arg2, Term)) 1705 foreach (bool l3 in YP.unify(arg2, Term))
1600 { 1706 {
1601 foreach (bool l4 in YP.unify(arg4, Term)) 1707 foreach (bool l4 in YP.unify(arg4, Term))
1602 { 1708 {
1603 foreach (bool l5 in YP.unify(arg5, new ListPair(Atom.a(@"}"), S1))) 1709 foreach (bool l5 in YP.unify(arg5, new ListPair(Atom.a("}"), S1)))
1604 { 1710 {
1605 yield return false; 1711 yield return false;
1606 } 1712 }
@@ -1612,13 +1718,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1612 object x2 = arg3; 1718 object x2 = arg3;
1613 object S1 = arg6; 1719 object S1 = arg6;
1614 Variable Term = new Variable(); 1720 Variable Term = new Variable();
1615 foreach (bool l2 in YP.unify(arg1, Atom.a(@"]"))) 1721 foreach (bool l2 in YP.unify(arg1, Atom.a("]")))
1616 { 1722 {
1617 foreach (bool l3 in YP.unify(arg2, Term)) 1723 foreach (bool l3 in YP.unify(arg2, Term))
1618 { 1724 {
1619 foreach (bool l4 in YP.unify(arg4, Term)) 1725 foreach (bool l4 in YP.unify(arg4, Term))
1620 { 1726 {
1621 foreach (bool l5 in YP.unify(arg5, new ListPair(Atom.a(@"]"), S1))) 1727 foreach (bool l5 in YP.unify(arg5, new ListPair(Atom.a("]"), S1)))
1622 { 1728 {
1623 yield return false; 1729 yield return false;
1624 } 1730 }
@@ -1630,13 +1736,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1630 object x2 = arg3; 1736 object x2 = arg3;
1631 object S1 = arg6; 1737 object S1 = arg6;
1632 Variable Term = new Variable(); 1738 Variable Term = new Variable();
1633 foreach (bool l2 in YP.unify(arg1, Atom.a(@")"))) 1739 foreach (bool l2 in YP.unify(arg1, Atom.a(")")))
1634 { 1740 {
1635 foreach (bool l3 in YP.unify(arg2, Term)) 1741 foreach (bool l3 in YP.unify(arg2, Term))
1636 { 1742 {
1637 foreach (bool l4 in YP.unify(arg4, Term)) 1743 foreach (bool l4 in YP.unify(arg4, Term))
1638 { 1744 {
1639 foreach (bool l5 in YP.unify(arg5, new ListPair(Atom.a(@")"), S1))) 1745 foreach (bool l5 in YP.unify(arg5, new ListPair(Atom.a(")"), S1)))
1640 { 1746 {
1641 yield return false; 1747 yield return false;
1642 } 1748 }
@@ -1652,13 +1758,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1652 object S1 = arg6; 1758 object S1 = arg6;
1653 Variable Next = new Variable(); 1759 Variable Next = new Variable();
1654 Variable S2 = new Variable(); 1760 Variable S2 = new Variable();
1655 foreach (bool l2 in YP.unify(arg1, Atom.a(@","))) 1761 foreach (bool l2 in YP.unify(arg1, Atom.a(",")))
1656 { 1762 {
1657 if (YP.greaterThanOrEqual(Precedence, 1000)) 1763 if (YP.greaterThanOrEqual(Precedence, 1000))
1658 { 1764 {
1659 foreach (bool l4 in parse(S1, 1000, Next, S2)) 1765 foreach (bool l4 in parse(S1, 1000, Next, S2))
1660 { 1766 {
1661 foreach (bool l5 in exprtl(S2, 1000, new Functor2(@",", Term, Next), Precedence, Answer, S)) 1767 foreach (bool l5 in exprtl(S2, 1000, new Functor2(",", Term, Next), Precedence, Answer, S))
1662 { 1768 {
1663 yield return false; 1769 yield return false;
1664 } 1770 }
@@ -1668,7 +1774,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1668 } 1774 }
1669 foreach (bool l3 in YP.unify(Answer, Term)) 1775 foreach (bool l3 in YP.unify(Answer, Term))
1670 { 1776 {
1671 foreach (bool l4 in YP.unify(S, new ListPair(Atom.a(@","), S1))) 1777 foreach (bool l4 in YP.unify(S, new ListPair(Atom.a(","), S1)))
1672 { 1778 {
1673 yield return false; 1779 yield return false;
1674 } 1780 }
@@ -1685,13 +1791,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1685 object S1 = arg6; 1791 object S1 = arg6;
1686 Variable Next = new Variable(); 1792 Variable Next = new Variable();
1687 Variable S2 = new Variable(); 1793 Variable S2 = new Variable();
1688 foreach (bool l2 in YP.unify(arg1, Atom.a(@"|"))) 1794 foreach (bool l2 in YP.unify(arg1, Atom.a("|")))
1689 { 1795 {
1690 if (YP.greaterThanOrEqual(Precedence, 1100)) 1796 if (YP.greaterThanOrEqual(Precedence, 1100))
1691 { 1797 {
1692 foreach (bool l4 in parse(S1, 1100, Next, S2)) 1798 foreach (bool l4 in parse(S1, 1100, Next, S2))
1693 { 1799 {
1694 foreach (bool l5 in exprtl(S2, 1100, new Functor2(@";", Term, Next), Precedence, Answer, S)) 1800 foreach (bool l5 in exprtl(S2, 1100, new Functor2(";", Term, Next), Precedence, Answer, S))
1695 { 1801 {
1696 yield return false; 1802 yield return false;
1697 } 1803 }
@@ -1701,7 +1807,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1701 } 1807 }
1702 foreach (bool l3 in YP.unify(Answer, Term)) 1808 foreach (bool l3 in YP.unify(Answer, Term))
1703 { 1809 {
1704 foreach (bool l4 in YP.unify(S, new ListPair(Atom.a(@"|"), S1))) 1810 foreach (bool l4 in YP.unify(S, new ListPair(Atom.a("|"), S1)))
1705 { 1811 {
1706 yield return false; 1812 yield return false;
1707 } 1813 }
@@ -1717,9 +1823,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1717 object x5 = arg5; 1823 object x5 = arg5;
1718 object S1 = arg6; 1824 object S1 = arg6;
1719 Variable S = new Variable(); 1825 Variable S = new Variable();
1720 foreach (bool l2 in YP.unify(arg1, new Functor1(@"string", S))) 1826 foreach (bool l2 in YP.unify(arg1, new Functor1("string", S)))
1721 { 1827 {
1722 foreach (bool l3 in cannot_follow(Atom.a(@"chars"), new Functor1(@"string", S), S1)) 1828 foreach (bool l3 in cannot_follow(Atom.a("chars"), new Functor1("string", S), S1))
1723 { 1829 {
1724 yield return false; 1830 yield return false;
1725 } 1831 }
@@ -1732,9 +1838,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1732 object x5 = arg5; 1838 object x5 = arg5;
1733 object S1 = arg6; 1839 object S1 = arg6;
1734 Variable N = new Variable(); 1840 Variable N = new Variable();
1735 foreach (bool l2 in YP.unify(arg1, new Functor1(@"number", N))) 1841 foreach (bool l2 in YP.unify(arg1, new Functor1("number", N)))
1736 { 1842 {
1737 foreach (bool l3 in cannot_follow(Atom.a(@"number"), new Functor1(@"number", N), S1)) 1843 foreach (bool l3 in cannot_follow(Atom.a("number"), new Functor1("number", N), S1))
1738 { 1844 {
1739 yield return false; 1845 yield return false;
1740 } 1846 }
@@ -1746,11 +1852,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1746 object Answer = arg4; 1852 object Answer = arg4;
1747 object S = arg5; 1853 object S = arg5;
1748 Variable S1 = new Variable(); 1854 Variable S1 = new Variable();
1749 foreach (bool l2 in YP.unify(arg1, Atom.a(@"{"))) 1855 foreach (bool l2 in YP.unify(arg1, Atom.a("{")))
1750 { 1856 {
1751 foreach (bool l3 in YP.unify(arg6, new ListPair(Atom.a(@"}"), S1))) 1857 foreach (bool l3 in YP.unify(arg6, new ListPair(Atom.a("}"), S1)))
1752 { 1858 {
1753 foreach (bool l4 in exprtl0_atom(Atom.a(@"{}"), Term, Precedence, Answer, S, S1)) 1859 foreach (bool l4 in exprtl0_atom(Atom.a("{}"), Term, Precedence, Answer, S, S1))
1754 { 1860 {
1755 yield return false; 1861 yield return false;
1756 } 1862 }
@@ -1764,9 +1870,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1764 object x3 = arg4; 1870 object x3 = arg4;
1765 object x4 = arg5; 1871 object x4 = arg5;
1766 object S1 = arg6; 1872 object S1 = arg6;
1767 foreach (bool l2 in YP.unify(arg1, Atom.a(@"{"))) 1873 foreach (bool l2 in YP.unify(arg1, Atom.a("{")))
1768 { 1874 {
1769 foreach (bool l3 in cannot_follow(Atom.a(@"brace"), Atom.a(@"{"), S1)) 1875 foreach (bool l3 in cannot_follow(Atom.a("brace"), Atom.a("{"), S1))
1770 { 1876 {
1771 yield return false; 1877 yield return false;
1772 } 1878 }
@@ -1778,9 +1884,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1778 object Answer = arg4; 1884 object Answer = arg4;
1779 object S = arg5; 1885 object S = arg5;
1780 Variable S1 = new Variable(); 1886 Variable S1 = new Variable();
1781 foreach (bool l2 in YP.unify(arg1, Atom.a(@"["))) 1887 foreach (bool l2 in YP.unify(arg1, Atom.a("[")))
1782 { 1888 {
1783 foreach (bool l3 in YP.unify(arg6, new ListPair(Atom.a(@"]"), S1))) 1889 foreach (bool l3 in YP.unify(arg6, new ListPair(Atom.a("]"), S1)))
1784 { 1890 {
1785 foreach (bool l4 in exprtl0_atom(Atom.NIL, Term, Precedence, Answer, S, S1)) 1891 foreach (bool l4 in exprtl0_atom(Atom.NIL, Term, Precedence, Answer, S, S1))
1786 { 1892 {
@@ -1796,9 +1902,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1796 object x3 = arg4; 1902 object x3 = arg4;
1797 object x4 = arg5; 1903 object x4 = arg5;
1798 object S1 = arg6; 1904 object S1 = arg6;
1799 foreach (bool l2 in YP.unify(arg1, Atom.a(@"["))) 1905 foreach (bool l2 in YP.unify(arg1, Atom.a("[")))
1800 { 1906 {
1801 foreach (bool l3 in cannot_follow(Atom.a(@"bracket"), Atom.a(@"["), S1)) 1907 foreach (bool l3 in cannot_follow(Atom.a("bracket"), Atom.a("["), S1))
1802 { 1908 {
1803 yield return false; 1909 yield return false;
1804 } 1910 }
@@ -1810,9 +1916,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1810 object x3 = arg4; 1916 object x3 = arg4;
1811 object x4 = arg5; 1917 object x4 = arg5;
1812 object S1 = arg6; 1918 object S1 = arg6;
1813 foreach (bool l2 in YP.unify(arg1, Atom.a(@"("))) 1919 foreach (bool l2 in YP.unify(arg1, Atom.a("(")))
1814 { 1920 {
1815 foreach (bool l3 in cannot_follow(Atom.a(@"parenthesis"), Atom.a(@"("), S1)) 1921 foreach (bool l3 in cannot_follow(Atom.a("parenthesis"), Atom.a("("), S1))
1816 { 1922 {
1817 yield return false; 1923 yield return false;
1818 } 1924 }
@@ -1824,9 +1930,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1824 object x3 = arg4; 1930 object x3 = arg4;
1825 object x4 = arg5; 1931 object x4 = arg5;
1826 object S1 = arg6; 1932 object S1 = arg6;
1827 foreach (bool l2 in YP.unify(arg1, Atom.a(@" ("))) 1933 foreach (bool l2 in YP.unify(arg1, Atom.a(" (")))
1828 { 1934 {
1829 foreach (bool l3 in cannot_follow(Atom.a(@"parenthesis"), Atom.a(@"("), S1)) 1935 foreach (bool l3 in cannot_follow(Atom.a("parenthesis"), Atom.a("("), S1))
1830 { 1936 {
1831 yield return false; 1937 yield return false;
1832 } 1938 }
@@ -1841,9 +1947,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1841 Variable A = new Variable(); 1947 Variable A = new Variable();
1842 Variable B = new Variable(); 1948 Variable B = new Variable();
1843 Variable P = new Variable(); 1949 Variable P = new Variable();
1844 foreach (bool l2 in YP.unify(arg1, new Functor3(@"var", A, B, P))) 1950 foreach (bool l2 in YP.unify(arg1, new Functor3("var", A, B, P)))
1845 { 1951 {
1846 foreach (bool l3 in cannot_follow(Atom.a(@"variable"), new Functor3(@"var", A, B, P), S1)) 1952 foreach (bool l3 in cannot_follow(Atom.a("variable"), new Functor3("var", A, B, P), S1))
1847 { 1953 {
1848 yield return false; 1954 yield return false;
1849 } 1955 }
@@ -1857,9 +1963,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1857 object S1 = arg6; 1963 object S1 = arg6;
1858 Variable F = new Variable(); 1964 Variable F = new Variable();
1859 Variable P = new Variable(); 1965 Variable P = new Variable();
1860 foreach (bool l2 in YP.unify(arg1, new Functor2(@"atom", F, P))) 1966 foreach (bool l2 in YP.unify(arg1, new Functor2("atom", F, P)))
1861 { 1967 {
1862 foreach (bool l3 in exprtl0_atom(new Functor2(@"/", F, P), Term, Precedence, Answer, S, S1)) 1968 foreach (bool l3 in exprtl0_atom(new Functor2("/", F, P), Term, Precedence, Answer, S, S1))
1863 { 1969 {
1864 yield return false; 1970 yield return false;
1865 } 1971 }
@@ -1881,23 +1987,23 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1881 Variable R1 = new Variable(); 1987 Variable R1 = new Variable();
1882 Variable L2 = new Variable(); 1988 Variable L2 = new Variable();
1883 Variable O2 = new Variable(); 1989 Variable O2 = new Variable();
1884 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", F, Pos))) 1990 foreach (bool l2 in YP.unify(arg1, new Functor2("/", F, Pos)))
1885 { 1991 {
1886 foreach (bool l3 in ambigop(F, Precedence, L1, O1, R1, L2, O2)) 1992 foreach (bool l3 in ambigop(F, Precedence, L1, O1, R1, L2, O2))
1887 { 1993 {
1888 foreach (bool l4 in prefix_is_atom(S1, Precedence)) 1994 foreach (bool l4 in prefix_is_atom(S1, Precedence))
1889 { 1995 {
1890 foreach (bool l5 in exprtl(new ListPair(new Functor3(Atom.a(@"postfixop", Atom.a(@"")), new Functor2(@"/", F, Pos), L2, O2), S1), 0, Term, Precedence, Answer, S)) 1996 foreach (bool l5 in exprtl(new ListPair(new Functor3(Atom.a("postfixop", Atom.a("")), new Functor2("/", F, Pos), L2, O2), S1), 0, Term, Precedence, Answer, S))
1891 { 1997 {
1892 yield return false; 1998 yield return false;
1893 } 1999 }
1894 yield break; 2000 yield break;
1895 } 2001 }
1896 foreach (bool l4 in exprtl(new ListPair(new Functor(Atom.a(@"infixop", Atom.a(@"")), new object[] { new Functor2(@"/", F, Pos), L1, O1, R1 }), S1), 0, Term, Precedence, Answer, S)) 2002 foreach (bool l4 in exprtl(new ListPair(new Functor(Atom.a("infixop", Atom.a("")), new object[] { new Functor2("/", F, Pos), L1, O1, R1 }), S1), 0, Term, Precedence, Answer, S))
1897 { 2003 {
1898 yield return false; 2004 yield return false;
1899 } 2005 }
1900 foreach (bool l4 in exprtl(new ListPair(new Functor3(Atom.a(@"postfixop", Atom.a(@"")), new Functor2(@"/", F, Pos), L2, O2), S1), 0, Term, Precedence, Answer, S)) 2006 foreach (bool l4 in exprtl(new ListPair(new Functor3(Atom.a("postfixop", Atom.a("")), new Functor2("/", F, Pos), L2, O2), S1), 0, Term, Precedence, Answer, S))
1901 { 2007 {
1902 yield return false; 2008 yield return false;
1903 } 2009 }
@@ -1915,11 +2021,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1915 Variable L1 = new Variable(); 2021 Variable L1 = new Variable();
1916 Variable O1 = new Variable(); 2022 Variable O1 = new Variable();
1917 Variable R1 = new Variable(); 2023 Variable R1 = new Variable();
1918 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", F, Pos))) 2024 foreach (bool l2 in YP.unify(arg1, new Functor2("/", F, Pos)))
1919 { 2025 {
1920 foreach (bool l3 in infixop(F, L1, O1, R1)) 2026 foreach (bool l3 in infixop(F, L1, O1, R1))
1921 { 2027 {
1922 foreach (bool l4 in exprtl(new ListPair(new Functor(Atom.a(@"infixop", Atom.a(@"")), new object[] { new Functor2(@"/", F, Pos), L1, O1, R1 }), S1), 0, Term, Precedence, Answer, S)) 2028 foreach (bool l4 in exprtl(new ListPair(new Functor(Atom.a("infixop", Atom.a("")), new object[] { new Functor2("/", F, Pos), L1, O1, R1 }), S1), 0, Term, Precedence, Answer, S))
1923 { 2029 {
1924 yield return false; 2030 yield return false;
1925 } 2031 }
@@ -1936,11 +2042,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1936 Variable Pos = new Variable(); 2042 Variable Pos = new Variable();
1937 Variable L2 = new Variable(); 2043 Variable L2 = new Variable();
1938 Variable O2 = new Variable(); 2044 Variable O2 = new Variable();
1939 foreach (bool l2 in YP.unify(arg1, new Functor2(@"/", F, Pos))) 2045 foreach (bool l2 in YP.unify(arg1, new Functor2("/", F, Pos)))
1940 { 2046 {
1941 foreach (bool l3 in postfixop(F, L2, O2)) 2047 foreach (bool l3 in postfixop(F, L2, O2))
1942 { 2048 {
1943 foreach (bool l4 in exprtl(new ListPair(new Functor3(Atom.a(@"postfixop", Atom.a(@"")), new Functor2(@"/", F, Pos), L2, O2), S1), 0, Term, Precedence, Answer, S)) 2049 foreach (bool l4 in exprtl(new ListPair(new Functor3(Atom.a("postfixop", Atom.a("")), new Functor2("/", F, Pos), L2, O2), S1), 0, Term, Precedence, Answer, S))
1944 { 2050 {
1945 yield return false; 2051 yield return false;
1946 } 2052 }
@@ -1955,7 +2061,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1955 object x4 = arg4; 2061 object x4 = arg4;
1956 object x5 = arg5; 2062 object x5 = arg5;
1957 Variable x7 = new Variable(); 2063 Variable x7 = new Variable();
1958 foreach (bool l2 in syntax_error(new ListPair(new Functor2(@"-", Atom.a(@"non"), Atom.a(@"operator")), new ListPair(X, new ListPair(Atom.a(@"follows"), new ListPair(Atom.a(@"expression"), Atom.NIL)))), new ListPair(new Functor2(@"atom", X, x7), S1))) 2064 foreach (bool l2 in syntax_error(ListPair.make(new object[] { new Functor2("-", Atom.a("non"), Atom.a("operator")), X, Atom.a("follows"), Atom.a("expression") }), new ListPair(new Functor2("atom", X, x7), S1)))
1959 { 2065 {
1960 yield return false; 2066 yield return false;
1961 } 2067 }
@@ -1966,7 +2072,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
1966 public static IEnumerable<bool> cannot_follow(object Type, object Token, object Tokens) 2072 public static IEnumerable<bool> cannot_follow(object Type, object Token, object Tokens)
1967 { 2073 {
1968 { 2074 {
1969 foreach (bool l2 in syntax_error(new ListPair(Type, new ListPair(Atom.a(@"follows"), new ListPair(Atom.a(@"expression"), Atom.NIL))), new ListPair(Token, Tokens))) 2075 foreach (bool l2 in syntax_error(ListPair.make(new object[] { Type, Atom.a("follows"), Atom.a("expression") }), new ListPair(Token, Tokens)))
1970 { 2076 {
1971 yield return false; 2077 yield return false;
1972 } 2078 }
@@ -2028,7 +2134,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2028 Variable Other = new Variable(); 2134 Variable Other = new Variable();
2029 Variable S2 = new Variable(); 2135 Variable S2 = new Variable();
2030 Variable Expr = new Variable(); 2136 Variable Expr = new Variable();
2031 foreach (bool l2 in YP.unify(arg1, new Functor(Atom.a(@"infixop", Atom.a(@"")), new object[] { new Functor2(@"/", F, Pos), L, O, R }))) 2137 foreach (bool l2 in YP.unify(arg1, new Functor(Atom.a("infixop", Atom.a("")), new object[] { new Functor2("/", F, Pos), L, O, R })))
2032 { 2138 {
2033 if (YP.greaterThanOrEqual(Precedence, O)) 2139 if (YP.greaterThanOrEqual(Precedence, O))
2034 { 2140 {
@@ -2036,7 +2142,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2036 { 2142 {
2037 foreach (bool l5 in parse(S1, R, Other, S2)) 2143 foreach (bool l5 in parse(S1, R, Other, S2))
2038 { 2144 {
2039 foreach (bool l6 in YP.univ(Expr, new ListPair(F, new ListPair(Pos, new ListPair(Term, new ListPair(Other, Atom.NIL)))))) 2145 foreach (bool l6 in YP.univ(Expr, ListPair.make(new object[] { F, Pos, Term, Other })))
2040 { 2146 {
2041 foreach (bool l7 in exprtl(S2, O, Expr, Precedence, Answer, S)) 2147 foreach (bool l7 in exprtl(S2, O, Expr, Precedence, Answer, S))
2042 { 2148 {
@@ -2062,13 +2168,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2062 Variable O = new Variable(); 2168 Variable O = new Variable();
2063 Variable Expr = new Variable(); 2169 Variable Expr = new Variable();
2064 Variable S2 = new Variable(); 2170 Variable S2 = new Variable();
2065 foreach (bool l2 in YP.unify(arg1, new Functor3(Atom.a(@"postfixop", Atom.a(@"")), new Functor2(@"/", F, Pos), L, O))) 2171 foreach (bool l2 in YP.unify(arg1, new Functor3(Atom.a("postfixop", Atom.a("")), new Functor2("/", F, Pos), L, O)))
2066 { 2172 {
2067 if (YP.greaterThanOrEqual(Precedence, O)) 2173 if (YP.greaterThanOrEqual(Precedence, O))
2068 { 2174 {
2069 if (YP.lessThanOrEqual(C, L)) 2175 if (YP.lessThanOrEqual(C, L))
2070 { 2176 {
2071 foreach (bool l5 in YP.univ(Expr, new ListPair(F, new ListPair(Pos, new ListPair(Term, Atom.NIL))))) 2177 foreach (bool l5 in YP.univ(Expr, ListPair.make(new object[] { F, Pos, Term })))
2072 { 2178 {
2073 foreach (bool l6 in peepop(S1, S2)) 2179 foreach (bool l6 in peepop(S1, S2))
2074 { 2180 {
@@ -2092,7 +2198,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2092 object S1 = arg7; 2198 object S1 = arg7;
2093 Variable Next = new Variable(); 2199 Variable Next = new Variable();
2094 Variable S2 = new Variable(); 2200 Variable S2 = new Variable();
2095 foreach (bool l2 in YP.unify(arg1, Atom.a(@","))) 2201 foreach (bool l2 in YP.unify(arg1, Atom.a(",")))
2096 { 2202 {
2097 if (YP.greaterThanOrEqual(Precedence, 1000)) 2203 if (YP.greaterThanOrEqual(Precedence, 1000))
2098 { 2204 {
@@ -2100,7 +2206,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2100 { 2206 {
2101 foreach (bool l5 in parse(S1, 1000, Next, S2)) 2207 foreach (bool l5 in parse(S1, 1000, Next, S2))
2102 { 2208 {
2103 foreach (bool l6 in exprtl(S2, 1000, new Functor2(@",", Term, Next), Precedence, Answer, S)) 2209 foreach (bool l6 in exprtl(S2, 1000, new Functor2(",", Term, Next), Precedence, Answer, S))
2104 { 2210 {
2105 yield return false; 2211 yield return false;
2106 } 2212 }
@@ -2119,7 +2225,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2119 object S1 = arg7; 2225 object S1 = arg7;
2120 Variable Next = new Variable(); 2226 Variable Next = new Variable();
2121 Variable S2 = new Variable(); 2227 Variable S2 = new Variable();
2122 foreach (bool l2 in YP.unify(arg1, Atom.a(@"|"))) 2228 foreach (bool l2 in YP.unify(arg1, Atom.a("|")))
2123 { 2229 {
2124 if (YP.greaterThanOrEqual(Precedence, 1100)) 2230 if (YP.greaterThanOrEqual(Precedence, 1100))
2125 { 2231 {
@@ -2127,7 +2233,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2127 { 2233 {
2128 foreach (bool l5 in parse(S1, 1100, Next, S2)) 2234 foreach (bool l5 in parse(S1, 1100, Next, S2))
2129 { 2235 {
2130 foreach (bool l6 in exprtl(S2, 1100, new Functor2(@";", Term, Next), Precedence, Answer, S)) 2236 foreach (bool l6 in exprtl(S2, 1100, new Functor2(";", Term, Next), Precedence, Answer, S))
2131 { 2237 {
2132 yield return false; 2238 yield return false;
2133 } 2239 }
@@ -2161,6 +2267,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2161 { 2267 {
2162 yield break; 2268 yield break;
2163 } 2269 }
2270 foreach (bool l1 in YP.fail())
2271 {
2272 yield return false;
2273 }
2164 } 2274 }
2165 2275
2166 public static IEnumerable<bool> syntax_error(object _List) 2276 public static IEnumerable<bool> syntax_error(object _List)
@@ -2168,12 +2278,16 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2168 { 2278 {
2169 yield break; 2279 yield break;
2170 } 2280 }
2281 foreach (bool l1 in YP.fail())
2282 {
2283 yield return false;
2284 }
2171 } 2285 }
2172 2286
2173 public static IEnumerable<bool> prefixop(object F, object O, object Q) 2287 public static IEnumerable<bool> prefixop(object F, object O, object Q)
2174 { 2288 {
2175 { 2289 {
2176 foreach (bool l2 in YP.current_op(O, Atom.a(@"fx"), F)) 2290 foreach (bool l2 in YP.current_op(O, Atom.a("fx"), F))
2177 { 2291 {
2178 foreach (bool l3 in YP.unify(Q, YP.subtract(O, 1))) 2292 foreach (bool l3 in YP.unify(Q, YP.subtract(O, 1)))
2179 { 2293 {
@@ -2181,7 +2295,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2181 } 2295 }
2182 goto cutIf1; 2296 goto cutIf1;
2183 } 2297 }
2184 foreach (bool l2 in YP.current_op(O, Atom.a(@"fy"), F)) 2298 foreach (bool l2 in YP.current_op(O, Atom.a("fy"), F))
2185 { 2299 {
2186 foreach (bool l3 in YP.unify(Q, O)) 2300 foreach (bool l3 in YP.unify(Q, O))
2187 { 2301 {
@@ -2198,7 +2312,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2198 public static IEnumerable<bool> postfixop(object F, object P, object O) 2312 public static IEnumerable<bool> postfixop(object F, object P, object O)
2199 { 2313 {
2200 { 2314 {
2201 foreach (bool l2 in YP.current_op(O, Atom.a(@"xf"), F)) 2315 foreach (bool l2 in YP.current_op(O, Atom.a("xf"), F))
2202 { 2316 {
2203 foreach (bool l3 in YP.unify(P, YP.subtract(O, 1))) 2317 foreach (bool l3 in YP.unify(P, YP.subtract(O, 1)))
2204 { 2318 {
@@ -2206,7 +2320,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2206 } 2320 }
2207 goto cutIf1; 2321 goto cutIf1;
2208 } 2322 }
2209 foreach (bool l2 in YP.current_op(O, Atom.a(@"yf"), F)) 2323 foreach (bool l2 in YP.current_op(O, Atom.a("yf"), F))
2210 { 2324 {
2211 foreach (bool l3 in YP.unify(P, O)) 2325 foreach (bool l3 in YP.unify(P, O))
2212 { 2326 {
@@ -2223,7 +2337,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2223 public static IEnumerable<bool> infixop(object F, object P, object O, object Q) 2337 public static IEnumerable<bool> infixop(object F, object P, object O, object Q)
2224 { 2338 {
2225 { 2339 {
2226 foreach (bool l2 in YP.current_op(O, Atom.a(@"xfy"), F)) 2340 foreach (bool l2 in YP.current_op(O, Atom.a("xfy"), F))
2227 { 2341 {
2228 foreach (bool l3 in YP.unify(P, YP.subtract(O, 1))) 2342 foreach (bool l3 in YP.unify(P, YP.subtract(O, 1)))
2229 { 2343 {
@@ -2234,7 +2348,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2234 } 2348 }
2235 goto cutIf1; 2349 goto cutIf1;
2236 } 2350 }
2237 foreach (bool l2 in YP.current_op(O, Atom.a(@"xfx"), F)) 2351 foreach (bool l2 in YP.current_op(O, Atom.a("xfx"), F))
2238 { 2352 {
2239 foreach (bool l3 in YP.unify(P, YP.subtract(O, 1))) 2353 foreach (bool l3 in YP.unify(P, YP.subtract(O, 1)))
2240 { 2354 {
@@ -2245,7 +2359,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2245 } 2359 }
2246 goto cutIf2; 2360 goto cutIf2;
2247 } 2361 }
2248 foreach (bool l2 in YP.current_op(O, Atom.a(@"yfx"), F)) 2362 foreach (bool l2 in YP.current_op(O, Atom.a("yfx"), F))
2249 { 2363 {
2250 foreach (bool l3 in YP.unify(Q, YP.subtract(O, 1))) 2364 foreach (bool l3 in YP.unify(Q, YP.subtract(O, 1)))
2251 { 2365 {
@@ -2302,7 +2416,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2302 } 2416 }
2303 } 2417 }
2304 { 2418 {
2305 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"atom", Atom.a(@"end_of_file"), 0), Atom.NIL))) 2419 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("atom", Atom.a("end_of_file"), 0), Atom.NIL)))
2306 { 2420 {
2307 yield return false; 2421 yield return false;
2308 } 2422 }
@@ -2336,7 +2450,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2336 } 2450 }
2337 } 2451 }
2338 { 2452 {
2339 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"atom", Atom.a(@"end_of_file"), 0), Atom.NIL))) 2453 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("atom", Atom.a("end_of_file"), 0), Atom.NIL)))
2340 { 2454 {
2341 foreach (bool l3 in YP.unify(arg2, Atom.NIL)) 2455 foreach (bool l3 in YP.unify(arg2, Atom.NIL))
2342 { 2456 {
@@ -2407,7 +2521,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2407 Variable NextCh = new Variable(); 2521 Variable NextCh = new Variable();
2408 foreach (bool l2 in YP.unify(arg1, 37)) 2522 foreach (bool l2 in YP.unify(arg1, 37))
2409 { 2523 {
2410 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2(@"comment", StartPos, EndPos), Tokens))) 2524 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2("comment", StartPos, EndPos), Tokens)))
2411 { 2525 {
2412 foreach (bool l4 in get_current_position(StartPos)) 2526 foreach (bool l4 in get_current_position(StartPos))
2413 { 2527 {
@@ -2456,7 +2570,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2456 { 2570 {
2457 if (YP.equal(C2, new ListPair(42, Atom.NIL))) 2571 if (YP.equal(C2, new ListPair(42, Atom.NIL)))
2458 { 2572 {
2459 foreach (bool l5 in YP.unify(T, new ListPair(new Functor2(@"comment", StartPos, EndPos), Tokens))) 2573 foreach (bool l5 in YP.unify(T, new ListPair(new Functor2("comment", StartPos, EndPos), Tokens)))
2460 { 2574 {
2461 foreach (bool l6 in get_current_position(StartPos1)) 2575 foreach (bool l6 in get_current_position(StartPos1))
2462 { 2576 {
@@ -2498,7 +2612,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2498 Variable NextCh = new Variable(); 2612 Variable NextCh = new Variable();
2499 foreach (bool l2 in YP.unify(arg1, 33)) 2613 foreach (bool l2 in YP.unify(arg1, 33))
2500 { 2614 {
2501 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2(@"atom", Atom.a(@"!"), Pos), Tokens))) 2615 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2("atom", Atom.a("!"), Pos), Tokens)))
2502 { 2616 {
2503 foreach (bool l4 in get_current_position(Pos)) 2617 foreach (bool l4 in get_current_position(Pos))
2504 { 2618 {
@@ -2518,7 +2632,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2518 Variable NextCh = new Variable(); 2632 Variable NextCh = new Variable();
2519 foreach (bool l2 in YP.unify(arg1, 40)) 2633 foreach (bool l2 in YP.unify(arg1, 40))
2520 { 2634 {
2521 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(@" ("), Tokens))) 2635 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(" ("), Tokens)))
2522 { 2636 {
2523 foreach (bool l4 in YP.get_code(NextCh)) 2637 foreach (bool l4 in YP.get_code(NextCh))
2524 { 2638 {
@@ -2535,7 +2649,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2535 Variable NextCh = new Variable(); 2649 Variable NextCh = new Variable();
2536 foreach (bool l2 in YP.unify(arg1, 41)) 2650 foreach (bool l2 in YP.unify(arg1, 41))
2537 { 2651 {
2538 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(@")"), Tokens))) 2652 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(")"), Tokens)))
2539 { 2653 {
2540 foreach (bool l4 in YP.get_code(NextCh)) 2654 foreach (bool l4 in YP.get_code(NextCh))
2541 { 2655 {
@@ -2552,7 +2666,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2552 Variable NextCh = new Variable(); 2666 Variable NextCh = new Variable();
2553 foreach (bool l2 in YP.unify(arg1, 44)) 2667 foreach (bool l2 in YP.unify(arg1, 44))
2554 { 2668 {
2555 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(@","), Tokens))) 2669 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(","), Tokens)))
2556 { 2670 {
2557 foreach (bool l4 in YP.get_code(NextCh)) 2671 foreach (bool l4 in YP.get_code(NextCh))
2558 { 2672 {
@@ -2570,7 +2684,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2570 Variable NextCh = new Variable(); 2684 Variable NextCh = new Variable();
2571 foreach (bool l2 in YP.unify(arg1, 59)) 2685 foreach (bool l2 in YP.unify(arg1, 59))
2572 { 2686 {
2573 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2(@"atom", Atom.a(@";"), Pos), Tokens))) 2687 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2("atom", Atom.a(";"), Pos), Tokens)))
2574 { 2688 {
2575 foreach (bool l4 in get_current_position(Pos)) 2689 foreach (bool l4 in get_current_position(Pos))
2576 { 2690 {
@@ -2591,7 +2705,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2591 Variable NextCh = new Variable(); 2705 Variable NextCh = new Variable();
2592 foreach (bool l2 in YP.unify(arg1, 91)) 2706 foreach (bool l2 in YP.unify(arg1, 91))
2593 { 2707 {
2594 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2(@"/", Atom.a(@"["), Pos), Tokens))) 2708 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2("/", Atom.a("["), Pos), Tokens)))
2595 { 2709 {
2596 foreach (bool l4 in get_current_position(Pos)) 2710 foreach (bool l4 in get_current_position(Pos))
2597 { 2711 {
@@ -2612,7 +2726,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2612 Variable NextCh = new Variable(); 2726 Variable NextCh = new Variable();
2613 foreach (bool l2 in YP.unify(arg1, 93)) 2727 foreach (bool l2 in YP.unify(arg1, 93))
2614 { 2728 {
2615 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2(@"/", Atom.a(@"]"), Pos), Tokens))) 2729 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2("/", Atom.a("]"), Pos), Tokens)))
2616 { 2730 {
2617 foreach (bool l4 in get_current_position(Pos)) 2731 foreach (bool l4 in get_current_position(Pos))
2618 { 2732 {
@@ -2633,7 +2747,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2633 Variable NextCh = new Variable(); 2747 Variable NextCh = new Variable();
2634 foreach (bool l2 in YP.unify(arg1, 123)) 2748 foreach (bool l2 in YP.unify(arg1, 123))
2635 { 2749 {
2636 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2(@"/", Atom.a(@"{"), Pos), Tokens))) 2750 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor2("/", Atom.a("{"), Pos), Tokens)))
2637 { 2751 {
2638 foreach (bool l4 in get_current_position(Pos)) 2752 foreach (bool l4 in get_current_position(Pos))
2639 { 2753 {
@@ -2653,7 +2767,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2653 Variable NextCh = new Variable(); 2767 Variable NextCh = new Variable();
2654 foreach (bool l2 in YP.unify(arg1, 124)) 2768 foreach (bool l2 in YP.unify(arg1, 124))
2655 { 2769 {
2656 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(@"|"), Tokens))) 2770 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a("|"), Tokens)))
2657 { 2771 {
2658 foreach (bool l4 in YP.get_code(NextCh)) 2772 foreach (bool l4 in YP.get_code(NextCh))
2659 { 2773 {
@@ -2670,7 +2784,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2670 Variable NextCh = new Variable(); 2784 Variable NextCh = new Variable();
2671 foreach (bool l2 in YP.unify(arg1, 125)) 2785 foreach (bool l2 in YP.unify(arg1, 125))
2672 { 2786 {
2673 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(@"}"), Tokens))) 2787 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a("}"), Tokens)))
2674 { 2788 {
2675 foreach (bool l4 in YP.get_code(NextCh)) 2789 foreach (bool l4 in YP.get_code(NextCh))
2676 { 2790 {
@@ -2702,7 +2816,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
2702 Variable NextCh = new Variable(); 2816 Variable NextCh = new Variable();
2703 foreach (bool l2 in YP.unify(arg1, 34)) 2817 foreach (bool l2 in YP.unify(arg1, 34))
2704 { 2818 {
2705 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor1(@"string", Chars), Tokens))) 2819 foreach (bool l3 in YP.unify(arg3, new ListPair(new Functor1("string", Chars), Tokens)))
2706 { 2820 {
2707 foreach (bool l4 in read_string(Chars, 34, NextCh)) 2821 foreach (bool l4 in read_string(Chars, 34, NextCh))
2708 { 2822 {
@@ -3098,7 +3212,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3098 Variable Atom_1 = new Variable(); 3212 Variable Atom_1 = new Variable();
3099 Variable Pos = new Variable(); 3213 Variable Pos = new Variable();
3100 Variable Tokens = new Variable(); 3214 Variable Tokens = new Variable();
3101 foreach (bool l2 in YP.unify(arg3, new ListPair(new Functor2(@"atom", Atom_1, Pos), Tokens))) 3215 foreach (bool l2 in YP.unify(arg3, new ListPair(new Functor2("atom", Atom_1, Pos), Tokens)))
3102 { 3216 {
3103 foreach (bool l3 in YP.unify(Pos, 0)) 3217 foreach (bool l3 in YP.unify(Pos, 0))
3104 { 3218 {
@@ -3121,7 +3235,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3121 Variable NextCh = new Variable(); 3235 Variable NextCh = new Variable();
3122 foreach (bool l2 in YP.unify(arg1, 40)) 3236 foreach (bool l2 in YP.unify(arg1, 40))
3123 { 3237 {
3124 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a(@"("), Tokens))) 3238 foreach (bool l3 in YP.unify(arg3, new ListPair(Atom.a("("), Tokens)))
3125 { 3239 {
3126 foreach (bool l4 in YP.get_code(NextCh)) 3240 foreach (bool l4 in YP.get_code(NextCh))
3127 { 3241 {
@@ -3397,7 +3511,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3397 Variable Tokens = new Variable(); 3511 Variable Tokens = new Variable();
3398 Variable Chars = new Variable(); 3512 Variable Chars = new Variable();
3399 Variable NextCh = new Variable(); 3513 Variable NextCh = new Variable();
3400 foreach (bool l2 in YP.unify(arg3, new ListPair(new Functor3(@"var", Var, Name, StartPos), Tokens))) 3514 foreach (bool l2 in YP.unify(arg3, new ListPair(new Functor3("var", Var, Name, StartPos), Tokens)))
3401 { 3515 {
3402 foreach (bool l3 in get_current_position(StartPos)) 3516 foreach (bool l3 in get_current_position(StartPos))
3403 { 3517 {
@@ -3405,7 +3519,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3405 { 3519 {
3406 foreach (bool l5 in YP.atom_codes(Name, Chars)) 3520 foreach (bool l5 in YP.atom_codes(Name, Chars))
3407 { 3521 {
3408 if (YP.termEqual(Name, Atom.a(@"_"))) 3522 if (YP.termEqual(Name, Atom.a("_")))
3409 { 3523 {
3410 foreach (bool l7 in read_after_atom(NextCh, Dict, Tokens)) 3524 foreach (bool l7 in read_after_atom(NextCh, Dict, Tokens))
3411 { 3525 {
@@ -3435,7 +3549,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3435 Variable N = new Variable(); 3549 Variable N = new Variable();
3436 Variable V = new Variable(); 3550 Variable V = new Variable();
3437 Variable L = new Variable(); 3551 Variable L = new Variable();
3438 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2(@"=", N, V), L))) 3552 foreach (bool l2 in YP.unify(arg1, new ListPair(new Functor2("=", N, V), L)))
3439 { 3553 {
3440 foreach (bool l3 in YP.unify(N, Name)) 3554 foreach (bool l3 in YP.unify(N, Name))
3441 { 3555 {
@@ -3493,7 +3607,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3493 } 3607 }
3494 foreach (bool l2 in YP.unify(LastCh, Ch)) 3608 foreach (bool l2 in YP.unify(LastCh, Ch))
3495 { 3609 {
3496 foreach (bool l3 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** end of file in /*comment~n"), Atom.NIL)) 3610 foreach (bool l3 in formatError(Atom.a("user_error"), Atom.a("~N** end of file in /*comment~n"), Atom.NIL))
3497 { 3611 {
3498 yield return false; 3612 yield return false;
3499 } 3613 }
@@ -3633,7 +3747,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3633 { 3747 {
3634 if (YP.greaterThanOrEqual(Ch, new ListPair(48, Atom.NIL))) 3748 if (YP.greaterThanOrEqual(Ch, new ListPair(48, Atom.NIL)))
3635 { 3749 {
3636 foreach (bool l4 in YP.unify(Tokens, new ListPair(new Functor1(@"number", Number), Tokens1))) 3750 foreach (bool l4 in YP.unify(Tokens, new ListPair(new Functor1("number", Number), Tokens1)))
3637 { 3751 {
3638 foreach (bool l5 in read_float(Number, Dict, Tokens1, new ListPair(48, Atom.NIL), Ch)) 3752 foreach (bool l5 in read_float(Number, Dict, Tokens1, new ListPair(48, Atom.NIL), Ch))
3639 { 3753 {
@@ -3662,7 +3776,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3662 } 3776 }
3663 goto cutIf3; 3777 goto cutIf3;
3664 } 3778 }
3665 foreach (bool l2 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** end of file just after full stop~n"), Atom.NIL)) 3779 foreach (bool l2 in formatError(Atom.a("user_error"), Atom.a("~N** end of file just after full stop~n"), Atom.NIL))
3666 { 3780 {
3667 } 3781 }
3668 cutIf3: 3782 cutIf3:
@@ -3680,7 +3794,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3680 Variable NextCh = new Variable(); 3794 Variable NextCh = new Variable();
3681 foreach (bool l2 in prepend(Digits, Chars, Rest)) 3795 foreach (bool l2 in prepend(Digits, Chars, Rest))
3682 { 3796 {
3683 foreach (bool l3 in read_float(Digit, Rest, NextCh, Chars)) 3797 foreach (bool l3 in read_float4(Digit, Rest, NextCh, Chars))
3684 { 3798 {
3685 foreach (bool l4 in YP.number_codes(Number, Chars)) 3799 foreach (bool l4 in YP.number_codes(Number, Chars))
3686 { 3800 {
@@ -3724,7 +3838,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3724 } 3838 }
3725 } 3839 }
3726 3840
3727 public static IEnumerable<bool> read_float(object C1, object arg2, object NextCh, object Total) 3841 public static IEnumerable<bool> read_float4(object C1, object arg2, object NextCh, object Total)
3728 { 3842 {
3729 { 3843 {
3730 Variable Chars = new Variable(); 3844 Variable Chars = new Variable();
@@ -3740,7 +3854,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3740 { 3854 {
3741 if (YP.lessThanOrEqual(C2, new ListPair(57, Atom.NIL))) 3855 if (YP.lessThanOrEqual(C2, new ListPair(57, Atom.NIL)))
3742 { 3856 {
3743 foreach (bool l6 in read_float(C2, Chars, NextCh, Total)) 3857 foreach (bool l6 in read_float4(C2, Chars, NextCh, Total))
3744 { 3858 {
3745 yield return false; 3859 yield return false;
3746 } 3860 }
@@ -3770,7 +3884,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3770 } 3884 }
3771 foreach (bool l9 in YP.unify(More, Atom.NIL)) 3885 foreach (bool l9 in YP.unify(More, Atom.NIL))
3772 { 3886 {
3773 foreach (bool l10 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** Missing exponent in ~s~n"), new ListPair(Total, Atom.NIL))) 3887 foreach (bool l10 in formatError(Atom.a("user_error"), Atom.a("~N** Missing exponent in ~s~n"), new ListPair(Total, Atom.NIL)))
3774 { 3888 {
3775 } 3889 }
3776 } 3890 }
@@ -3806,7 +3920,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3806 } 3920 }
3807 foreach (bool l9 in YP.unify(More, Atom.NIL)) 3921 foreach (bool l9 in YP.unify(More, Atom.NIL))
3808 { 3922 {
3809 foreach (bool l10 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** Missing exponent in ~s~n"), new ListPair(Total, Atom.NIL))) 3923 foreach (bool l10 in formatError(Atom.a("user_error"), Atom.a("~N** Missing exponent in ~s~n"), new ListPair(Total, Atom.NIL)))
3810 { 3924 {
3811 } 3925 }
3812 } 3926 }
@@ -3840,7 +3954,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3840 } 3954 }
3841 foreach (bool l8 in YP.unify(More, Atom.NIL)) 3955 foreach (bool l8 in YP.unify(More, Atom.NIL))
3842 { 3956 {
3843 foreach (bool l9 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** Missing exponent in ~s~n"), new ListPair(Total, Atom.NIL))) 3957 foreach (bool l9 in formatError(Atom.a("user_error"), Atom.a("~N** Missing exponent in ~s~n"), new ListPair(Total, Atom.NIL)))
3844 { 3958 {
3845 } 3959 }
3846 } 3960 }
@@ -3920,7 +4034,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3920 Variable C = new Variable(); 4034 Variable C = new Variable();
3921 Variable C3 = new Variable(); 4035 Variable C3 = new Variable();
3922 Variable Digits = new Variable(); 4036 Variable Digits = new Variable();
3923 foreach (bool l2 in YP.unify(arg3, new ListPair(new Functor1(@"number", Number), Tokens))) 4037 foreach (bool l2 in YP.unify(arg3, new ListPair(new Functor1("number", Number), Tokens)))
3924 { 4038 {
3925 foreach (bool l3 in read_number4(C1, C2, 0, N)) 4039 foreach (bool l3 in read_number4(C1, C2, 0, N))
3926 { 4040 {
@@ -3954,7 +4068,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
3954 } 4068 }
3955 goto cutIf3; 4069 goto cutIf3;
3956 } 4070 }
3957 foreach (bool l5 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** ~d' read as ~d '~n"), new ListPair(N, new ListPair(N, Atom.NIL)))) 4071 foreach (bool l5 in formatError(Atom.a("user_error"), Atom.a("~N** ~d' read as ~d '~n"), new ListPair(N, new ListPair(N, Atom.NIL))))
3958 { 4072 {
3959 foreach (bool l6 in YP.unify(Number, N)) 4073 foreach (bool l6 in YP.unify(Number, N))
3960 { 4074 {
@@ -4240,7 +4354,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
4240 { 4354 {
4241 if (YP.lessThan(C1, 0)) 4355 if (YP.lessThan(C1, 0))
4242 { 4356 {
4243 foreach (bool l5 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** end of file in ~cquoted~c~n"), new ListPair(Quote, new ListPair(Quote, Atom.NIL)))) 4357 foreach (bool l5 in formatError(Atom.a("user_error"), Atom.a("~N** end of file in ~cquoted~c~n"), new ListPair(Quote, new ListPair(Quote, Atom.NIL))))
4244 { 4358 {
4245 foreach (bool l6 in YP.unify(Result, -1)) 4359 foreach (bool l6 in YP.unify(Result, -1))
4246 { 4360 {
@@ -4332,7 +4446,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
4332 { 4446 {
4333 if (YP.lessThan(C2, 0)) 4447 if (YP.lessThan(C2, 0))
4334 { 4448 {
4335 foreach (bool l7 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** end of file in ~c..~c^..~c~n"), new ListPair(Quote, new ListPair(92, new ListPair(Quote, Atom.NIL))))) 4449 foreach (bool l7 in formatError(Atom.a("user_error"), Atom.a("~N** end of file in ~c..~c^..~c~n"), ListPair.make(new object[] { Quote, 92, Quote })))
4336 { 4450 {
4337 foreach (bool l8 in YP.unify(Result, -1)) 4451 foreach (bool l8 in YP.unify(Result, -1))
4338 { 4452 {
@@ -4432,7 +4546,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
4432 { 4546 {
4433 foreach (bool l7 in YP.unify(Next, Char)) 4547 foreach (bool l7 in YP.unify(Next, Char))
4434 { 4548 {
4435 foreach (bool l8 in formatError(Atom.a(@"user_error"), Atom.a(@"~N** Strange character ~d ends ~ctoken~c~n"), new ListPair(Char, new ListPair(Quote, new ListPair(Quote, Atom.NIL))))) 4549 foreach (bool l8 in formatError(Atom.a("user_error"), Atom.a("~N** Strange character ~d ends ~ctoken~c~n"), ListPair.make(new object[] { Char, Quote, Quote })))
4436 { 4550 {
4437 yield return false; 4551 yield return false;
4438 } 4552 }
@@ -4456,6 +4570,6 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog
4456 { } 4570 { }
4457 } 4571 }
4458 } 4572 }
4459 #pragma warning restore 0168, 0219 4573#pragma warning restore 0168, 0219, 0162
4460 } 4574 }
4461} 4575}