Differences

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

Link to this comparison view

cpl-atm:laboratoare:laborator4 [2013/11/08 13:36]
laura.vasilescu created
cpl-atm:laboratoare:laborator4 [2013/11/08 13:43] (current)
laura.vasilescu
Line 1: Line 1:
-= Laborator 4 =+===== Laborator 4 ===== 
 + 
 +Folositi [[http://​zaach.github.io/​jison/​try/​|jison]] pentru a realiza un calculator.  
 + 
 +Gramatica trebuie să fie următoarea:​ 
 +<​code>​ 
 +exp -> exp operator exp | numar 
 +</​code>​ 
 + 
 +Modificați astfel încât să generați ca output un arbore. 
 + 
 +=== Particularități === 
 + 
 +Pentru a stabili ordinea priorităților ('​a'​ înainte de '​b'​) puteți să folosiți ceva similar:  
 +<​code>​ 
 +%left '​a'​ 
 +%left '​b'​ 
 +</​code>​ 
 +Astfel, pentru un input de genul: "c b c a d b d", arborele generat ar fi "(a (b c c) (b d d)" 
 + 
 +''​$$''​ reprezintă ce întoarce o regulă de parser. ''​$i''​ reprezintă al i-lea token din regulă pe care se face match (indexare de la 1). 
 + 
 +Un arbore se creează în felul următor: 
 +''​Arbore = {root: '​radacina',​ l: '​st',​ r: '​dr'​}'',​ unde ''​root'',​ ''​l'',​ ''​r''​ reprezintă etichetele nodurilor, iar ce este după '':''​ reprezintă valoarea acestora. 
 + 
 + 
cpl-atm/laboratoare/laborator4.1383910570.txt.gz · Last modified: 2013/11/08 13:36 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