20 elemente de compilare }i dezvoltarea programelor mari
20 elemente de compilare }i dezvoltarea programelor mari 20 elemente de compilare }i dezvoltarea programelor mari
194 Practica program[rii logice ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ ⎯ F. Programarea modular[ Atunci c`nd programul este foarte mare sau c`nd este necesar ca unele predicate s[ fie scrise @n alte limbaje de programare este util[ chiar necesar[ structurarea sa @n mai multe module care vor fi compilate separat cu urm[toarele avantaje: - mai mul\i programatori pot lucra simultan la mai multe module; - se pot realiza noi programe folosind module deja create ]i testate; - se simplific[ depanarea; modulele pot fi testate independent; - @n cazul modific[rii programului se modific[ doar modulele relevante; - modulele pot fi scrise ]i @n alte limbaje de programare; - modulele pot avea at`t predicate locale c`t ]i globale; Pentru a realiza modularea unui program se parcurg urm[toarele etape: - se define]te un fi]ier proiect (.PRJ) cu ajutorul meniului 0ptions/Edit PRJ files; acest fi]ier va con\ine numele modulelor programului ca @n exemplul de mai jos: prog1+ prog2+ prog3+ prog4+ Exemplul 20.9. Con\inutul unui fi]ier proiect. Aceste module sunt fie fi]iere scrise @n Turbo Prolog fie fi]iere obiect scrise @n alte limbaje. - unul din module va fi desemnat ca modul principal ]i este singurul care va con\ine un scop (evident, numai intern); Pentru compilarea tuturor modulelor folosim Compile/Project (all files) care solicit[ numele proiectului ]i compileaz[ toate modulele. Un modul poate fi compilat separat @n format obiect cu op\iunea din meniul Compile/OBJ file. #n cazul @n care un domeniu sau un predicat se dore]te s[ fie vizibil @n mai multe module trebuie s[ fie declarat @n sec\iunea global domains respectiv global predicates, care se plaseaz[ la @nceputul modulului @nainte de sec\iunea domains respectiv predicates. Pentru detalii [1].
- Page 1 and 2: Readiness is all SHAKESPEARE - Haml
- Page 3 and 4: Elemente de compilare 189 ⎯⎯⎯
- Page 5 and 6: Elemente de compilare 191 ⎯⎯⎯
- Page 7: Elemente de compilare 193 ⎯⎯⎯
194 Practica program[rii logice<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
⎯<br />
F. Programarea modular[<br />
Atunci c`nd programul este foarte mare sau c`nd este necesar ca<br />
unele predicate s[ fie scrise @n alte limbaje <strong>de</strong> programare este util[ chiar<br />
necesar[ structurarea sa @n mai multe module care vor fi compilate separat<br />
cu urm[toarele avantaje:<br />
- mai mul\i programatori pot lucra simultan la mai multe module;<br />
- se pot realiza noi programe folosind module <strong>de</strong>ja create ]i testate;<br />
- se simplific[ <strong>de</strong>panarea; modulele pot fi testate in<strong>de</strong>pen<strong>de</strong>nt;<br />
- @n cazul modific[rii programului se modific[ doar modulele relevante;<br />
- modulele pot fi scrise ]i @n alte limbaje <strong>de</strong> programare;<br />
- modulele pot avea at`t predicate locale c`t ]i globale;<br />
Pentru a realiza modularea unui program se parcurg urm[toarele<br />
etape:<br />
- se <strong>de</strong>fine]te un fi]ier proiect (.PRJ) cu ajutorul meniului<br />
0ptions/Edit PRJ files; acest fi]ier va con\ine numele modulelor<br />
programului ca @n exemplul <strong>de</strong> mai jos:<br />
prog1+<br />
prog2+<br />
prog3+<br />
prog4+<br />
Exemplul <strong>20</strong>.9. Con\inutul unui fi]ier proiect.<br />
Aceste module sunt fie fi]iere scrise @n Turbo Prolog fie fi]iere<br />
obiect scrise @n alte limbaje.<br />
- unul din module va fi <strong>de</strong>semnat ca modul principal ]i este<br />
singurul care va con\ine un scop (evi<strong>de</strong>nt, numai intern);<br />
Pentru <strong>compilare</strong>a tuturor modulelor folosim<br />
Compile/Project (all files)<br />
care solicit[ numele proiectului ]i compileaz[ toate modulele.<br />
Un modul poate fi compilat separat @n format obiect cu op\iunea<br />
din meniul Compile/OBJ file. #n cazul @n care un domeniu sau un<br />
predicat se dore]te s[ fie vizibil @n mai multe module trebuie s[ fie<br />
<strong>de</strong>clarat @n sec\iunea global domains respectiv global predicates, care<br />
se plaseaz[ la @nceputul modulului @nainte <strong>de</strong> sec\iunea domains respectiv<br />
predicates. Pentru <strong>de</strong>talii [1].