Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lfa2021:proiect [2021/10/07 13:32]
pdmatei
lfa2021:proiect [2021/11/24 14:21] (current)
stefan.stancu [Structura punctajului]
Line 1: Line 1:
 ===== Proiect LFA - Lexer in Python sau Haskell ===== ===== Proiect LFA - Lexer in Python sau Haskell =====
  
-  * **[[lfa:​proiect:​etapa1 | Etapa 1 - Lexer cu AFD-uri]]** +==== Structura punctajului ====
-  * **[[lfa:​proiect:​etapa2 | Etapa 2 - Transformare Regex - AFD]]** +
-  * **[[lfa:​proiect:​etapa3 | Etapa 3 - Lexer cu Regexuri si parser]]**+
  
 +  * Proiectul valoreaza **3p**, care se impart egal intre etape.
 +  * O etapa se considera **trecuta**,​ daca, concomitent:​ (i) **a fost trimisa la deadline** si (ii) $math[pr=]70% din teste au trecut.
 +  * Daca o etapa **nu** a fost **trecuta**,​ ea poate fi trimisa sau retrimisa oricand, pentru $math[pmin=]60% din punctaj (adica 60% din valoarea testelor care trec).
 +  * Orice etapa **trecuta** poate fi retrimisa oricand, fara depunctare, pentru a obtine puncte in plus pentru teste aditionale care trec.
 +  * Exemple:
 +    * Studentul MP nu a **trecut** etapele 1 si 2 (nu a trimis etapa 1 la timp, si doar jumatate din teste au trecut la etapa 2), insa la etapa 3 a trimis tot proiectul 100% functional (toate testele trec). Punctajul lui este: 0.6p (Etapa 1) + 0.6p (Etapa 2) + 1p (Etapa 3) = 2.2p.
 +    * Studentul DM a **trecut** etapa 1 (cu 70% din teste), la fel si etapa 2 (tot cu 70% din teste). In loc sa trimita etapa 3, a lucrat la etapa 1 si a reusit sa faca toate testele sa treaca la aceasta. Punctajul lui este 1p (Etapa 1) + 0.7p (Etapa 2) = 1.7p.
 +    * Studentul XZ nu a **trecut** etapa 1 (a trimis la timp insa doar 50% din teste trec) si nu a trecut nici etapa 2 (din nou, a trimis la timp, insa doar 60% din teste trec). Etapa 3 nu a fost trimisa. Punctajul lui este 0.3p la etapa 1 (1p * 0.5teste * 0.6penalty) si 0.36p la etapa 2 (1p * 0.6teste * 0.6penalty))
 +  * **Ultima etapa va avea un deadline hard final** (punctajul obtinut pe aceasta este exclusiv cel de pe teste). Nu se mai pot trimite submisii (la nici o etapa), dupa expirarea deadline-ului acesta.
  
-====== Etapa 4 - Parsare Regex si limbaj ====== 
  
-Serializare lexer (ca sa ne legam direct cu etapa 1). 
- 
-Apoi parsare. Doua programe. 
- 
-==== Limbajul 1: Imperative ==== 
- 
-<​code>​ 
-<​prog>​ ::= <​variable>​ '​='​ <​expr>; ​      | 
-           begin <​instruction_list>​ end | 
-           while (<​expr>​) do <​prog>​ od    | 
-           if (<​expr>​) then <​prog>​ else <​prog>​ fi  
- 
-<​instruction_list>​ ::= [<​prog>​] ​ 
- 
-<​expr>​ ::= <​expr>​ + <​expr>​ | <​expr>​ > <​expr>​ | <​expr>​ == <​expr>​ | <​variable>​ | <​integer> ​ 
-                    
-</​code>​ 
- 
-==== Limbajul 2: Lisp ==== 
- 
-==== Limbajul 3: Html ??? ==== 
- 
- 
-===== Metodologia de testare: ===== 
-Combinam expresii din fisierul de referinta in specificatii. Mai sunt necesare detalii de clarificat. 
  
 +  * **[[lfa:​proiect:​etapa1 | Etapa 1 - Lexer cu AFD-uri]]**
 +  * **[[lfa:​proiect:​etapa2 | Etapa 2 - Transformare Regex - AFD]]**
 +  * **[[lfa:​proiect:​etapa3 | Etapa 3 - Lexer cu Regexuri si parser]]**
 +  * **[[lfa:​proiect:​checker | Checker]]**