Logtalk 2.27.0 files.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1539 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
pmoura 2006-02-10 17:44:05 +00:00
parent 42ca7aa79f
commit 9fe4d26c59
294 changed files with 3358 additions and 1376 deletions

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -137,6 +137,10 @@ the steps described in the "QUICK_START" file.
4. COPYING THE LOGTALK USER-MODIFIABLE FILES TO USERS HOME DIRECTORIES
If you installed Logtalk on your home directory, then skip this step if you
have set both Logtalk environment variables (LOGTALKHOME and LOGTALKUSER) to
point to the same directory.
Each user must make a local copy of the Logtalk user-modifiable files to its
home directory. This setup allows each user to easily and independently
customize Logtalk to its needs. These copies can be easily made by instructing

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -10,6 +10,75 @@ RELEASE NOTES
=============
2.27.0 - February 9, 2006
Improved performance for local calls to the built-in methods phrase/2-3.
Allow the built-in methods phrase/2-3 to accept both partial and proper
lists of terminals.
Improved grammar rule translator. Report calls to undefined non-terminals
when translating grammar rules.
Added support for declaring grammar rule non-terminal aliases using the
alias/3 directive.
Added a new predicate property, non_terminal/1, for predicates resulting
from the compilation of grammar rule non-terminals.
Improved support for the built-in method expand_term/2 in order to allow
bypassing of the default Logtalk grammar rule translator by defining
clauses for the term_expansion/2 predicate. Added a "term_expansionp"
protocol to the Logtalk library. Added a new example, "expansion",
illustrating the use of the term_expansion/2 predicate.
Added a new compiler flag, hook/1, allowing the specification of a
compiler hook that is called for which term read from a source file.
Added a simple example, "hooks", of using the Logtalk compiler hook
to expand author abbreviations in info/1 directives into full names
and email addresses.
Added support for XSB 3.x to the runtime error handler. Updated the XSB
3.x config file with declarations for multi-threading meta-predicates.
Removed a few choice-points when checking validity of entity directives.
Added two new objects, list(Type) and set(Type), to the standard library
supporting the validation of lists and ordered sets whose elements are
restricted to a single type.
Added a new DCG example for solving enigmas encoded using a cellphone
keypad.
Added a missing library dependency to the "puzzles" example SCRIPT file.
Removed the experimental "systemp.lgt" protocol from the list of files
loaded by the "library/all_loader.lgt" loader utility files to avoid
compilation errors on some Prolog systems.
Corrected a bug that prevented dynamic creation of categories using the
built-in predicate create_category/4.
Corrected a bug in the reporting of singleton variables, which failed to
write an accurate message for facts and grammar rules.
Corrected a bug in passing the correct calling context ("this") when
processing meta-calls in objects.
Corrected a bug in scope checking with local calls to reflection and
database methods.
Corrected a bug in checking the validity of the arguments of the op/3
directive appearing inside entities.
Added predicates for testing if a term is a partial list or a proper list
to all config files.
Added a definition for missing open/4 ISO Prolog predicate to the config
file of Bin Prolog.
Added a workaround for a B-Prolog bug to this compiler config file.
2.26.2 - December 20, 2005
Improved error-checking for the Logtalk compiler and for the grammar rule

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -118,3 +118,7 @@ whose names always contain the arity of the entity identifier appended at the
end (using the format "_arity"). This change implied updates to the lgt2xml.*
and lgt2html.* shell scripts which render them incompatible with the XML files
generated by previous Logtalk versions.
Logtalk version 2.27.0 changes representation of declared predicates in order
to support the new predicate property non_terminal/1, implying recompilation
of all objects, protocols, and categories.

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
This folder contains code contributions from Logtalk users. Here is

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -88,6 +88,9 @@ errors
hello_world
the unavoidable "hello world" programming example
hooks
simple example of using compiler hook predicates
inheritance
examples of public, protected, and private inheritance using both
prototypes and classes/instances

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -13,6 +13,8 @@ objects and categories:
calculator
canonical DCG example of parsing arithmetic expressions
enigma
solve a cellphone enigma against a dictionary of words
bom
bill of materials DCG example (see below for original source)
sentences

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -20,6 +20,14 @@ Result = -9
yes
% solve a cellphone keypad encoded enigma:
| ?- enigma::solve("4 96853 5683 86 4283 346637 9484 968 8664448", Message).
Message = [i, would, love, to, have, dinner, with, you, tonight]
yes
% recognizing gramatically correct sentences:
| ?- sentence::parse([the, girl, likes, the, boy], Result).

View File

@ -13,95 +13,106 @@
comment is 'Runs the Logtalk DCG translator on the test cases.']).
run :-
case(N, Rule),
write('Test '), write(N), write(':'), nl,
write(' '), writeq(Rule), nl,
(catch(expand_term(Rule, Clause), Error, write_error(Error)) ->
write(' '), writeq(Clause)
;
write(' FAILED TRANSLATION')),
nl, nl,
fail.
write('Testing expand_term/2 predicate ...'), nl, nl,
gr_tr_test(N, GR, Result),
write(N), write(': '), writeq(GR), write(' --- '),
write(Result), write(' expected'), nl,
( catch(
expand_term(GR, Clause),
Error,
(write(' error: '), write(Error), nl, fail)) ->
write(' '), writeq(Clause)
; write(' expansion failed!')
),
nl, nl,
fail.
run.
write_error(Error) :-
write(' ERROR: '), writeq(Error), nl, fail.
% basic tests
case( 1, (p --> b)).
case( 2, (p --> 3)).
case( 3, (p(X) --> b(X))).
% terminal tests with list notation:
gr_tr_test(101, (p --> []), success).
gr_tr_test(102, (p --> [b]), success).
gr_tr_test(103, (p --> [abc, xyz]), success).
gr_tr_test(104, (p --> [abc | xyz]), error).
gr_tr_test(105, (p --> [[], {}, 3, 3.2, a(b)]), success).
gr_tr_test(106, (p --> [_]), success).
% metacall test
case( 9, (p --> _)).
% terminal tests with string notation:
gr_tr_test(151, (p --> "b"), success).
gr_tr_test(152, (p --> "abc", "q"), success).
gr_tr_test(153, (p --> "abc" ; "q"), success).
% terminal tests with list notation
case(11, (p --> [])).
case(12, (p --> [b])).
case(13, (p --> [abc, xyz])).
case(14, (p --> [abc | xyz])).
case(15, (p --> [[], {}, 3, 3.2, a(b)])).
case(16, (p --> [_])).
% simple non-terminal tests:
gr_tr_test(201, (p --> b), success).
gr_tr_test(202, (p --> 3), error).
gr_tr_test(203, (p(X) --> b(X)), success).
% terminal tests with string notation
case(17, (p --> "b")).
case(18, (p --> "abc", "q")).
case(19, (p --> "abc" ; "q")).
% conjunction tests:
gr_tr_test(301, (p --> b, c), success).
gr_tr_test(311, (p --> true, c), success).
gr_tr_test(312, (p --> fail, c), success).
gr_tr_test(313, (p(X) --> call(X), c), success).
% control construct tests
case(21, (p --> b, c)).
case(22, (p --> b ; c)).
case(23, (p --> b -> c)).
case(24, (p --> b -> c1, c2 ; d)).
case(25, (p --> b -> c ; d1, d2)).
case(26, (p --> b1, b2 -> c ; d)).
case(27, (p --> q ; [])).
case(28, (p --> [x] -> [] ; q)).
case(29, (p --> [a] ; [b])).
% disjunction tests:
gr_tr_test(351, (p --> b ; c), success).
gr_tr_test(352, (p --> q ; []), success).
gr_tr_test(353, (p --> [a] ; [b]), success).
% negation tests
case(31, (p --> \+ b, c)).
case(32, (p --> b, \+ c, d)).
% if-then-else tests:
gr_tr_test(401, (p --> b -> c), success).
gr_tr_test(411, (p --> b -> c; d), success).
gr_tr_test(421, (p --> b -> c1, c2 ; d), success).
gr_tr_test(422, (p --> b -> c ; d1, d2), success).
gr_tr_test(431, (p --> b1, b2 -> c ; d), success).
gr_tr_test(441, (p --> [x] -> [] ; q), success).
% {}/1 tests
case(41, (p --> {b})).
case(42, (p --> {3})).
case(43, (p --> {c,d})).
case(44, (p --> '{}'((c,d)))).
case(45, (p --> {a}, {b}, {c})).
case(46, (p --> {q} -> [a] ; [b])).
case(47, (p --> {q} -> [] ; b)).
case(48, (p --> [foo], {write(x)}, [bar])).
case(49, (p --> [foo], {write(hello)},{nl})).
case(50, (p --> [foo], {write(hello), nl})).
% negation tests:
gr_tr_test(451, (p --> \+ b, c), success).
gr_tr_test(452, (p --> b, \+ c, d), success).
% cut tests
case(51, (p --> !, [a])).
case(52, (p --> b, !, c, d)).
case(53, (p --> b, !, c ; d)).
case(54, (p --> [a], !, {fail})).
case(55, (p(a), [X] --> !, [X, a], q)).
case(56, (p --> a, ! ; b)).
% cut tests:
gr_tr_test(501, (p --> !, [a]), success).
gr_tr_test(502, (p --> b, !, c, d), success).
gr_tr_test(503, (p --> b, !, c ; d), success).
gr_tr_test(504, (p --> [a], !, {fail}), success).
gr_tr_test(505, (p(a), [X] --> !, [X, a], q), success).
gr_tr_test(506, (p --> a, ! ; b), success).
% non-terminals corresponding to "graphic" characters or built-in operators
case(61, ('[' --> b, c)).
case(62, ('=' --> b, c)).
% {}/1 tests:
gr_tr_test(601, (p --> {b}), success).
gr_tr_test(602, (p --> {3}), error).
gr_tr_test(603, (p --> {c,d}), success).
gr_tr_test(604, (p --> '{}'((c,d))), success).
gr_tr_test(605, (p --> {a}, {b}, {c}), success).
gr_tr_test(606, (p --> {q} -> [a] ; [b]), success).
gr_tr_test(607, (p --> {q} -> [] ; b), success).
gr_tr_test(608, (p --> [foo], {write(x)}, [bar]), success).
gr_tr_test(609, (p --> [foo], {write(hello)},{nl}), success).
gr_tr_test(610, (p --> [foo], {write(hello), nl}), success).
% more tests
case(71, (p --> true, c)).
case(72, (p --> fail, c)).
case(73, (p(X) --> call(X), c)).
% "metacall" tests:
gr_tr_test(701, (p --> X), success).
gr_tr_test(702, (p --> _), success).
% pushback tests
case(81, (p, [t] --> b, c)).
case(82, (p, [t] --> b, [t])).
case(83, (p, [t] --> b, [s, t])).
case(84, (p, [t] --> b, [s], [t])).
case(85, (p(X, Y), [X, Y] --> [X, Y])).
case(86, (p(a), [X] --> !, [X, a], q)).
case(87, (p, [a,b] --> [foo], {write(hello), nl})).
case(88, (p, [t], [t2] --> b, c)).
case(89, (p, b --> c)).
case(90, ([b], a(27) --> c)).
% non-terminals corresponding to "graphic" characters
% or built-in operators/predicates:
gr_tr_test(801, ('[' --> b, c), success).
gr_tr_test(802, ((=) --> b, c), success).
% pushback tests:
gr_tr_test(901, (p, [t] --> b, c), success).
gr_tr_test(902, (p, [t] --> b, [t]), success).
gr_tr_test(903, (p, [t] --> b, [s, t]), success).
gr_tr_test(904, (p, [t] --> b, [s], [t]), success).
gr_tr_test(905, (p(X), [X] --> [X]), success).
gr_tr_test(906, (p(X, Y), [X, Y] --> [X, Y]), success).
gr_tr_test(907, (p(a), [X] --> !, [X, a], q), success).
gr_tr_test(908, (p, [a,b] --> [foo], {write(hello), nl}), success).
gr_tr_test(909, (p, [t1], [t2] --> b, c), error).
gr_tr_test(910, (p, b --> b), error).
gr_tr_test(911, ([t], p --> b), error).
gr_tr_test(911, ([t1], p, [t2] --> b), error).
:- end_object.

View File

@ -0,0 +1,77 @@
:- object(enigma).
:- info([
version is 1.0,
author is 'Paulo Moura',
date is 2006/01/22,
comment is 'Example of using DCG rules to decrypt a enigma where words are made of numbers corresponding to the characters on a cellphone keypad.']).
:- public(solve/2).
:- public(solve/2).
:- mode(solve(+string, -list(atom)), zero_or_one).
:- info(solve/2, [
comment is 'Solves a cellphone enigma against a dictionary of words.',
argnames is ['Enigma', 'Message']]).
solve(Enigma, Message) :-
phrase(message(Message), Enigma).
message([Word| Words]) --> separator, word(Chars), {atom_chars(Word, Chars), dictionary(Word)}, !, message(Words).
message([]) --> separator.
word([Char| Chars]) --> character(Char), word(Chars).
word([]) --> [].
separator --> " ", !, separator.
separator --> [].
character(a) --> "2".
character(b) --> "2".
character(c) --> "2".
character(d) --> "3".
character(e) --> "3".
character(f) --> "3".
character(g) --> "4".
character(h) --> "4".
character(i) --> "4".
character(j) --> "5".
character(k) --> "5".
character(l) --> "5".
character(m) --> "6".
character(n) --> "6".
character(o) --> "6".
character(p) --> "7".
character(q) --> "7".
character(r) --> "7".
character(s) --> "7".
character(t) --> "8".
character(u) --> "8".
character(v) --> "8".
character(w) --> "9".
character(x) --> "9".
character(y) --> "9".
character(z) --> "9".
dictionary(dinner).
dictionary(have).
dictionary(i).
dictionary(love).
dictionary(miss).
dictionary(much).
dictionary(me).
dictionary(you).
dictionary(so).
dictionary(to).
dictionary(tonight).
dictionary(with).
dictionary(would).
:- end_object.

View File

@ -3,6 +3,7 @@
logtalk_load([
parsep,
calculator,
enigma,
parsetree,
sentences,
url,
@ -22,6 +23,7 @@ files, comment the directive above and uncomment the directive below
logtalk_load(
[parsep,
calculator,
enigma,
parsetree,
sentences,
url,

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
@ -41,5 +41,6 @@ Redefinition of method m/0 in object c3
yes
| ?- d3::m.
Redefinition of method m/0 in object b3
yes

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -0,0 +1,13 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.27.0
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
To load this example and for sample queries, please see the SCRIPT
file.
For a description of this example, please see the comments in the
engines.lgt source file.

View File

@ -0,0 +1,45 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.27.0
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
% start by loading the example:
| ?- logtalk_load([library(term_expansionp), expansion(loader)]).
...
% simple tests of the expand_term/2 built-in method:
| ?- exp_public::expand_term(8, Term).
Term = eight
yes
| ?- exp_protected::expand_term(8, Term).
Term = 8
yes
| ?- exp_private::expand_term(8, Term).
Term = 8
yes
| ?- desc_public::test(8, Term).
Term = eight
yes
| ?- desc_protected::test(8, Term).
Term = eight
yes
| ?- desc_private::test(8, Term).
Term = 8
yes

View File

@ -0,0 +1,65 @@
:- category(number_conversion,
implements(term_expansionp)).
term_expansion(0, zero).
term_expansion(1, one).
term_expansion(2, two).
term_expansion(3, three).
term_expansion(4, four).
term_expansion(5, five).
term_expansion(6, six).
term_expansion(7, seven).
term_expansion(8, eight).
term_expansion(9, nine).
:- end_category.
:- category(conversion_test).
:- public(test/2).
test(Term, Expansion) :-
expand_term(Term, Expansion).
:- end_category.
:- object(exp_public,
imports(public::number_conversion)).
:- end_object.
:- object(desc_public,
imports(conversion_test),
extends(exp_public)).
:- end_object.
:- object(exp_protected,
imports(protected::number_conversion)).
:- end_object.
:- object(desc_protected,
imports(conversion_test),
extends(exp_protected)).
:- end_object.
:- object(exp_private,
imports(private::number_conversion)).
:- end_object.
:- object(desc_private,
imports(conversion_test),
extends(exp_private)).
:- end_object.

View File

@ -0,0 +1,9 @@
:- initialization(logtalk_load(expansion)).
/*
If you intend to use the FOP XSL:FO processor for generating PDF documenting
files, comment the directive above and uncomment the directive below
:- initialization(logtalk_load(expansion, [xmlsref(standalone)])).
*/

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
:- object(hello_world).
:- initialization(write('Hello World!')).
:- initialization((nl, write('********** Hello World! **********'), nl)).
:- end_object.

View File

@ -0,0 +1,13 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.27.0
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
To load this example and for sample queries, please see the SCRIPT file.
This folder contains a very simple example of using the Logtalk compiler
hook to expand author abbreviations in info/1 directives into full names
and email addresses.

View File

@ -0,0 +1,15 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.27.0
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
% start by loading the example:
| ?- logtalk_load(hooks(loader)).
...
% check the XML documenting file generated for "object"

View File

@ -0,0 +1,30 @@
:- object(hook).
:- info([
version is 1.0,
author is 'Paulo Moura',
date is 2006/01/29,
comment is 'Example of an object defining compiler hook predicates.']).
:- public(hook/2).
:- mode(hook(@nonvar, -list), zero_or_one).
:- info(hook/2, [
comment is 'Compiler hook predicate.',
arguments is ['Term'-'Source file term', 'Terms'-'Resulting list of terms']]).
hook((:- info(Original)), [(:- info(New))]) :-
expand_author(Original, New).
expand_author([], []).
expand_author([Info| Infos], [Info2| Infos2]) :-
( Info = (author is Abbreviation) ->
author(Abbreviation, FullName),
Info2 = (author is FullName)
; Info = Info2
),
expand_author(Infos, Infos2).
author(pm, 'Paulo Moura, pmoura@logtalk.org').
:- end_object.

View File

@ -0,0 +1,11 @@
:- initialization(
(logtalk_load(hook),
logtalk_load(object, [hook(hook::hook), xmldocs(on)]))).
/*
If you intend to use the FOP XSL:FO processor for generating PDF documenting
files, comment the directive above and uncomment the directive below
:- initialization(logtalk_load(hooks, [hook(hook::hook), xmldocs(on), xmlsref(standalone)])).
*/

View File

@ -0,0 +1,10 @@
:- object(object).
:- info([
version is 1.0,
author is pm,
date is 2006/01/29,
comment is 'Example object for illustrating the use of compiler hooks.']).
:- end_object.

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -5,7 +5,7 @@
version is 1.0,
date is 2004/6/8,
author is 'Paulo Moura',
comment is 'Translator of logic propostions to clauses in conjunctive normal form.',
comment is 'Translator of logic propositions to clauses in conjunctive normal form.',
source is 'Code partially based on an example found on the Clocksin and Mellish Prolog book.']).
:- public(translate/2).

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
This directory contains examples adapted from the LPA Prolog++

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,11 +1,18 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================
% start by loading the necessary library support files (if not
% already loaded):
| ?- logtalk_load(library(types_loader)).
...
% start by loading the example:
| ?- logtalk_load(puzzles(loader)).

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,8 +1,8 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.26.2
Release 2.27.0
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
=================================================================

Some files were not shown because too many files have changed in this diff Show More