diff options
author | Adam NAILI | 2018-02-23 01:24:51 +0100 |
---|---|---|
committer | Adam NAILI | 2018-02-23 01:24:51 +0100 |
commit | de916ff97b1a15f7188295cb084058dc5e8054c1 (patch) | |
tree | f5616fe903c253354fd47e32dcfcbb98789a0440 /doc | |
parent | c84e00f62d1fbd273e5a07f7105c727da0f0ff8b (diff) | |
download | tpc-compiler-de916ff97b1a15f7188295cb084058dc5e8054c1.tar.gz |
Update doc
Diffstat (limited to 'doc')
-rw-r--r-- | doc/rapport.md | 44 |
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] | |||
4 | date: 2018-02-20 | 4 | date: 2018-02-20 |
5 | ... | 5 | ... |
6 | 6 | ||
7 | Néant. | 7 | #Rapport |
8 | |||
9 | ##Analyse lexicale | ||
10 | L'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 | ||