================================================================= Logtalk - Object oriented extension to Prolog Release 2.15.6 Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved. ================================================================= % DCG rules implementing a simple calculator: | ?- calculator::parse("1+2-3*4", Result). Result = -9 yes % recognizing gramatically correct sentences | ?- sentence::parse([the, girl, likes, the, boy], Result). Result = true yes | ?- sentence::parse([the, girl, scares, the, boy], Result). Result = false yes % generating parse trees for sentences | ?- parsetree::parse([the, girl, likes, the, boy], Tree). Tree = Tree = s(np(d(the), n(girl)), vp(v(likes), np(d(the), n(boy)))) yes % conversion between compound terms and XML | ?- xml::convert(word(child, children), word(singular, plural), XML). XML = 'childchildren' yes | ?- xml::convert(Term, Interpretation, 'childchildren'). Term = word(child, children) Interpretation = word(singular, plural) yes % parsing URLs | ?- url::parse("http://www.logtalk.org", Components). Components = [protocol(http), address([www, logtalk, org]), path([]), file('')] yes | ?- url::parse("http://www.logtalk.org/", Components). Components = [protocol(http), address([www, logtalk, org]), path(['']), file('')] yes | ?- url::parse("http://www.logtalk.org/cvs", Components). Components = [protocol(http), address([www, logtalk, org]), path([cvs]), file('')] yes | ?- url::parse("http://www.logtalk.org/cvs.html", Components). Components = [protocol(http), address([www, logtalk, org]), path([]), file('cvs.html')] yes | ?- url::parse("http://193.136.64.5/files/update", Components). Components = [protocol(http), address([193, 136, 64, 5]), path([files, update]), file('')] yes