Acasă | Despre noi | feedback-ul
Orice limbă, inclusiv limba de programare, este supusă anumitor reguli. Ele sunt împărțite în reguli care determină sintaxa limbii și regulile care determină semantica ei.
Sintaxa unei limbi este setul de reguli care determină construcțiile admise (cuvinte, propoziții) ale unei limbi, forma ei.
Limbile de programare aparțin grupului de limbi formale, pentru care, spre deosebire de limbile naturale, sintaxa și semantica sunt definite în mod unic. Descrierea sintaxei limbajului include definirea alfabetului și regulile pentru construirea diferitelor construcții de limbi din caractere alfabet și construcții mai simple. Pentru a face acest lucru, utilizați de obicei formularul Backus-Naur (BNF) sau diagramele sintactice. Descrierea proiectului în BNF constă în simbolurile alfabetului limbii, numele construcțiilor mai simple și două semne speciale:
· «:: = = - este citit ca" poate fi înlocuit cu ","
În acest caz, simbolurile alfabetului lingvistic, adesea numite simboluri terminale sau terminale, sunt înregistrate neschimbate. Numele constructelor de limbaj (simboluri nonterminale sau nonterminale), determinate prin alte simboluri, sunt închise în parantezele unghiulare ("<», «>„).
Reguli pentru construirea unei structuri <Целое>, înregistrate în
BNF, poate arăta astfel:
<Целое>. = <3нак> <Целое без знака> | | <Целое без знака>
<Целое без знака>. = <Целое без знака> <Цифра> | | <Цифра>
<Цифра>. = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Pentru a arăta că construcția <Целое без знака> poate include un număr nelimitat de cifre, este utilizată o regulă cu recursiune stânga. Aplicarea multiplă a acestei reguli vă permite să construiți un număr întreg cu orice număr de cifre.
Diagramele de sintaxă afișează reguli pentru construirea structurilor într-o formă mai vizuală. În această diagramă, simbolurile alfabetului sunt reprezentate de blocuri în cadre ovale, numele construcțiilor sunt în cadre dreptunghiulare, iar regulile pentru construirea construcțiilor sunt reprezentate de linii cu săgeți la capete. În acest caz, dacă linia intră în bloc, atunci construcția corespunzătoare trebuie să conțină simbolul corespunzător. Ramificarea liniei înseamnă că sunt posibile variante atunci când se construiește o structură. În Fig. 2.1 este o diagramă de sintaxă care ilustrează primele două reguli ale descrierii proiectului <Целое>. Din diagrama se poate observa că un număr întreg poate fi scris cu sau fără semn și include un număr arbitrar de cifre.
Pentru a descrie construcțiile sintactice ale limbii sale, H. Wirth a folosit diagrame sintactice, astfel încât în cazurile în care descrierea verbală a sintaxei construcției este lungă și neclară, vom folosi diagrame de sintaxă.
Limba de programare alfabet Borland Pascal 7.0 include:
1. litere latine litere mari (a..z, A..Z) și o subliniere (_), care este, de asemenea, în multe cazuri considerată o literă (literele mici și majuscule nu diferă);
3. caractere speciale compuse din unul și două caractere:
4. cuvinte de serviciu (aceste combinații sunt considerate o singură unitate și nu pot fi utilizate într-un program cu o altă capacitate): (exemple)
Din simbolurile alfabetului, sunt construite diverse construcții în conformitate cu regulile sintaxei. Cea mai simplă dintre acestea este construcția <Идентификатор>.
Acest design este utilizat în multe construcții mai complexe pentru a denumi numele obiectelor programelor (câmpuri de date, proceduri, funcții etc.).
În identificatorul Borland Pascal este o secvență de litere ale alfabetului latin (inclusiv caracterul de subliniere) și numere, care trebuie să înceapă cu o literă.
Schema de sintaxă a identificatorului este prezentată în Fig. 2.2. Restul construcțiilor vor fi discutate în secțiunile următoare. Semantica limbajului de programare este pusă în compilatorul său. Astfel, un program sintactic corect scris într-un limbaj de programare, după ce îl transformați într-o secvență de instrucțiuni de mașină, vă va asigura că computerul efectuează operațiile necesare.
Programul de pe Borland Pascal constă din trei părți: un titlu, o secțiune de descrieri și o secțiune de operatori.
Un exemplu este un program care implementează algoritmul euclidian pentru a determina cel mai mare divizor comun al a două numere naturale.