next up previous contents
Next: Sintaxa Up: Lexic Previous: Functii   Cuprins

Specificatori

Uneori, unele constructii de limbaj necesita intr-o anumita pozitie valori de un anumit tip (de exemplu, argumentul numeric numit ``raza cercului'' la apelul primitivei grafice ``circle''). Reprezentarile literale (ale numerelor in acest exemplu), pot aparea fara probleme; daca se doreste valoarea unei variabile numerice insa, simplul identificator nu ar putea fi de ajuns, deoarece exista cazuri cand ar duce la ambiguitate (de exemlu, argumentele de tip punct de la primitivele grafice pot fi puncte sau o lista de 2 numerel; pentru a distinge pe ce ``cale'' se merge, e nevoie de la bun inceput sa se distinga cele 2 cazuri; daca argumentele ar incepe cu valori literale ale punctelor sau numerelor, acestea se disting prin definite, deci n-ar fi nici o problema; daca insa se da numele (identificatorul) unei variabile, automatul gramatical generat de bison se va afla intr-o stare nedeterminista, ``nestiind'' ce sa faca: e vorba de o valoare punct sau de un numar ? Asta deoarece analizorul gramatical nu ``stie'' nimic de semantica). Specificatorii rezolva aceasta problema, fiind niste caractere ce prefixeaza identificatorii variabilelor, atunci cand nu se poate altfel (anumite constructii gramaticale accepta identificatori fara specificatori).
next up previous contents
Next: Sintaxa Up: Lexic Previous: Functii   Cuprins
Sebastian Glita 2002-06-19