Show
Ignore:
Timestamp:
04/09/08 04:56:42 (8 months ago)
Author:
pmoura
Message:

Added a simple example, "debug_hooks", of using compilation hooks and term expansion for conditional compilation of debug statements.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/compiler/logtalk.pl

    r4193 r4196  
    127127% compiler hook term and goal expansion: 
    128128 
    129 :- dynamic('$lgt_hook_term_expansion_'/2).      % '$lgt_hook_term_expansion_'(Term, Terms) 
    130 :- dynamic('$lgt_hook_goal_expansion_'/2).      % '$lgt_hook_goal_expansion_'(Term, Terms) 
     129:- dynamic('$lgt_hook_term_expansion_'/2).      % '$lgt_hook_term_expansion_'(Term, ExpandedTerm) 
     130:- dynamic('$lgt_hook_goal_expansion_'/2).      % '$lgt_hook_goal_expansion_'(Term, ExpandedTerm) 
    131131 
    132132 
     
    1066410664'$lgt_compile_hooks'(Obj) :- 
    1066510665    (   Obj == user -> 
    10666         TermExpansionGoal = term_expansion(Term, Terms), 
    10667         GoalExpansionGoal = goal_expansion(Term, Terms) 
    10668     ;   '$lgt_tr_msg'(term_expansion(Term, Terms), Obj, TermExpansionGoal, user), 
    10669         '$lgt_tr_msg'(goal_expansion(Term, Terms), Obj, GoalExpansionGoal, user) 
     10666        TermExpansionGoal = term_expansion(Term, ExpandedTerm), 
     10667        GoalExpansionGoal = goal_expansion(Term, ExpandedTerm) 
     10668    ;   '$lgt_tr_msg'(term_expansion(Term, ExpandedTerm), Obj, TermExpansionGoal, user), 
     10669        '$lgt_tr_msg'(goal_expansion(Term, ExpandedTerm), Obj, GoalExpansionGoal, user) 
    1067010670    ), 
    1067110671    retractall('$lgt_hook_term_expansion_'(_, _)), 
    10672     assertz(('$lgt_hook_term_expansion_'(Term, Terms) :- catch(TermExpansionGoal, _, fail))), 
     10672    assertz(('$lgt_hook_term_expansion_'(Term, ExpandedTerm) :- catch(TermExpansionGoal, _, fail))), 
    1067310673    retractall('$lgt_hook_goal_expansion_'(_, _)), 
    10674     assertz(('$lgt_hook_goal_expansion_'(Term, Terms) :- catch(GoalExpansionGoal, _, fail))). 
     10674    assertz(('$lgt_hook_goal_expansion_'(Term, ExpandedTerm) :- catch(GoalExpansionGoal, _, fail))). 
    1067510675 
    1067610676