Inheritance: AbstractPredicate
示例#1
0
        private void InstallLocalPredicates()
        {
            // Input/Output
            _predicates["write/1"] = new WritePredicate();
            _predicates["writeln/1"] = new WriteLnPredicate();
            _predicates["nl/0"] = new NlPredicate();
            _predicates["get0/1"] = new Get0Predicate();
            _predicates["skip/1"] = new SkipPredicate();
            _predicates["put/1"] = new PutPredicate();

            // Comparison, numeric
            _predicates["=\\=/2"] = new NotEqualsPredicate();
            _predicates["=:=/2"] = new EqualsPredicate();
            _predicates[">=/2"] = new GreaterThanEqualPredicate();
            _predicates[">/2"] = new GreaterThanPredicate();
            _predicates["=</2"] = new LessThanEqualPredicate();
            _predicates["</2"] = new LessThanPredicate();

            // Control
            _predicates["call/1"] = new CallPredicate();

            // Equality
            _predicates["=/2"] = new UnifyPredicate();
            _predicates["\\=/2"] = new NotUnifiablePredicate();

            // Meta
            _predicates["is/2"] = new IsPredicate();
            _predicates["atom/1"] = new AtomPredicate();
            _predicates["bound/1"] = new BoundPredicate();
            _predicates["char/1"] = new CharPredicate();
            _predicates["free/1"] = new FreePredicate();
            _predicates["integer/1"] = new IntegerPredicate();
            _predicates["nonvar/1"] = new NonVarPredicate();
            _predicates["var/1"] = new VarPredicate();

            // Object-Oriented Programming
            _predicates["object/2"] = new object_2();
            _predicates["invoke/3"] = new invoke_2();
            _predicates["get_property/3"] = new get_property_3();

            // .NET Reflection
        }