Tenga en cuenta que main_page//0
es un no terminal, no un predicado Para llamar a los predicados de su base de datos desde main_page//0
, necesitas escribir algo como:
main_page -->
{create_db_connect,
use_database,
query_to_database(X),
disconnect_database},
html(div('id="tab_c2"', p('~w')-[X])).
El {}/1
construct le permite llamar predicados desde (el cuerpo de) reglas gramaticales. Sin él, create_db_connect
y los demás se interpretarían como llamadas a otros no terminales (create_db_connect//0
, ...).
Por lo general, los no terminales se expanden en predicados agregando dos argumentos. De ahí las advertencias que recibió:
Warning: create_db_connect/2, which is referenced by
Warning: /root/prologDev/el.pl:56:17: 1-st clause of main_page/2