Changeset 4440 for trunk/compiler
- Timestamp:
- 08/21/08 04:06:57 (5 months ago)
- Files:
-
- 1 modified
-
trunk/compiler/logtalk.pl (modified) (82 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/compiler/logtalk.pl
r4434 r4440 335 335 336 336 '$lgt_runtime_error_handler'(error(existence_error(procedure, TFunctor/8), _)) :- 337 once((atom_concat(ObjArity, '__idcl', TFunctor); atom_concat(ObjArity, '__dcl', TFunctor))), 337 once(( atom_concat(ObjArity, '__idcl', TFunctor) 338 ; atom_concat(ObjArity, '__dcl', TFunctor) 339 )), 338 340 atom_chars(ObjArity, ObjArityChars), 339 341 '$lgt_append'(FunctorChars, ['_', ArityChar| ArityChars], ObjArityChars), … … 361 363 362 364 '$lgt_runtime_error_handler'(error(existence_error(procedure, TFunctor1/TArity1), context(':'(_, TFunctor2/TArity2), _))) :- 365 !, 363 366 '$lgt_runtime_error_handler'(error(existence_error(procedure, TFunctor1/TArity1), context(TFunctor2/TArity2, _))). 364 367 … … 402 405 403 406 '$lgt_runtime_error_handler'(logtalk_debugger_aborted) :- 407 !, 404 408 write('Debugging session aborted by user. Debugger still on.'), nl, 405 409 abort. … … 1415 1419 1416 1420 threaded_wait(Message) :- 1417 '$lgt_current_object_'(user, Prefix, _, _, _, _, _, _, _, _, _, _, _) ,1421 '$lgt_current_object_'(user, Prefix, _, _, _, _, _, _, _, _, _, _, _) -> 1418 1422 '$lgt_thread_get_notifications'(Message, Prefix). 1419 1423 … … 1431 1435 1432 1436 threaded_notify(Message) :- 1433 '$lgt_current_object_'(user, Prefix, _, _, _, _, _, _, _, _, _, _, _) ,1437 '$lgt_current_object_'(user, Prefix, _, _, _, _, _, _, _, _, _, _, _) -> 1434 1438 '$lgt_thread_send_notifications'(Message, Prefix). 1435 1439 … … 1519 1523 1520 1524 '$lgt_inc_compile_warnings_counter' :- 1521 retract('$lgt_pp_comp_warnings_counter_'(Old)) ,1525 retract('$lgt_pp_comp_warnings_counter_'(Old)) -> 1522 1526 New is Old + 1, 1523 1527 asserta('$lgt_pp_comp_warnings_counter_'(New)), … … 1529 1533 1530 1534 '$lgt_inc_load_warnings_counter' :- 1531 retract('$lgt_pp_load_warnings_counter_'(Old)) ,1535 retract('$lgt_pp_load_warnings_counter_'(Old)) -> 1532 1536 New is Old + 1, 1533 1537 asserta('$lgt_pp_load_warnings_counter_'(New)). … … 1535 1539 1536 1540 '$lgt_report_warning_numbers'(Term) :- 1537 ( retract('$lgt_pp_warnings_top_argument_'(Term)) ->% if top compilation/loading goal then1538 retract('$lgt_pp_comp_warnings_counter_'(CCounter)), % report compilation and loading warnings1539 retract('$lgt_pp_load_warnings_counter_'(LCounter)) ,1541 ( retract('$lgt_pp_warnings_top_argument_'(Term)), % if top compilation/loading goal then 1542 retract('$lgt_pp_comp_warnings_counter_'(CCounter)), % report compilation and loading warnings 1543 retract('$lgt_pp_load_warnings_counter_'(LCounter)) -> 1540 1544 ( '$lgt_compiler_flag'(report, on) -> 1541 1545 ( CCounter + LCounter =:= 0 -> % no warnings … … 1891 1895 1892 1896 '$lgt_visible_predicate'(Obj, Pred, Sender, Scope) :- 1893 '$lgt_current_object_'(Obj, _, Dcl, _, _, _, _, _, _, _, _, _, _) ,1897 '$lgt_current_object_'(Obj, _, Dcl, _, _, _, _, _, _, _, _, _, _) -> 1894 1898 call_with_args(Dcl, Pred, PScope, _, _, _, _, SCtn, _), 1895 1899 once((\+ \+ PScope = Scope; Sender = SCtn)). … … 2785 2789 '$lgt_phrase'(Obj, (GREither; GROr), Input, Rest, Sender, Scope) :- 2786 2790 !, 2787 ( '$lgt_phrase'(Obj, GREither, Input, Rest, Sender, Scope)2788 ;2789 '$lgt_phrase'(Obj, GROr, Input, Rest, Sender, Scope)).2791 ( '$lgt_phrase'(Obj, GREither, Input, Rest, Sender, Scope) 2792 ; '$lgt_phrase'(Obj, GROr, Input, Rest, Sender, Scope) 2793 ). 2790 2794 2791 2795 '$lgt_phrase'(Obj, (GRIf -> GRThen), Input, Rest, Sender, Scope) :- … … 2890 2894 2891 2895 2892 % '$lgt_send_to_self'(+object , ?term, +object)2896 % '$lgt_send_to_self'(+object_identifier, ?term, +object_identifier) 2893 2897 2894 2898 '$lgt_send_to_self'(Obj, Pred, Sender) :- … … 2901 2905 2902 2906 2903 % '$lgt_send_to_self_nv'(+object , +term, +object)2907 % '$lgt_send_to_self_nv'(+object_identifier, +term, +object_identifier) 2904 2908 2905 2909 '$lgt_send_to_self_nv'(Obj, Pred, Sender) :- … … 2910 2914 '$lgt_send_to_self_nv'(Obj, Pred, Sender) :- 2911 2915 '$lgt_current_object_'(Obj, _, Dcl, Def, _, _, _, _, _, _, _, _, _), 2916 !, 2912 2917 ( call_with_args(Dcl, Pred, Scope, _, _, _, _, SCtn, _) -> % lookup declaration 2913 2918 ( (Scope = p(_); Sender = SCtn) -> % check scope … … 2931 2936 2932 2937 2933 % '$lgt_send_to_object'(@object , ?term, +object)2938 % '$lgt_send_to_object'(@object_identifier, ?term, +object_identifier) 2934 2939 2935 2940 '$lgt_send_to_object'(Obj, Pred, Sender) :- … … 2946 2951 2947 2952 2948 % '$lgt_send_to_object_nv'(+object , +term, +object)2953 % '$lgt_send_to_object_nv'(+object_identifier, +term, +object_identifier) 2949 2954 2950 2955 '$lgt_send_to_object_nv'(Obj, Pred, Sender) :- … … 2992 2997 2993 2998 2994 % '$lgt_send_to_object_ne'(@object , ?term, +object)2999 % '$lgt_send_to_object_ne'(@object_identifier, ?term, +object_identifier) 2995 3000 2996 3001 '$lgt_send_to_object_ne'(Obj, Pred, Sender) :- … … 3007 3012 3008 3013 3009 % '$lgt_send_to_object_ne_nv'(+object , +term, +object)3014 % '$lgt_send_to_object_ne_nv'(+object_identifier, +term, +object_identifier) 3010 3015 3011 3016 '$lgt_send_to_object_ne_nv'(Obj, Pred, Sender) :- … … 3093 3098 3094 3099 3095 % '$lgt_metacall_in_object'(?term, ?term, ?term, +object , +object, +object)3100 % '$lgt_metacall_in_object'(?term, ?term, ?term, +object_identifier, +object_identifier, +object_identifier) 3096 3101 % 3097 3102 % performs a meta-call constructed from a closure and a list of addtional arguments … … 3151 3156 3152 3157 3153 % '$lgt_metacall_in_object'(?term, ?term, +object , +object, +object)3158 % '$lgt_metacall_in_object'(?term, ?term, +object_identifier, +object_identifier, +object_identifier) 3154 3159 % 3155 3160 % performs a meta-call at runtime … … 3171 3176 '$lgt_ctx_ctx'(Ctx, _, Sender, This, Self, Prefix, [], _), 3172 3177 '$lgt_tr_body'(Pred, Call, DCall, Ctx), 3178 !, 3173 3179 ( '$lgt_dbg_debugging_', '$lgt_debugging_'(Sender) -> 3174 3180 call(DCall) … … 3184 3190 ), 3185 3191 '$lgt_tr_body'(Pred, Call, DCall, Ctx), 3192 !, 3186 3193 ( '$lgt_dbg_debugging_', '$lgt_debugging_'(Sender) -> 3187 3194 call(DCall) … … 3197 3204 '$lgt_call_built_in'(Pred, Ctx) :- 3198 3205 '$lgt_ctx_ctx'(Ctx, _, Sender, This, Self, _, _, _), 3199 '$lgt_current_object_'(This, _, _, Def, _, _, _, _, _, _, _, _, _) ,3206 '$lgt_current_object_'(This, _, _, Def, _, _, _, _, _, _, _, _, _) -> 3200 3207 ( call_with_args(Def, Pred, Sender, This, Self, Call) -> 3201 3208 call(Call) … … 3745 3752 3746 3753 '$lgt_dbg_leashing'(Port, Goal, DbgCtx, Code) :- 3747 '$lgt_dbg_leashing_'(Port) ,3754 '$lgt_dbg_leashing_'(Port) -> 3748 3755 ( '$lgt_dbg_tracing_' -> 3749 3756 Code = ' ' … … 3822 3829 write(Code), '$lgt_dbg_write_port_name'(Port), writeq(Goal), write(' ? '), 3823 3830 catch('$lgt_read_single_char'(Option), _, fail), 3824 once('$lgt_dbg_valid_port_option'(Option, Port, Code)),3831 '$lgt_dbg_valid_port_option'(Option, Port, Code), 3825 3832 '$lgt_dbg_do_port_option'(Option, Port, Goal, Error, DbgCtx, Action), 3826 3833 ! … … 3851 3858 3852 3859 3853 '$lgt_dbg_valid_port_option'(' ', _, _) .3854 '$lgt_dbg_valid_port_option'(c, _, _) .3855 '$lgt_dbg_valid_port_option'(l, _, _) .3856 '$lgt_dbg_valid_port_option'(s, _, _) .3857 '$lgt_dbg_valid_port_option'(i, call, _) .3858 '$lgt_dbg_valid_port_option'(i, redo, _) .3859 '$lgt_dbg_valid_port_option'(f, call, _) .3860 '$lgt_dbg_valid_port_option'(f, fact, _) .3861 '$lgt_dbg_valid_port_option'(f, rule, _) .3862 '$lgt_dbg_valid_port_option'(f, redo, _) .3863 '$lgt_dbg_valid_port_option'(n, _, _) .3864 '$lgt_dbg_valid_port_option'(!, _, _) .3865 '$lgt_dbg_valid_port_option'(@, _, _) .3866 '$lgt_dbg_valid_port_option'(b, _, _) .3867 '$lgt_dbg_valid_port_option'(a, _, _) .3868 '$lgt_dbg_valid_port_option'(q, _, _) .3869 '$lgt_dbg_valid_port_option'(d, _, _) .3870 '$lgt_dbg_valid_port_option'(x, _, _) .3871 '$lgt_dbg_valid_port_option'(h, _, _) .3872 '$lgt_dbg_valid_port_option'(?, _, _) .3873 '$lgt_dbg_valid_port_option'(=, _, _) .3874 '$lgt_dbg_valid_port_option'(*, _, ' ') .3875 '$lgt_dbg_valid_port_option'(+, _, ' ') .3876 '$lgt_dbg_valid_port_option'(-, _, +) .3877 '$lgt_dbg_valid_port_option'(e, exception, _) .3860 '$lgt_dbg_valid_port_option'(' ', _, _) :- !. 3861 '$lgt_dbg_valid_port_option'(c, _, _) :- !. 3862 '$lgt_dbg_valid_port_option'(l, _, _) :- !. 3863 '$lgt_dbg_valid_port_option'(s, _, _) :- !. 3864 '$lgt_dbg_valid_port_option'(i, call, _) :- !. 3865 '$lgt_dbg_valid_port_option'(i, redo, _) :- !. 3866 '$lgt_dbg_valid_port_option'(f, call, _) :- !. 3867 '$lgt_dbg_valid_port_option'(f, fact, _) :- !. 3868 '$lgt_dbg_valid_port_option'(f, rule, _) :- !. 3869 '$lgt_dbg_valid_port_option'(f, redo, _) :- !. 3870 '$lgt_dbg_valid_port_option'(n, _, _) :- !. 3871 '$lgt_dbg_valid_port_option'(!, _, _) :- !. 3872 '$lgt_dbg_valid_port_option'(@, _, _) :- !. 3873 '$lgt_dbg_valid_port_option'(b, _, _) :- !. 3874 '$lgt_dbg_valid_port_option'(a, _, _) :- !. 3875 '$lgt_dbg_valid_port_option'(q, _, _) :- !. 3876 '$lgt_dbg_valid_port_option'(d, _, _) :- !. 3877 '$lgt_dbg_valid_port_option'(x, _, _) :- !. 3878 '$lgt_dbg_valid_port_option'(h, _, _) :- !. 3879 '$lgt_dbg_valid_port_option'(?, _, _) :- !. 3880 '$lgt_dbg_valid_port_option'(=, _, _) :- !. 3881 '$lgt_dbg_valid_port_option'(*, _, ' ') :- !. 3882 '$lgt_dbg_valid_port_option'(+, _, ' ') :- !. 3883 '$lgt_dbg_valid_port_option'(-, _, +) :- !. 3884 '$lgt_dbg_valid_port_option'(e, exception, _) :- !. 3878 3885 3879 3886 … … 3894 3901 '$lgt_dbg_do_port_option'(s, _, _, _, _, true). 3895 3902 3896 '$lgt_dbg_do_port_option'(i, call, _, _, _, ignore). 3897 '$lgt_dbg_do_port_option'(i, redo, _, _, _, ignore). 3903 '$lgt_dbg_do_port_option'(i, _, _, _, _, ignore). 3898 3904 3899 3905 '$lgt_dbg_do_port_option'(f, _, _, _, _, fail). … … 5020 5026 5021 5027 '$lgt_pp_entity'(protocol, Entity, Prefix, Dcl, Mode) :- 5022 '$lgt_pp_protocol_'(Entity, Prefix, Dcl, _, Mode). 5028 '$lgt_pp_protocol_'(Entity, Prefix, Dcl, _, Mode), 5029 !. 5023 5030 5024 5031 … … 5037 5044 '$lgt_pp_rclause'('$lgt_current_object_'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Rnm, Mode, Synchronized, Threaded)) :- 5038 5045 '$lgt_pp_object_'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Rnm, Mode), 5046 !, 5039 5047 ( '$lgt_pp_synchronized_' -> 5040 5048 Synchronized = yes … … 5044 5052 Threaded = yes 5045 5053 ; Threaded = no 5046 ), 5047 !. 5054 ). 5048 5055 5049 5056 '$lgt_pp_rclause'('$lgt_current_protocol_'(Ptc, Prefix, Dcl, Rnm, Mode)) :- … … 5053 5060 '$lgt_pp_rclause'('$lgt_current_category_'(Ctg, Prefix, Dcl, Def, Rnm, Mode, Synchronized)) :- 5054 5061 '$lgt_pp_category_'(Ctg, Prefix, Dcl, Def, Rnm, Mode), 5062 !, 5055 5063 ( '$lgt_pp_synchronized_' -> 5056 5064 Synchronized = yes … … 5207 5215 % 5208 5216 % translates file-level directives, i.e. directives that are not encapsulated in a Logtalk entity 5209 % error-checking is delegated to the back-end Prolog compiler5217 % error-checking is delegated in most cases to the back-end Prolog compiler 5210 5218 5211 5219 '$lgt_tr_file_directive'(encoding(_)) :- % the encoding/1 directive is already processed … … 5228 5236 op(Pr, Spec, Ops), 5229 5237 assertz('$lgt_pp_directive_'(op(Pr, Spec, Ops))), 5230 assertz('$lgt_pp_file_op_'(op(Pr, Spec, Ops))). 5238 ( atom(Ops) -> 5239 assertz('$lgt_pp_file_op_'(Pr, Spec, Ops)) 5240 ; '$lgt_is_proper_list'(Ops) -> 5241 forall('$lgt_member'(Op, Ops), assertz('$lgt_pp_file_op_'(Pr, Spec, Op))) 5242 ). 5231 5243 5232 5244 '$lgt_tr_file_directive'(set_prolog_flag(Flag, Value)) :- … … 5298 5310 5299 5311 '$lgt_tr_directive'(end_protocol, [], _, Output) :- 5300 '$lgt_pp_protocol_'(Ptc, _, _, _, _) ->5312 ( '$lgt_pp_protocol_'(Ptc, _, _, _, _) -> 5301 5313 '$lgt_tr_entity'(protocol, Ptc, Output), 5302 5314 '$lgt_report_compiled_entity'(protocol, Ptc) 5303 ;5304 throw(closing_directive_mismatch).5315 ; throw(closing_directive_mismatch) 5316 ). 5305 5317 5306 5318 … … 5470 5482 throw(instantiation_error). 5471 5483 5472 '$lgt_tr_directive'(use s, [Module, _], _, _) :-5484 '$lgt_tr_directive'(use_module, [Module, _], _, _) :- 5473 5485 \+ callable(Module), 5474 5486 throw(type_error(module_identifier, Module)). … … 5632 5644 5633 5645 '$lgt_tr_alias_directive'(Entity, Functor1//Arity, Functor2//Arity) :- 5646 !, 5634 5647 Arity2 is Arity + 2, 5635 5648 '$lgt_tr_alias_directive'(Entity, Functor1/Arity2, Functor2/Arity2). … … 5667 5680 '$lgt_gen_pred_mutex'(Mutex) :- 5668 5681 '$lgt_pp_entity'(_, _, Prefix, _, _), 5669 retract('$lgt_pp_pred_mutex_count_'(Old)) ,5682 retract('$lgt_pp_pred_mutex_count_'(Old)) -> 5670 5683 New is Old + 1, 5671 5684 asserta('$lgt_pp_pred_mutex_count_'(New)), … … 7125 7138 7126 7139 '$lgt_tr_body'(':'(Alias), TPred, '$lgt_dbg_goal'(':'(Alias), TPred, DbgCtx), Ctx) :- 7140 !, 7127 7141 '$lgt_ctx_ctx'(Ctx, _, Sender, This, Self, _, _, _), 7128 7142 '$lgt_ctx_dbg_ctx'(Ctx, DbgCtx), … … 7134 7148 '$lgt_ctg_static_binding_cache'(Ctg, Pred, Sender, This, Self, TPred) -> 7135 7149 true 7136 ; Pred = Alias, 7137 '$lgt_pp_object_'(_, _, Dcl, _, _, IDcl, _, _, _, Rnm, _), 7150 ; % must resort to dynamic binding 7151 Pred = Alias, 7152 '$lgt_pp_object_'(_, _, Dcl, _, _, IDcl, _, _, _, Rnm, _) -> 7138 7153 ( \+ '$lgt_pp_instantiated_class_'(_, _, _, _, _, _, _, _, _, _), 7139 7154 \+ '$lgt_pp_specialized_class_'(_, _, _, _, _, _, _, _, _, _) -> … … 7708 7723 7709 7724 '$lgt_optimizable_local_db_call'(Pred, TPred) :- 7710 '$lgt_pp_object_'(_, Prefix, _, _, _, _, _, _, _, _, _) ,% exclude categories7725 '$lgt_pp_object_'(_, Prefix, _, _, _, _, _, _, _, _, _) -> % exclude categories 7711 7726 '$lgt_compiler_flag'(debug, off), % not debugging 7712 7727 ( Pred = (Head :- Body) -> % only facts allowed … … 7716 7731 callable(Head), 7717 7732 functor(Head, Functor, Arity), 7718 '$lgt_pp_dynamic_'(Functor, Arity),% a dynamic directive must be present7733 once('$lgt_pp_dynamic_'(Functor, Arity)), % a dynamic directive must be present 7719 7734 once(( '$lgt_pp_public_'(Functor, Arity) % a scope directive must be present 7720 7735 ; '$lgt_pp_protected_'(Functor, Arity) … … 8314 8329 8315 8330 '$lgt_tr_super_call'(Pred, TPred, Ctx) :- % translation performed at runtime 8316 '$lgt_pp_object_'(_, _, _, _, Super, _, _, _, _, _, _),8317 !,8318 8331 '$lgt_ctx_ctx'(Ctx, _, Sender, This, Self, _, _, _), 8319 TPred = '$lgt_obj_super_call'(Super, Pred, Sender, This, Self). 8320 8321 '$lgt_tr_super_call'(Pred, TPred, Ctx) :- % translation performed at runtime 8322 '$lgt_pp_category_'(Ctg, _, _, Def, _, _), 8323 '$lgt_ctx_ctx'(Ctx, _, Sender, This, Self, _, _, _), 8324 TPred = '$lgt_ctg_super_call'(Ctg, Def, Pred, Sender, This, Self). 8332 ( '$lgt_pp_object_'(_, _, _, _, Super, _, _, _, _, _, _) -> 8333 TPred = '$lgt_obj_super_call'(Super, Pred, Sender, This, Self) 8334 ; '$lgt_pp_category_'(Ctg, _, _, Def, _, _) -> 8335 TPred = '$lgt_ctg_super_call'(Ctg, Def, Pred, Sender, This, Self) 8336 ). 8325 8337 8326 8338 … … 8698 8710 8699 8711 '$lgt_update_entity_comp_mode' :- 8700 retract('$lgt_pp_object_'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Rnm, _)), 8701 assertz('$lgt_pp_object_'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Rnm, (dynamic))), 8702 !. 8703 8704 '$lgt_update_entity_comp_mode' :- 8705 retract('$lgt_pp_protocol_'(Ptc, Prefix, Dcl, Rnm, _)), 8706 assertz('$lgt_pp_protocol_'(Ptc, Prefix, Dcl, Rnm, (dynamic))), 8707 !. 8708 8709 '$lgt_update_entity_comp_mode' :- 8710 retract('$lgt_pp_category_'(Ctg, Prefix, Dcl, Def, Rnm, _)), 8711 assertz('$lgt_pp_category_'(Ctg, Prefix, Dcl, Def, Rnm, (dynamic))). 8712 ( retract('$lgt_pp_object_'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Rnm, _)) -> 8713 assertz('$lgt_pp_object_'(Obj, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Rnm, (dynamic))) 8714 ; retract('$lgt_pp_protocol_'(Ptc, Prefix, Dcl, Rnm, _)) -> 8715 assertz('$lgt_pp_protocol_'(Ptc, Prefix, Dcl, Rnm, (dynamic))) 8716 ; retract('$lgt_pp_category_'(Ctg, Prefix, Dcl, Def, Rnm, _)) -> 8717 assertz('$lgt_pp_category_'(Ctg, Prefix, Dcl, Def, Rnm, (dynamic))) 8718 ). 8712 8719 8713 8720 … … 8922 8929 8923 8930 '$lgt_tr_complements_category'(Objs, Ctg) :- 8924 '$lgt_pp_category_'(Ctg, _, Dcl, Def, _, _) ,8931 '$lgt_pp_category_'(Ctg, _, Dcl, Def, _, _) -> 8925 8932 '$lgt_tr_complements_category'(Objs, Ctg, Dcl, Def). 8926 8933 … … 9107 9114 HeadTemplateDef =.. [TFunctor| HeadTemplateArgsDef], 9108 9115 HeadDef =.. [TFunctor| HeadArgsDef], 9109 ( '$lgt_pp_object_'(_, _, _, Def, _, _, _, _, _, _, _) -> 9110 true 9111 ; '$lgt_pp_category_'(_, _, _, Def, _, _) 9112 ), 9116 once(( '$lgt_pp_object_'(_, _, _, Def, _, _, _, _, _, _, _) 9117 ; '$lgt_pp_category_'(_, _, _, Def, _, _) 9118 )), 9113 9119 Clause =.. [Def, HeadTemplate, Sender2, This2, Self2, HeadTemplateDef], 9114 9120 ( '$lgt_pp_def_'(Clause) -> … … 9151 9157 HeadTemplateDef =.. [TFunctor| HeadTemplateArgsDef], 9152 9158 HeadDef =.. [TFunctor| HeadArgsDef], 9153 '$lgt_pp_object_'(_, _, _, _, _, _, _, _, DDef, _, _),9159 once('$lgt_pp_object_'(_, _, _, _, _, _, _, _, DDef, _, _)), 9154 9160 Clause =.. [DDef, HeadTemplate, Sender2, This2, Self2, HeadTemplateDef], 9155 9161 ( '$lgt_pp_ddef_'(Clause) -> … … 9279 9285 9280 9286 '$lgt_gen_dynamic_object_dynamic_directives' :- 9281 '$lgt_pp_object_'(_, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Rnm, _) ,9287 '$lgt_pp_object_'(_, Prefix, Dcl, Def, Super, IDcl, IDef, DDcl, DDef, Rnm, _) -> 9282 9288 assertz('$lgt_pp_directive_'(dynamic(Prefix/8))), 9283 9289 assertz('$lgt_pp_directive_'(dynamic(Dcl/6))), … … 9437 9443 9438 9444 '$lgt_gen_protocol_linking_clauses'(true) :- 9439 '$lgt_pp_protocol_'(Ptc, _, PDcl, _, _) ,9445 '$lgt_pp_protocol_'(Ptc, _, PDcl, _, _) -> 9440 9446 Head =.. [PDcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized, Ptc], 9441 9447 Body =.. [PDcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized], … … 9479 9485 true 9480 9486 ; % empty, standalone protocol 9481 '$lgt_pp_protocol_'(_, _, Dcl, _, _) ,9487 '$lgt_pp_protocol_'(_, _, Dcl, _, _) -> 9482 9488 Head =.. [Dcl, _, _, _, _, _, _, _], 9483 9489 assertz('$lgt_pp_dcl_'((Head:-fail))) … … 9502 9508 9503 9509 '$lgt_gen_category_linking_dcl_clauses'(true) :- 9504 '$lgt_pp_category_'(Ctg, _, CDcl, _, _, _) ,9510 '$lgt_pp_category_'(Ctg, _, CDcl, _, _, _) -> 9505 9511 Head =.. [CDcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized, Ctg], 9506 9512 Body =.. [CDcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized], … … 9568 9574 true 9569 9575 ; % standalone category with no local predicate declarations 9570 '$lgt_pp_category_'(_, _, Dcl, _, _, _) ,9576 '$lgt_pp_category_'(_, _, Dcl, _, _, _) -> 9571 9577 Head =.. [Dcl, _, _, _, _, _, _, _], 9572 9578 assertz('$lgt_pp_dcl_'((Head:-fail))) … … 9582 9588 9583 9589 '$lgt_gen_category_linking_def_clauses' :- 9584 '$lgt_pp_category_'(Ctg, _, _, Def, _, _) ,9590 '$lgt_pp_category_'(Ctg, _, _, Def, _, _) -> 9585 9591 Head =.. [Def, Pred, Sender, This, Self, Call, Ctg], 9586 9592 ( '$lgt_pp_fdef_'(_) -> … … 9618 9624 9619 9625 '$lgt_gen_object_catchall_dcl_clauses'(false) :- 9620 '$lgt_pp_object_'(_, _, Dcl, _, _, _, _, _, _, _, _) ,% generate a catchall clause for9626 '$lgt_pp_object_'(_, _, Dcl, _, _, _, _, _, _, _, _) -> % generate a catchall clause for 9621 9627 Head =.. [Dcl, _, _, _, _, _, _], % objects that do not contain 9622 9628 assertz('$lgt_pp_dcl_'((Head:-fail))). % predicate declarations … … 9626 9632 9627 9633 '$lgt_gen_object_catchall_def_clauses'(false) :- 9628 '$lgt_pp_object_'(_, _, _, Def, _, _, _, _, _, _, _) ,% generate a catchall clause9634 '$lgt_pp_object_'(_, _, _, Def, _, _, _, _, _, _, _) -> % generate a catchall clause 9629 9635 Head =.. [Def, _, _, _, _, _], % for objects that do not 9630 9636 assertz('$lgt_pp_fdef_'((Head:-fail))). % contain predicate definitions … … 9650 9656 9651 9657 '$lgt_gen_prototype_linking_dcl_clauses'(true) :- 9652 '$lgt_pp_object_'(Obj, _, Dcl, _, _, _, _, DDcl, _, _, _) ,9658 '$lgt_pp_object_'(Obj, _, Dcl, _, _, _, _, DDcl, _, _, _) -> 9653 9659 HeadDcl =.. [Dcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized, Obj, Obj], 9654 9660 BodyDcl =.. [Dcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized], … … 9659 9665 9660 9666 '$lgt_gen_prototype_linking_dcl_clauses'(false) :- 9661 '$lgt_pp_object_'(Obj, _, Dcl, _, _, _, _, DDcl, _, _, _) ,9667 '$lgt_pp_object_'(Obj, _, Dcl, _, _, _, _, DDcl, _, _, _) -> 9662 9668 HeadDDcl =.. [Dcl, Pred, Scope, (dynamic), no, no, no, Obj, Obj], 9663 9669 BodyDDcl =.. [DDcl, Pred, Scope], … … 9711 9717 9712 9718 '$lgt_gen_prototype_imports_dcl_clauses' :- 9713 '$lgt_pp_object_'(Obj, _, ODcl, _, _, _, _, _, _, _, _) ,9719 '$lgt_pp_object_'(Obj, _, ODcl, _, _, _, _, _, _, _, _) -> 9714 9720 Head =.. [ODcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized, Obj, Ctn], 9715 9721 Lookup = '$lgt_complemented_object'(Obj, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized, Ctn), … … 9756 9762 9757 9763 '$lgt_gen_prototype_linking_def_clauses'(true) :- 9758 '$lgt_pp_object_'(Obj, _, _, Def, _, _, _, _, DDef, _, _) ,9764 '$lgt_pp_object_'(Obj, _, _, Def, _, _, _, _, DDef, _, _) -> 9759 9765 Head =.. [Def, Pred, Sender, This, Self, Call, Obj], 9760 9766 BodyDef =.. [Def, Pred, Sender, This, Self, Call], … … 9764 9770 9765 9771 '$lgt_gen_prototype_linking_def_clauses'(false) :- 9766 '$lgt_pp_object_'(Obj, _, _, Def, _, _, _, _, DDef, _, _) ,9772 '$lgt_pp_object_'(Obj, _, _, Def, _, _, _, _, DDef, _, _) -> 9767 9773 Head =.. [Def, Pred, Sender, This, Self, Call, Obj], 9768 9774 BodyDDef =.. [DDef, Pred, Sender, This, Self, Call], … … 9786 9792 9787 9793 '$lgt_gen_prototype_imports_def_clauses' :- 9788 '$lgt_pp_object_'(Obj, _, _, ODef, _, _, _, _, _, _, _) ,9794 '$lgt_pp_object_'(Obj, _, _, ODef, _, _, _, _, _, _, _) -> 9789 9795 Head =.. [ODef, Pred, Sender, Obj, Self, Call, Ctn], 9790 9796 Lookup = '$lgt_complemented_object'(Pred, Sender, Obj, Self, Call, Ctn), … … 9856 9862 9857 9863 '$lgt_gen_ic_hierarchy_dcl_clauses' :- 9864 '$lgt_pp_object_'(_, _, ODcl, _, _, _, _, _, _, _, _), 9858 9865 \+ '$lgt_pp_instantiated_class_'(_, _, _, _, _, _, _, _, _, _), 9859 9866 !, 9860 '$lgt_pp_object_'(_, _, ODcl, _, _, _, _, _, _, _, _),9861 9867 Head =.. [ODcl, _, _, _, _, _, _, _, _], 9862 9868 assertz('$lgt_pp_dcl_'((Head:-fail))). … … 9898 9904 9899 9905 '$lgt_gen_ic_linking_idcl_clauses'(true) :- 9900 '$lgt_pp_object_'(Obj, _, Dcl, _, _, IDcl, _, DDcl, _, _, _) ,9906 '$lgt_pp_object_'(Obj, _, Dcl, _, _, IDcl, _, DDcl, _, _, _) -> 9901 9907 HeadDcl =.. [IDcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized, Obj, Obj], 9902 9908 BodyDcl =.. [Dcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized], … … 9907 9913 9908 9914 '$lgt_gen_ic_linking_idcl_clauses'(false) :- 9909 '$lgt_pp_object_'(Obj, _, _, _, _, IDcl, _, DDcl, _, _, _) ,9915 '$lgt_pp_object_'(Obj, _, _, _, _, IDcl, _, DDcl, _, _, _) -> 9910 9916 HeadDDcl =.. [IDcl, Pred, Scope, (dynamic), no, no, no, Obj, Obj], 9911 9917 BodyDDcl =.. [DDcl, Pred, Scope], … … 9959 9965 9960 9966 '$lgt_gen_ic_category_idcl_clauses' :- 9961 '$lgt_pp_object_'(Obj, _, _, _, _, OIDcl, _, _, _, _, _) ,9967 '$lgt_pp_object_'(Obj, _, _, _, _, OIDcl, _, _, _, _, _) -> 9962 9968 Head =.. [OIDcl, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized, Obj, Ctn], 9963 9969 Lookup = '$lgt_complemented_object'(Obj, Pred, Scope, Compilation, Meta, NonTerminal, Synchronized, Ctn), … … 10005 10011 10006 10012 '$lgt_gen_ic_linking_def_clauses'(true) :- 10007 '$lgt_pp_object_'(Obj, _, _, Def, _, _, _, _, DDef, _, _) ,10013 '$lgt_pp_object_'(Obj, _, _, Def, _, _, _, _, DDef, _, _) -> 10008 10014 Head =.. [Def, Pred, Sender, This, Self, Call, Obj], 10009 10015 BodyDef =.. [Def, Pred, Sender, This, Self, Call], … … 10013 10019 10014 10020 '$lgt_gen_ic_linking_def_clauses'(false) :- 10015 '$lgt_pp_object_'(Obj, _, _, Def, _, _, _, _, DDef, _, _) ,10021 '$lgt_pp_object_'(Obj, _, _, Def, _, _, _, _, DDef, _, _) -> 10016 10022 Head =.. [Def, Pred, Sender, This, Self, Call, Obj], 10017 10023 BodyDDef =.. [DDef, Pred, Sender, This, Self, Call], … … 10035 10041 10036 10042 '$lgt_gen_ic_imports_def_clauses' :- 10037 '$lgt_pp_object_'(Obj, _, _, ODef, _, _, _, _, _, _, _) ,10043 '$lgt_pp_object_'(Obj, _, _, ODef, _, _, _, _, _, _, _) -> 10038 10044 Head =.. [ODef, Pred, Sender, Obj, Self, Call, Ctn], 10039 10045 Lookup = '$lgt_complemented_object'(Pred, Sender, Obj, Self, Call, Ctn),
