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
lfa:proiect:etapa3 [2021/12/23 00:48]
stefan.stancu [Output si testare]
lfa:proiect:etapa3 [2021/12/29 02:02] (current)
stefan.stancu [Input]
Line 1: Line 1:
  
 ====== Etapa 3 - Lexer complet si Limbajul Imperative ====== ====== Etapa 3 - Lexer complet si Limbajul Imperative ======
 +
 +**Checker si teste**: [[lfa:​proiect:​checker|Checker proiect LFA]].
  
 Etapa 3 consta la randul ei in trei parti, dintre care ultima este bonus. ​ Etapa 3 consta la randul ei in trei parti, dintre care ultima este bonus. ​
Line 80: Line 82:
 Folosind lexer-ul scris de voi, implementati un parser simplu pentru limbajul **Imperative** descris mai jos. Folosind lexer-ul scris de voi, implementati un parser simplu pentru limbajul **Imperative** descris mai jos.
 Folositi aceeasi abordare ca in implementarea parserului pentru expresii regulate. Folositi aceeasi abordare ca in implementarea parserului pentru expresii regulate.
-}==== Input ====+} 
 +==== Input ====
  
 Input-ul va fi un program a carui descriere sintactica se regaseste mai jos (**//​Limbajul Imperative//​**):​ Input-ul va fi un program a carui descriere sintactica se regaseste mai jos (**//​Limbajul Imperative//​**):​
Line 91: Line 94:
 <​instruction_list>​ ::= <​prog>​ | <​prog>​ '​\n'​ <​instruction_list> ​   <​instruction_list>​ ::= <​prog>​ | <​prog>​ '​\n'​ <​instruction_list> ​  
  
-<​expr>​ ::= <​expr>​ '​+'​ <​expr>​ | <​expr>​ '>'​ <​expr>​ | <​expr>​ '​=='​ <​expr>​ | <​variable>​ | <​integer> ​+<​expr>​ ::= <​expr>​ '+' <​expr>​ | <​expr>​ '​-'​ <​expr>​ | <​expr>​ '*' <​expr>​ | <​expr>​ '>'​ <​expr>​ | <​expr>​ '​=='​ <​expr>​ | <​variable>​ | <​integer> ​
                                        
 </​code>​ </​code>​