Extras din curs
Cap2.Consideratii generale privind lexicul,sintaxa
si semantica unui limbaj de programare
Orice limbaj de programare are la baza un anumit alfabet care in majoritatea cazurilor este format din urmatorul set de caractere
1. literele alfabetului englez de la A la Z si cele majuscule
2. cifrele arabe de la 0-9
3. unele caractere speciale cum ar fi: . , ; = < > <> $ % + - ’ # / ( ) ….. cu mentiunea ca unele semne pot diferi de la un limbaj la altul.
Pentru codificarea seturilor de caractere se utilizeaza urmatoarele standarde
a) codul EBCDIC ,cod pe 8 biti,introdus de catre IBM
b) codul ASCII , cod pe 7 biti,modificarea a 128 caractere si anume 95 tiparibile si 33 netiparibile – emit caractere de control.Ulterior codul a fost extins pe 8 biti fiind disponibil 256 de caractere. Primele 128 sunt din setul standard,iar urmatoarele 128 sunt coduri de caracter tiparibile pentru caracterele unor alfabete internationale europene:francez,spaniol,roman.O parte din literele alfabetului grecesc,unele simboluri matematice,caractere speciale pentru desenat tabele.Ordonarea caracterelor alfabetului se face pe baza codurilor numerice corespunzatoare celor 8 biti.Pe baza caracterelor ce definesc alfabetul limbajului se alcatuiesc cuvinte care formeaza vocabularul limbajului ,iar cu ajutorul acestuia se constituie instructiunile acestea.Exista niste categorii de cuvinte speciale(cuvinte cheie)care au inteles explicit,intr-un context percizat(move),cuvintele rezervate, acestea nu pot fi folosite decat in scopul in care au fost definite, cuvintele definite de catre utilizator pot desemna: un nume de variabila,nume de fisier,nume de functii,nume de proceduri
Sintaxa unui limbaj de programare
Si in cazul limbajelor de programare succesiunile de cuvinte construite dupa anumite reguli formeaza propozitii,numite instructiuni.Sintaxa unui limbaj de programre reprezinta ansamblul de reguli prin care se determina daca o anumita instructiune este alcatuita corect sau nu.Sintaxa unui limbaj de programre poate fi descrisa in diverse moduri,unul dintre acestea fiind notatia BNF(Backus Nauv Form) a fost utilizata pentru prima data la deschiderea sintaxei limbajului ALGOL.
In cadrul BNF sunt folosite metasimboluri,simboluri terminale si simboluri neterminale.
Metasimboluri: < , > ,1/2 , ::= - se defineste astfel
Simboluri terminale sunt cuvinte cum ar fi : for , while , do , +
Simboluri neterminale sunt simboluri incadrate intre metasimboluri <…>
Ex: <identificator>::=<litera>1/2<identificator><cifra>1/2<identificator><litera>
<litera>::=a1/2b1/2c……..1/2z1/2A1/2……1/2Z
<cifra>::=01/211/22….1/29
Conform acestei definitie un indicator poate fi o singura litera sau o litera urmata de oricate litere si/sau cifre
Traducerea programelor(translatoare)
Translatorul este un program ce traduce un program sursa scris intr-un anumit limbaj de programare,intr-un program echivalent dintr-un alt limbaj,acest nou program numindu-se program destinatie.Translatoarele se clasifica astfel:
1. Compilatoare
Pentru aceste translatoare programul destinatiei se numeste program obiect sau cod obiect,fiind foarte apropiat de codul limbaj-masina
Preview document
Conținut arhivă zip
- Consideratii Generale privind Lexicul, Sintaxa si Semantica unui Limbaj de Programare.doc