File: bom.lgt

package info (click to toggle)
yap 5.1.1-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 16,124 kB
  • ctags: 14,650
  • sloc: ansic: 122,796; perl: 22,545; sh: 3,768; java: 1,277; makefile: 1,191; xml: 739; tcl: 624; lisp: 142; awk: 9
file content (33 lines) | stat: -rw-r--r-- 693 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

:- 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.