aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam NAILI2018-02-23 01:24:51 +0100
committerAdam NAILI2018-02-23 01:24:51 +0100
commitde916ff97b1a15f7188295cb084058dc5e8054c1 (patch)
treef5616fe903c253354fd47e32dcfcbb98789a0440
parentc84e00f62d1fbd273e5a07f7105c727da0f0ff8b (diff)
downloadtpc-compiler-de916ff97b1a15f7188295cb084058dc5e8054c1.tar.gz
Update doc
-rw-r--r--doc/rapport.md44
1 files changed, 43 insertions, 1 deletions
diff --git a/doc/rapport.md b/doc/rapport.md
index 1261fd2..9ac56de 100644
--- a/doc/rapport.md
+++ b/doc/rapport.md
@@ -4,4 +4,46 @@ author: [Pacien TRAN-GIRARD, Adam NAILI]
4date: 2018-02-20 4date: 2018-02-20
5... 5...
6 6
7Néant. 7#Rapport
8
9##Analyse lexicale
10L'analyse lexicale est réalisée avec Flex et est contenue dans le fichier `tpc.lex`.
11*Les lexèmes ont été définis au sein de ce fichier:*
12
13| Symbole | Description | Token associé |
14|:-----------------:|:-----------------------------------------------:|:-------------:|
15| = | opérateur d'affectation | |
16| + | opérateur d'addition | ADDSUB |
17| - | opérateur de soustraction ou moins unaire | ADDSUB |
18| * | multiplication | DIVSTAR |
19| / et % | division et reste de la division entière | DIVSTAR |
20| ! | négation booléenne | |
21| ==, != | opérateur de comparaison | EQ |
22| <,>,<=,>= | opérateur de comparaison | ORDER |
23| && | opérateur booléen | AND |
24| || | opérateur booléen | OR |
25| ; et , | le point virgule et la virgule | |
26| (, ), {, } [ et ] | les parenthèses, les accolades et les crochets | |
27
28- Certains symboles ne sont pas associés à des tokens. En effet ils sont utilisés directement dans la grammaire, entourés de simple guillemets. (par exemple `'='`)
29
30- Les identificateurs sont constitués d'au moins une lettre, puis éventuellement de chiffres, et/ou d'"underscore" (`_`). Ils sont identifiés par le token `IDENT`
31
32- Gestion de la casse
33
34- Les types sont `entier` et `caractere` et renvoient le token `TYPE`
35
36//TODO
37
38
39`print`,`reade` et `readc` sont des identificateurs qui appartiennent au langage tpc, ils ne doivent pas être utilisé pour déclarer des variables. Nous avons donc créer des tokens spécifiques pour leur gestion dans la grammaire.
40
41##Analyse syntaxique
42//TODO
43##Améliorations enviseageables
44
45- Récupération sur erreur
46
47- Numérotation des lignes
48
49//TODO \ No newline at end of file