Begin README
This commit is contained in:
parent
d30a43235f
commit
45723682bf
|
@ -0,0 +1,39 @@
|
||||||
|
---
|
||||||
|
title: TP Analyse syntaxique
|
||||||
|
author: Yohann D'ANELLO
|
||||||
|
geometry:
|
||||||
|
- top=0.5in
|
||||||
|
- bottom=0.5in
|
||||||
|
- left=1in
|
||||||
|
- right=1in
|
||||||
|
...
|
||||||
|
|
||||||
|
\pagenumbering{gobble}
|
||||||
|
|
||||||
|
# Analyse lexicale
|
||||||
|
|
||||||
|
Le fichier `example.l` peut se compiler en un analyseur lexical `example` en appelant simplement la commande `make`. Il permet à partir d'une entrée textuelle (un fichier, le TTY ou l'entrée standard suivie d'un Ctrl+D) de filter les nombres et de les afficher, sous forme décimale ou hexadécimale. De plus, les mots clés `if`, `then` et `else` sont réécrits en majsucule. Tout le reste est ignoré.
|
||||||
|
|
||||||
|
Un entier `n` affichera sur la sortie `int(n)`, un entier `0xh` écrit en hexadécimal affichera dans la sortie `hex(n)` où `n` est la représentation décimale de `0xh`.
|
||||||
|
|
||||||
|
Par exemple sur une entrée :
|
||||||
|
|
||||||
|
```
|
||||||
|
Papa maman ! Faites-moi 1 câlin !
|
||||||
|
|
||||||
|
if content then
|
||||||
|
Oh oui ! Faisons 1 gros câlin ! Tu l'as bien mérité après tes 20/20 que
|
||||||
|
tu viens de ramener ! On t'aime à 100% <3
|
||||||
|
else
|
||||||
|
- Mon enfant, il va falloir que tu vois la vie avec ses 0xFFFFFF couleurs, si tu veux
|
||||||
|
espérer avoir des 10aines de câlins ... Va nous acheter une demi-12aine d'œufs.
|
||||||
|
- Bouuh ! Je m'en vais pleurer pendant 42 ans.
|
||||||
|
* La justice condamna la famille à 14 années de prison et 7832 € d'amende. *
|
||||||
|
```
|
||||||
|
|
||||||
|
Le programme va renvoyer la sortie suivante :
|
||||||
|
|
||||||
|
```
|
||||||
|
int(1)IFTHENint(1)int(20)int(20)int(100)int(3)ELSEhex(16777215)int(10)int(12)int(42)int(13)int(7832)
|
||||||
|
```
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue