For the TLC project we were asked to make a compiler using flex and yacc to do unions (∪) and intersections of collection of sets. This is the what we where asked to do :
Ecrire un analyseur syntaxique (flex + yacc ) qui valide et évalue des expressions ensemblistes selon l'une des 2 versions de syntaxe. Le lexer est a priori identique pour les 2 versions. On prendra soin de procéder de façon itérative par étape. Par exemple :
- Elimination blancs
- Constantes seules
- Parsing ligne à ligne Opération "union"
- Affectation et utilisation de Variables
- Autres opérations
- Version Fonctionnelle : fonction "union()" avec n arguments.
- Idem pour "inter()". Version
- Opérateur : gestion de l'ambiguité : parenthèses, associativité, priorité des opérateurs Traitement des erreurs syntaxiques, et lexicales.
- ...
https://blog.hosni.me/2017/05/isamm-1er-ing-tlc-project.html