Bemærk, at main_page//0
er en ikke-terminal, ikke et prædikat. At kalde din database prædikater fra main_page//0
, skal du skrive noget som:
main_page -->
{create_db_connect,
use_database,
query_to_database(X),
disconnect_database},
html(div('id="tab_c2"', p('~w')-[X])).
{}/1
konstruktion giver dig mulighed for at kalde prædikater fra (kroppen af) grammatikregler. Uden det, create_db_connect
og de andre vil blive fortolket som opkald til andre ikke-terminaler (create_db_connect//0
, ...).
Typisk udvides ikke-terminaler til prædikater ved at tilføje to argumenter. Derfor advarslerne du fik:
Warning: create_db_connect/2, which is referenced by
Warning: /root/prologDev/el.pl:56:17: 1-st clause of main_page/2