Compilatoare compilatoare

Un compilator compilator  este un program care preia o descriere sintactică sau semantică a unui limbaj de programare și generează un compilator pentru limbajul respectiv [1] .

Sintaxa este exprimată ca BNF sau derivată a acestuia și trebuie să îndeplinească regulile metodei de parsare care va fi folosită în compilatorul generat.

Semantica unui limbaj este de obicei descrisă prin asocierea unei proceduri de generare a codului cu fiecare construct sintactic, cu procedura necesară apelată ori de câte ori constructul corespunzător este recunoscut de parser. Astfel, utilizatorul compilatoarelor compilatoare trebuie, în orice caz, să dezvolte structuri de execuție și să aleagă o modalitate de a converti fiecare construcție sintactică de intrare în operații în limbaj de ieșire sau în operații de mașină , după care este necesar să scrie procedurile efective de generare a codului. Prin urmare, Compilatorul de compilatoare este un instrument util pentru a vă ajuta să scrieți compilatoare, dar nimic mai mult.

Strict vorbind, generatorul de parser face parte din compilatorul compilatorilor, totuși cei doi termeni sunt adesea folosiți interschimbabil.

Note

  1. Dictionary of Computing Systems = Dictionary of Computing / Ed. V. Illingworth şi alţii: Per. din engleza. A. K. Belotsky și alții; Ed. E. K. Maslovsky. - M . : Mashinostroenie, 1990. - 560 p. - 70.000 de exemplare (suplimentare).  - ISBN 5-217-00617-X (URSS), ISBN 0-19-853913-4 (Marea Britanie).

Vezi și