User Tools

Site Tools


Problem constructing authldap
arhiva:teme:2016:tema3
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
arhiva:teme:2016:tema3 [2016/11/29 21:54]
acaciulescu [Introducere]
arhiva:teme:2016:tema3 [2018/10/20 13:26] (current)
Adriana Draghici
Line 15: Line 15:
 == Introducere == == Introducere ==
  
-Fiind mari fani a filmelor cu Arnold Schwarzenegger,​ studentii de la Calculatoare s-au gandit ca ar fi amuzant sa programeze intr-un limbaj bazat integral pe replicile lui Arnold din diferite filme, astfel ca s-au apucat de ArnoldC (**[[https://​github.com/​lhartikk/​ArnoldC/​wiki/​ArnoldC|ArnoldC]]**). Aceștia și-au dat însă seamă că nu au un mod de a rula noile lor programe deoarece nu există un tool care să le compileze sau să le interpreteze codul. Deoarece le plac provocarile și mai ales//** __POO__**//,​ studenții au decis să își scrie propriul interpretor de ArnoldC în Java. \m/+Fiind mari fani a filmelor cu Arnold Schwarzenegger,​ studentii de la Calculatoare s-au gandit ca ar fi amuzant sa programeze intr-un limbaj bazat integral pe replicile lui Arnold din diferite filme, astfel ca s-au apucat de ArnoldC (**[[https://​github.com/​lhartikk/​ArnoldC/​wiki/​ArnoldC|ArnoldC]]**). Aceștia și-au dat însă seamă că nu au un mod de a rula noile lor programe deoarece nu există un tool care să le compileze sau să le interpreteze codul. Deoarece le plac provocarile și mai ales//** __POO__**//,​ studenții au decis să își scrie propriul interpretor de ArnoldC în Java. **\m/**
  
 == Cerințe == == Cerințe ==
Line 223: Line 223:
  
  Se va genera un AST de forma:  Se va genera un AST de forma:
-{{ :​teme:​tema3:​poo-tema3-diagram2.png?​700 |}}+{{ :arhiva:teme:2016:​tema3:​poo-tema3-diagram2.png?​700 |}}
  
  
Line 297: Line 297:
  
  
-Fisierele de iesire pentru exemplul de mai sus ([[http://​elf.cs.pub.ro/​poo/​playground/​tema3#​arborele-sintactic|example.ac]]) sunt urmatoarele:​+Avand urmatorul exemplu: 
 + 
 +<code arnold ​example.ac
 +IT'S SHOWTIME 
 +HEY CHRISTMAS TREE a 
 +YOU SET US UP @NO PROBLEMO 
 +HEY CHRISTMAS TREE b 
 +YOU SET US UP @I LIED 
 +HEY CHRISTMAS TREE c 
 +YOU SET US UP @I LIED 
 + 
 +HEY CHRISTMAS TREE d 
 +YOU SET US UP @I LIED 
 + 
 +GET TO THE CHOPPER d 
 +HERE IS MY INVITATION a 
 +CONSIDER THAT A DIVORCE b 
 +CONSIDER THAT A DIVORCE c 
 +ENOUGH TALK 
 + 
 +BECAUSE I'M GOING TO SAY PLEASE d 
 +TALK TO THE HAND "(a || b || cis true"​ 
 +BULLSHIT 
 +TALK TO THE HAND "(a || b || c) is not true"​ 
 +YOU HAVE NO RESPECT FOR LOGIC 
 + 
 +YOU HAVE BEEN TERMINATED 
 +</​code>​ 
 + 
 +Fisierele de iesire pentru exemplul anterior ​sunt urmatoarele:​
 <code java example.out>​ <code java example.out>​
 (a || b || c) is true (a || b || c) is true
Line 343: Line 372:
   * alte detalii relevante pentru implementare   * alte detalii relevante pentru implementare
   * directorul ''​src''​ cu fişiere sursă   * directorul ''​src''​ cu fişiere sursă
-  * directorul ​''​doc''​, generat de javadoc +  * ''​Makefile''​ care va contine cel putin regulile:
-  * “Makefile” ​care va contine cel putin regulile:+
     * build     * build
 +    * run
 +    * doc
     * clean     * clean
- 
  
  
Line 354: Line 383:
  
  
-*TODO+{{:​arhiva:​teme:​2016:​tema3:​arnoldc-tests.zip|}} 
 +{{:​arhiva:​teme:​2016:​tema3:​arnoldc-simple-tests.zip|}} 
 == Referințe == == Referințe ==
-TODO 
- 
  
 +* [[https://​github.com/​lhartikk/​ArnoldC/​wiki/​ArnoldC | ArnoldC]]
 * [[https://​en.wikipedia.org/​wiki/​Abstract_syntax_tree|Abstract Syntax Tree]] * [[https://​en.wikipedia.org/​wiki/​Abstract_syntax_tree|Abstract Syntax Tree]]
 * [[https://​en.wikipedia.org/​wiki/​Visitor_pattern|Visitor Pattern]] * [[https://​en.wikipedia.org/​wiki/​Visitor_pattern|Visitor Pattern]]
arhiva/teme/2016/tema3.1480449287.txt.gz · Last modified: 2016/11/29 21:54 by acaciulescu