This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/Logtalk/examples/dcgs/bom.lgt
pmoura b25690af56 Logtalk 2.17.1 files.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1071 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-06-06 22:46:45 +00:00

34 lines
693 B
Plaintext

:- object(bom).
:- info([
version is 1.0,
date is 2004/5/11,
author is 'Paulo Moura',
comment is 'Adaptation of the bill of materials DCG example from the Amzi! Prolog manual.']).
:- public(parts/2).
:- mode(parts(+atom, -list), one).
:- info(parts/2, [
comment is 'Returns the list of parts for building an object.',
argnames is ['Object', 'Parts']]).
parts(Object, Parts) :-
phrase(Object, Parts).
bike --> frame, drivechain, wheel, wheel.
wheel --> spokes, rim, hub.
drivechain --> crank, pedal, pedal, chain.
spokes --> [spokes].
crank --> [crank].
pedal --> [pedal].
chain --> [chain].
rim --> [rim].
hub --> [hub].
frame --> [frame].
:- end_object.