%{
#include < stdio. h>
#include < string>
using namespace std;
int n_interrogation = 0 ; // Compteur de points d'interrogation
%}
%%
// Remplacer /* et */ par <SE> et <ASE>
"/\\*" { putchar(' < SE> '); }
"*\\/" { putchar(' < ASE> '); }
// Remplacer \n par <ASN>
"\\n" { putchar(' < ASN> '); }
// Remplacer (, [, { par <PO>
"[({]" { putchar(' < PO> '); }
// Remplacer ), ], } par <PF>
"[)}]" { putchar(' < PF> '); }
// Remplacer les séquences de points d' interrogation par < ?; N>
"[ ?] + " {
n_interrogation = yylength; // Nombre de points d'interrogation
printf("<?;%d>", n_interrogation);
n_interrogation = 0; // Réinitialiser le compteur
}
// Supprimer tous les autres caractères
. { } /* Ignorer les autres caractères */
%%
int yywrap()
{
return 1;
}
main()
{
printf("Entrez votre texte : \n");
yylex();
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbl9pbnRlcnJvZ2F0aW9uID0gMDsgLy8gQ29tcHRldXIgZGUgcG9pbnRzIGQnaW50ZXJyb2dhdGlvbgolfQoKJSUKCi8vIFJlbXBsYWNlciAvKiBldCAqLyBwYXIgPFNFPiBldCA8QVNFPgoiL1xcKiIgeyBwdXRjaGFyKCc8U0U+Jyk7IH0KIipcXC8iIHsgcHV0Y2hhcignPEFTRT4nKTsgfQoKLy8gUmVtcGxhY2VyIFxuIHBhciA8QVNOPgoiXFxuIiB7IHB1dGNoYXIoJzxBU04+Jyk7IH0KCi8vIFJlbXBsYWNlciAoLCBbLCB7IHBhciA8UE8+CiJbKHtdIiB7IHB1dGNoYXIoJzxQTz4nKTsgfQoKLy8gUmVtcGxhY2VyICksIF0sIH0gcGFyIDxQRj4KIlspfV0iIHsgcHV0Y2hhcignPFBGPicpOyB9CgovLyBSZW1wbGFjZXIgbGVzIHPDqXF1ZW5jZXMgZGUgcG9pbnRzIGQnaW50ZXJyb2dhdGlvbiBwYXIgPD87Tj4KIls/XSsiIHsKICBuX2ludGVycm9nYXRpb24gPSB5eWxlbmd0aDsgLy8gTm9tYnJlIGRlIHBvaW50cyBkJ2ludGVycm9nYXRpb24KICBwcmludGYoIjw/OyVkPiIsIG5faW50ZXJyb2dhdGlvbik7CiAgbl9pbnRlcnJvZ2F0aW9uID0gMDsgLy8gUsOpaW5pdGlhbGlzZXIgbGUgY29tcHRldXIKfQoKLy8gU3VwcHJpbWVyIHRvdXMgbGVzIGF1dHJlcyBjYXJhY3TDqHJlcwouICB7IH0gLyogSWdub3JlciBsZXMgYXV0cmVzIGNhcmFjdMOocmVzICovCgolJQoKaW50IHl5d3JhcCgpCnsKICByZXR1cm4gMTsKfQoKbWFpbigpCnsKICBwcmludGYoIkVudHJleiB2b3RyZSB0ZXh0ZSA6IFxuIik7CiAgeXlsZXgoKTsKfQo=