Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cpl:labs:01 [2015/12/06 19:25]
laura.vasilescu [Funcția yylex]
cpl:labs:01 [2016/10/03 21:56] (current)
bogdan.nitulescu [Introducere]
Line 1: Line 1:
 ====== 01. Introduction to Flex ====== ====== 01. Introduction to Flex ======
  
 +===== Introducere =====
 +De-a lungul acestui semestru, veți studia în cadrul cursului modul de implementare al unui compilator. La nivel conceptual, compilatorul este un program ce face translatarea dintr-un limbaj în altul. Cel mai adesea, compilatorul face translatarea dintr-un limbaj de nivel înalt (C, C++, Java), ce este scris și înteles de un programator,​ într-un limbaj low level (bytecode, limbaj asamblare, cod mașina) ce poate fi mai apoi executat de procesor (eventual după aplicarea unei noi translatări).
 +
 +Operația de compilare a unui limbaj se face în general în mai mulți pași. Fiecare pas produce ca output o translatare a datelor de intrare primite, output ce servește ca input pentru pasul următor. Principalii pași ce se disting, în mod conceptual, pentru majoritatea compilatoarelor se pot vedea în figura urmatoare, împreuna cu inputul si outputul aferent, precum și tool-urile pe care le vom folosi în cadrul laboratorului și temelor pentru implementare.
 +
 +{{ :​cpl:​labs:​lab1better.png?​600 |}}
 ===== Nice to read ===== ===== Nice to read =====
  
Line 89: Line 95:
 <​state1,​state2,​...,​stateN>​rule <​state1,​state2,​...,​stateN>​rule
 </​code>​ </​code>​
 +
 +Un exemplu [[http://​pastebin.com/​uaCe7CxS|aici]].
  
 === Secvențe de cod C în secțiunea de definiții === === Secvențe de cod C în secțiunea de definiții ===
Line 183: Line 191:
  
 În rezolvarea laboratorului folosiți arhiva de sarcini {{ :​cpl:​labs:​lab01_num_lines.zip | lab01_num_lines.zip }} În rezolvarea laboratorului folosiți arhiva de sarcini {{ :​cpl:​labs:​lab01_num_lines.zip | lab01_num_lines.zip }}
 +
 +====== Exercițiul 0 ======
 +
 +Înscrieți-vă pe [[cpl:​info:​lista-discutii | Lista de discuții de CPL]].
  
 ===== Exercițiul 1 - num lines (3p) ===== ===== Exercițiul 1 - num lines (3p) =====
Line 199: Line 211:
 ===== Exercițiul 3 - names (2p) ===== ===== Exercițiul 3 - names (2p) =====
  
-Scrieți un fișier de specificație ''​.lex''​ care identifică toate cuvintele ​dintr-un text care încep cu majusculă.+Scrieți un fișier de specificație ''​.lex''​ care identifică toate cuvintele care încep cu majusculă.
  
 ===== Exercițiul 4 - appearances (2p) ===== ===== Exercițiul 4 - appearances (2p) =====
cpl/labs/01.1449422715.txt.gz · Last modified: 2015/12/06 19:25 by laura.vasilescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0