Pamiętaj, że main_page//0
nie jest terminalem, nie predykat. Aby wywołać predykaty bazy danych ze strony main_page//0
, musisz napisać coś takiego:
main_page -->
{create_db_connect,
use_database,
query_to_database(X),
disconnect_database},
html(div('id="tab_c2"', p('~w')-[X])).
{}/1
konstrukcja umożliwia wywoływanie predykatów z (treści) reguł gramatycznych. Bez niego create_db_connect
a inne będą interpretowane jako wywołania innych nieterminali (create_db_connect//0
, ...).
Zazwyczaj nieterminale są rozwijane do predykatów przez dołączenie dwóch argumentów. Stąd ostrzeżenia, które otrzymałeś:
Warning: create_db_connect/2, which is referenced by
Warning: /root/prologDev/el.pl:56:17: 1-st clause of main_page/2