Одним из способов описания компьютерных компонентов и подкомпонентов является использование грамматик для определенных выражений (DCG). Например:
computer --> monitor, cpu, keyboard, mouse.
...
power --> usb, voltageregulator.
usb --> container, usbhead, pins.
voltageregulator --> barreljack, capacitor, regulator, leds.
Компоненты без подкомпонентов могут быть определены как:
capacitor --> [capacitor].
leds --> [leds].
Чтобы составить список всех частей (например, для печати), вы можете просто использовать стандартный предикат phrase/2
де-факто. Например:
| ?- phrase(computer, Parts).