Merk op dat main_page//0
is een niet-terminal, niet een predikaat. Om uw databasepredikaten aan te roepen vanuit de main_page//0
, moet je iets schrijven als:
main_page -->
{create_db_connect,
use_database,
query_to_database(X),
disconnect_database},
html(div('id="tab_c2"', p('~w')-[X])).
De {}/1
construct stelt je in staat predikaten aan te roepen uit (de body van) grammaticaregels. Zonder dit, create_db_connect
en de andere zouden worden geïnterpreteerd als oproepen naar andere niet-terminals (create_db_connect//0
, ...).
Gewoonlijk worden niet-terminals uitgebreid tot predikaten door twee argumenten toe te voegen. Vandaar de waarschuwingen die je kreeg:
Warning: create_db_connect/2, which is referenced by
Warning: /root/prologDev/el.pl:56:17: 1-st clause of main_page/2