Changeset 4442 for trunk/compiler

Show
Ignore:
Timestamp:
08/21/08 08:00:59 (5 months ago)
Author:
pmoura
Message:

Corrected a bug in the compilation of source file op/3 directives whose third argument is a list of operator specifiers instead of a single operator specifier.

Applied several optimizations to the Logtalk compiler, mostly related to non-detected deterministic predicates due to calls to dynamic predicates or due to limitations in clause indexing by most Prolog compilers.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/compiler/logtalk.pl

    r4441 r4442  
    50155015% '$lgt_pp_entity'(?atom, ?entity_identifier, ?atom, ?atom, ?atom) 
    50165016% 
    5017 % provides access to some common used data on the entity being compiled 
     5017% provides deterministic access to some common used data on the entity being compiled 
    50185018 
    50195019'$lgt_pp_entity'(object, Entity, Prefix, Dcl, Mode) :- 
     
    77237723 
    77247724'$lgt_optimizable_local_db_call'(Pred, TPred) :- 
    7725     '$lgt_pp_object_'(_, Prefix, _, _, _, _, _, _, _, _, _) ->  % exclude categories 
    7726     '$lgt_compiler_flag'(debug, off),                           % not debugging 
    7727     (   Pred = (Head :- Body) ->                                % only facts allowed 
     7725    '$lgt_pp_entity'(object, _, Prefix, _, _),      % only for objects 
     7726    '$lgt_compiler_flag'(debug, off),               % not debugging 
     7727    (   Pred = (Head :- Body) ->                    % only facts allowed 
    77287728        Body == true 
    77297729    ;   Head = Pred