Changeset 5263

Show
Ignore:
Timestamp:
01/28/10 08:27:27 (7 months ago)
Author:
pmoura
Message:

Added '$lgt_tr_predicate_head'/2 and '$lgt_tr_predicate_indicators'/2 hook predicates to the Logtalk compiler in order to simplify handling of proprietary directives in config files.

Location:
trunk
Files:
12 modified

Legend:

Unmodified
Added
Removed
  • trunk/compiler/logtalk.pl

    r5262 r5263  
    1335113351 
    1335213352 
     13353% '$lgt_tr_predicate_head'(@callable, -callable) 
     13354% 
     13355% translates a predicate head; used as a hook predicate in the config files 
     13356     
     13357'$lgt_tr_predicate_head'(Head, _) :- 
     13358    var(Head), 
     13359    throw(instantiation_error). 
     13360'$lgt_tr_predicate_head'(Head, THead) :- 
     13361    functor(Head, Functor, Arity), 
     13362    '$lgt_pp_entity'(_, _, Prefix, _, _), 
     13363    '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity), 
     13364    functor(THead, TFunctor, TArity), 
     13365    Head =.. [Functor| Args], 
     13366    THead =.. [TFunctor| Targs], 
     13367    '$lgt_append'(Args, _, Targs). 
     13368 
     13369 
     13370 
     13371% '$lgt_tr_predicate_indicators'(+list(predicate_indicator), -list(predicate_indicator)) 
     13372% '$lgt_tr_predicate_indicators'(+predicate_indicator, -predicate_indicator) 
     13373% 
     13374% translates a single predicate indicator, a conjunction of predicate indicators or a 
     13375% list of predicate indicators; used as a hook predicate in the config files 
     13376 
     13377'$lgt_tr_predicate_indicators'(PI, _) :- 
     13378    var(PI), 
     13379    throw(instantiation_error). 
     13380'$lgt_tr_predicate_indicators'([], []) :- 
     13381    !. 
     13382'$lgt_tr_predicate_indicators'([PI| PIs], [TPI| TPIs]) :- 
     13383    !, 
     13384    '$lgt_tr_predicate_indicator'(PI, TPI), 
     13385    '$lgt_tr_predicate_indicators'(PIs, TPIs). 
     13386'$lgt_tr_predicate_indicators'((PI, PIs), (TPI, TPIs)) :- 
     13387    !, 
     13388    '$lgt_tr_predicate_indicators'(PI, TPI), 
     13389    '$lgt_tr_predicate_indicators'(PIs, TPIs). 
     13390'$lgt_tr_predicate_indicators'(PI, TFunctor/TArity) :- 
     13391    (   '$lgt_valid_pred_ind'(Functor/Arity, Functor, Arity) -> 
     13392        '$lgt_pp_entity'(_, _, Prefix, _, _), 
     13393        '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity) 
     13394    ;   throw(type_error(predicate_indicator, PI)) 
     13395    ). 
     13396 
     13397 
     13398 
    1335313399% '$lgt_construct_predicate_indicator'(+atom, +predicate_indicator, -predicate_indicator) 
    1335413400% 
  • trunk/configs/b.pl

    r5262 r5263  
    530530 
    531531'$lgt_rewrite_and_copy_pl_directive'(eager_consume(PIs), eager_consume(CPIs)) :- 
    532     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     532    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    533533'$lgt_rewrite_and_copy_pl_directive'(':'(table(Head), N), ':'(table(THead), N)) :- 
    534534    '$lgt_rewrite_and_copy_pl_directive_head'(Head, THead). 
     
    536536    '$lgt_rewrite_and_copy_pl_directive_head'(Head, THead). 
    537537'$lgt_rewrite_and_copy_pl_directive'(table(PIs), table(CPIs)) :- 
    538     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     538    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    539539'$lgt_rewrite_and_copy_pl_directive'(mode(Pred), mode(TPred)) :- 
    540540    functor(Pred, Functor, Arity), 
    541     '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity), 
     541    '$lgt_tr_predicate_indicators'(Functor/Arity, TFunctor/TArity), 
    542542    functor(TPred, TFunctor, TArity), 
    543543    Pred =.. [Functor| Args], 
     
    553553    functor(Head, Functor, Arity), 
    554554    \+ (Functor == '/', Arity =:= 2),   % not a predicate indicator 
    555     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    556     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity), 
     555    'lgt_tr_predicate_indicators'(Functor/Arity, TFunctor/TArity), 
    557556    functor(THead, TFunctor, TArity), 
    558557    Head =.. [_| Args], 
    559558    THead =.. [_| TArgs], 
    560559    append(Args, '?', TArgs). 
    561  
    562  
    563 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    564     var(PIs), 
    565     throw(instantiation_error). 
    566 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    567     !. 
    568 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    569     !, 
    570     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    571     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    572 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    573     !, 
    574     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    575     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    576 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    577     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    578     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
    579560 
    580561 
  • trunk/configs/eclipse5.pl

    r5262 r5263  
    710710 
    711711'$lgt_rewrite_and_copy_pl_directive'(inline(PI1, PI2), inline(CPI1, CPI2)) :- 
    712     '$lgt_rewrite_and_copy_pl_directive_pis'(PI1, CPI1), 
    713     '$lgt_rewrite_and_copy_pl_directive_pis'(PI2, CPI2). 
     712    '$lgt_tr_predicate_indicators'(PI1, CPI1), 
     713    '$lgt_tr_predicate_indicators'(PI2, CPI2). 
    714714 
    715715'$lgt_rewrite_and_copy_pl_directive'(pragma(Pragma), pragma(Pragma)). 
    716716 
    717717'$lgt_rewrite_and_copy_pl_directive'(set_flag(PI, Flag, Value), set_flag(CPI, Flag, Value)) :- 
    718     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI). 
     718    '$lgt_tr_predicate_indicators'(PI, CPI). 
    719719 
    720720 
     
    738738'$lgt_rewrite_and_recompile_pl_directive'(use_module(Library), use_module(Library, Imports)) :- 
    739739    '$lgt_eclipse_list_of_exports'(Library, Imports). 
    740  
    741  
    742 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    743     var(PIs), 
    744     throw(instantiation_error). 
    745 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    746     !. 
    747 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    748     !, 
    749     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    750     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    751 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    752     !, 
    753     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    754     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    755 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    756     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    757     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
    758740 
    759741 
  • trunk/configs/eclipse5iso.pl

    r5262 r5263  
    615615 
    616616'$lgt_rewrite_and_copy_pl_directive'(inline(PI1, PI2), inline(CPI1, CPI2)) :- 
    617     '$lgt_rewrite_and_copy_pl_directive_pis'(PI1, CPI1), 
    618     '$lgt_rewrite_and_copy_pl_directive_pis'(PI2, CPI2). 
     617    '$lgt_tr_predicate_indicators'(PI1, CPI1), 
     618    '$lgt_tr_predicate_indicators'(PI2, CPI2). 
    619619 
    620620'$lgt_rewrite_and_copy_pl_directive'(pragma(Pragma), pragma(Pragma)). 
    621621 
    622622'$lgt_rewrite_and_copy_pl_directive'(set_flag(PI, Flag, Value), set_flag(CPI, Flag, Value)) :- 
    623     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI). 
     623    '$lgt_tr_predicate_indicators'(PI, CPI). 
    624624 
    625625 
     
    643643'$lgt_rewrite_and_recompile_pl_directive'(use_module(Library), use_module(Library, Imports)) :- 
    644644    '$lgt_eclipse_list_of_exports'(Library, Imports). 
    645  
    646  
    647 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    648     var(PIs), 
    649     throw(instantiation_error). 
    650 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    651     !. 
    652 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    653     !, 
    654     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    655     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    656 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    657     !, 
    658     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    659     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    660 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    661     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    662     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
    663645 
    664646 
  • trunk/configs/eclipse6.pl

    r5262 r5263  
    698698 
    699699'$lgt_rewrite_and_copy_pl_directive'(inline(PI1, PI2), inline(CPI1, CPI2)) :- 
    700     '$lgt_rewrite_and_copy_pl_directive_pis'(PI1, CPI1), 
    701     '$lgt_rewrite_and_copy_pl_directive_pis'(PI2, CPI2). 
     700    '$lgt_tr_predicate_indicators'(PI1, CPI1), 
     701    '$lgt_tr_predicate_indicators'(PI2, CPI2). 
    702702 
    703703'$lgt_rewrite_and_copy_pl_directive'(pragma(Pragma), pragma(Pragma)). 
    704704 
    705705'$lgt_rewrite_and_copy_pl_directive'(set_flag(PI, Flag, Value), set_flag(CPI, Flag, Value)) :- 
    706     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI). 
     706    '$lgt_tr_predicate_indicators'(PI, CPI). 
    707707 
    708708 
     
    726726'$lgt_rewrite_and_recompile_pl_directive'(use_module(Library), use_module(Library, Imports)) :- 
    727727    '$lgt_eclipse_list_of_exports'(Library, Imports). 
    728  
    729  
    730 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    731     var(PIs), 
    732     throw(instantiation_error). 
    733 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    734     !. 
    735 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    736     !, 
    737     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    738     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    739 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    740     !, 
    741     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    742     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    743 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    744     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    745     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
    746728 
    747729 
  • trunk/configs/eclipse6iso.pl

    r5262 r5263  
    608608 
    609609'$lgt_rewrite_and_copy_pl_directive'(inline(PI1, PI2), inline(CPI1, CPI2)) :- 
    610     '$lgt_rewrite_and_copy_pl_directive_pis'(PI1, CPI1), 
    611     '$lgt_rewrite_and_copy_pl_directive_pis'(PI2, CPI2). 
     610    '$lgt_tr_predicate_indicators'(PI1, CPI1), 
     611    '$lgt_tr_predicate_indicators'(PI2, CPI2). 
    612612 
    613613'$lgt_rewrite_and_copy_pl_directive'(pragma(Pragma), pragma(Pragma)). 
    614614 
    615615'$lgt_rewrite_and_copy_pl_directive'(set_flag(PI, Flag, Value), set_flag(CPI, Flag, Value)) :- 
    616     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI). 
     616    '$lgt_tr_predicate_indicators'(PI, CPI). 
    617617 
    618618 
     
    636636'$lgt_rewrite_and_recompile_pl_directive'(use_module(Library), use_module(Library, Imports)) :- 
    637637    '$lgt_eclipse_list_of_exports'(Library, Imports). 
    638  
    639  
    640 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    641     var(PIs), 
    642     throw(instantiation_error). 
    643 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    644     !. 
    645 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    646     !, 
    647     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    648     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    649 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    650     !, 
    651     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    652     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    653 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    654     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    655     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
    656638 
    657639 
  • trunk/configs/sicstus3.pl

    r5262 r5263  
    592592 
    593593'$lgt_rewrite_and_copy_pl_directive'(volatile(PIs), volatile(CPIs)) :- 
    594     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    595  
    596  
    597 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    598     var(PIs), 
    599     throw(instantiation_error). 
    600 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    601     !. 
    602 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    603     !, 
    604     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    605     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    606 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    607     !, 
    608     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    609     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    610 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    611     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    612     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
     594    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    613595 
    614596 
  • trunk/configs/sicstus4.pl

    r5262 r5263  
    558558 
    559559'$lgt_rewrite_and_copy_pl_directive'(volatile(PIs), volatile(CPIs)) :- 
    560     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    561  
    562  
    563 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    564     var(PIs), 
    565     throw(instantiation_error). 
    566 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    567     !. 
    568 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    569     !, 
    570     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    571     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    572 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    573     !, 
    574     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    575     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    576 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    577     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    578     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
     560    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    579561 
    580562 
  • trunk/configs/swi.pl

    r5262 r5263  
    577577 
    578578'$lgt_rewrite_and_copy_pl_directive'(format_predicate(Char, Head), format_predicate(Char, THead)) :- 
    579     '$lgt_rewrite_and_copy_pl_directive_ch'(Head, THead). 
     579    '$lgt_tr_predicate_head'(Head, THead). 
    580580'$lgt_rewrite_and_copy_pl_directive'(license(License), license(License)). 
    581581'$lgt_rewrite_and_copy_pl_directive'(set_prolog_flag(generate_debug_info, false), set_prolog_flag(generate_debug_info, false)). 
    582582'$lgt_rewrite_and_copy_pl_directive'(thread_local(PIs), thread_local(CPIs)) :- 
    583     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     583    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    584584'$lgt_rewrite_and_copy_pl_directive'(index(Head), index(THead)) :- 
    585     '$lgt_rewrite_and_copy_pl_directive_ch'(Head, THead). 
     585    '$lgt_tr_predicate_head'(Head, THead). 
    586586'$lgt_rewrite_and_copy_pl_directive'(hash(Head), hash(THead)) :- 
    587     '$lgt_rewrite_and_copy_pl_directive_ch'(Head, THead). 
     587    '$lgt_tr_predicate_head'(Head, THead). 
    588588'$lgt_rewrite_and_copy_pl_directive'(noprofile(PIs), noprofile(CPIs)) :- 
    589     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     589    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    590590'$lgt_rewrite_and_copy_pl_directive'(volatile(PIs), volatile(CPIs)) :- 
    591     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    592  
    593  
    594 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    595     var(PIs), 
    596     throw(instantiation_error). 
    597 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    598     !. 
    599 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    600     !, 
    601     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    602     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    603 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    604     !, 
    605     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    606     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    607 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    608     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    609     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
    610  
    611 '$lgt_rewrite_and_copy_pl_directive_ch'(Head, THead) :- 
    612     functor(Head, Functor, Arity), 
    613     '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity), 
    614     functor(THead, TFunctor, TArity), 
    615     Head =.. [Functor| Args], 
    616     THead =.. [TFunctor| Targs], 
    617     '$lgt_append'(Args, _, Targs). 
     591    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    618592 
    619593 
  • trunk/configs/xsb.pl

    r5262 r5263  
    552552 
    553553'$lgt_rewrite_and_copy_pl_directive'(index(PI, IS), index(CPI, IS)) :- 
    554     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI). 
     554    '$lgt_tr_predicate_indicators'(PI, CPI). 
    555555'$lgt_rewrite_and_copy_pl_directive'(table(PIs), table(CPIs)) :- 
    556     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     556    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    557557'$lgt_rewrite_and_copy_pl_directive'(thread_private(PIs), thread_private(CPIs)) :- 
    558     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     558    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    559559'$lgt_rewrite_and_copy_pl_directive'(thread_shared(PIs), thread_shared(CPIs)) :- 
    560     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     560    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    561561'$lgt_rewrite_and_copy_pl_directive'(use_subsumptive_tabling(PIs), use_subsumptive_tabling(CPIs)) :- 
    562     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     562    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    563563'$lgt_rewrite_and_copy_pl_directive'(use_variant_tabling(PIs), use_variant_tabling(CPIs)) :- 
    564     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    565  
    566  
    567 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    568     var(PIs), 
    569     throw(instantiation_error). 
    570 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    571     !. 
    572 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    573     !, 
    574     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    575     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    576 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    577     !, 
    578     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    579     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    580 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    581     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    582     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
     564    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    583565 
    584566 
  • trunk/configs/yap.pl

    r5262 r5263  
    640640    load_foreign_files(Files, Libs, InitRoutine). 
    641641'$lgt_rewrite_and_copy_pl_directive'(table(PIs), table(CPIs)) :- 
    642     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
     642    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    643643'$lgt_rewrite_and_copy_pl_directive'(thread_local(PIs), thread_local(CPIs)) :- 
    644     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    645  
    646  
    647 '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :- 
    648     var(PIs), 
    649     throw(instantiation_error). 
    650 '$lgt_rewrite_and_copy_pl_directive_pis'([], []) :- 
    651     !. 
    652 '$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :- 
    653     !, 
    654     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    655     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    656 '$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :- 
    657     !, 
    658     '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI), 
    659     '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs). 
    660 '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :- 
    661     '$lgt_pp_entity'(_, _, Prefix, _, _), 
    662     '$lgt_construct_predicate_indicator'(Prefix, Functor/Arity, TFunctor/TArity). 
     644    '$lgt_tr_predicate_indicators'(PIs, CPIs). 
    663645 
    664646 
  • trunk/RELEASE_NOTES.txt

    r5262 r5263  
    16162.38.2 - January ??, 2010 
    1717 
    18     Simplified declaration and handling of proprietary directives with meta- 
    19     arguments by defining a '$lgt_pl_meta_directive'/1 predicate in all config 
    20     files. 
     18    Simplified declaration and handling of proprietary directives with 
     19    meta-arguments by defining a '$lgt_pl_meta_directive'/1 predicate in 
     20    all config files. 
     21 
     22    Added '$lgt_tr_predicate_head'/2 and '$lgt_tr_predicate_indicators'/2 
     23    hook predicates to the Logtalk compiler in order to simplify handling 
     24    of proprietary directives in config files. 
    2125 
    2226    Added support for the proprietary directive initialization/2 to the config