Automate, limbaje si compilatoare
FISA DISCIPLINEI

Anul universitar 2010- 2011



  Departament Home

Cod:
Titular curs: Prof. dr. Ion Iancu
Titular laborator: Asist. drd. Mirela Carmen Andrei
Forma de invatamant: lunga
Ciclul: I; Anul III
Semestrul 1, Curs: 2h, Laborator: 2h
Nr. credite:
Profil: informatica
Specializare: informatica
Tip disciplina: obligatorie
Categoria formativa: de specialitate
Obiective:
  • Notiuni generale de teoria limbajelor formale.
  • Cunoaterea unor elemente de teoria traducerii.
  • Cunoasterea principiilor de baza, a etapelor si tehnicilor de proiectare a unui compilator.
  • Insusirea unor tehnici de implementare utilizate in teoria compilatoarelor .
Continutul laboratorului:
  1. Notiuni generale de teoria limbajelor formale.
    1. Gramatici formale. Ierarhia lui Chomsky.
    2. Automate finite.
    3. Automate pushdown.
  2. Elemente de teoria traducerii
    1. Scheme de traducere orientate de sintaxa.
    2. Traducatoare finite
    3. Traducatoare pushdown.
  3. Analiza lexicala
    1. Modele utilizate in proiectarea analizoarelor lexicale .
  4. Analiza sintactica
    1. Analiza sintactica descendenta.
    2. Analiza sintactica ascendenta.
    3. Analiza sintactica de tip Cooke-Younger-Kasami.
    4. Analiza sintactica pentru gramatici de precedenta.
    5. Analiza sintactica LL(k).
    6. Analiza sintactica LR(k).
  5. Analiza semantica
    1. Gramatici cu atribute
    2. Gramatici L-atributate.
    3. Exemple de analiza semantica.
  6. Generarea codului intermediar. Optimizarea codului.
    1. Forma poloneza.
    2. Arbori sintactici.
    3. Cod intermediar cu trei adrese.
    4. Optimizari simple.
    5. Optimizari locale.
    6. Optimizari globale.
  7. Tabela de simboluri
    1. Generalitati.
    2. Organizarea tabelei de simboluri.
    3. Reprezentarea identificatorilor.
  8. Tratarea erorilor.
    1. Erori in analiza lexicala.
    2. Erori in anliza sintactica
    3. Erori in analiza semantica

Discipline anterioare cerute:
  • Limbaje formale I
Discipline anterioare recomandate:
  • Algoritmi si structuri de date
    Cod: CB3111; CB4108
Forma de evaluare: proiect la laborator + examen Proiectul la laborator: consta in realizarea urmatoarelor patru lucrari:
  • Implementarea unor algoritmi prezentati la automate finite si pushdown
  • Proiectarea unui analizor lexical
  • Proiectarea unui analizor sintactic
  • Generare de cod intermediar sau cod obiect pentru o secventa de program data.
  • Bibliografie:
    1. A. Aho, J. D. Ullman - The Theory of parsing, Translation and Compiling, Vol I, Compiling, Prentice-Hall, Englewood Cliffs, NewJersey, 1972
    2. A. Aho, J. D. Ullman - The Theory of parsing, Translation and Compiling, Vol II, Compiling, Prentice-Hall, Englewood Cliffs, NewJersey, 1973
    3. A. Aho, J. D. Ullman - Principles of compiler design, Addison-Wesley, 1978
    4. A. Aho, R. Sethi, J. D. Ullman - Compilers. Principles, techniques and tools, Addison-Wesley, 1986
    5. D. Gries - Compiler construction for digital computers. Wiley and Sons, New York, 1971
    6. S. Ginsburg - The Mathematical Theory of Context Free Languages. McGraww-Hill, New York, 1966
    7. A. Hajjam El Hassani - Les compilateurs et leurs priciples. Edition Scientifiques et Tehniques, Ecole Superieure des Sciences Appliquees pour l'Inginieur, Mulhouse, 1993<
    8. D. E. Knuth - Semantics of programming languages, Math. Systems Theory, 2(1968), 127-145
    9. I. Iancu - Teoria compilatoarelor, ed. Vlad&Vlad, Craiova, 1997
    10. I. Iancu, M. Andrei - Teoria compilatoarelor si semantica limbajelor de programare, Reprografia Univ. Craiova, 1998
    11. L. Livovschi, C. Popovici, H. Georgescu, N. Tandareanu - Bazele informaticii, Editura Didactica si pedagogica, Bucuresti, 1981.
    12. A. B. Pyster - Compiler design and construction. Tools and techniques, Van Nostrand Reinhold, NeW York, 1988
    13. T. Rus - Mecanisme formale pentru specificarea limbajelor, Editura Academiei, Bucuresti, 1976
    14. A. Salomaa - Formal LanguagesAcademic Press, New York, 1973.
    15. L. D. Serbanati - Limbaje de programare si compilatoare, Editura Academiei, Bucuresti, 1987
    16. J. P. Tremblay, P. G.Sorenson - The Theory and practice of compiler writing, McGraw-Hill, Inc., New York, 1985
    17. D. Vaida - Limbaje formale si tehnici de compilare, Tipografia Univ. Bucuresti, 1978.

    Modele de proiecte pentru activitatea din timpul anului:

  • Lucrarea 1
    Lucrarea 2
    Lucrarea 3
    Lucrarea 4
    Lucrarea 5
    Lucrarea 6
    Lucrarea 7
    Lucrarea 8
    Lucrarea 9
    Lucrarea 10

    Ultima actualizare: 30.10.2010