Académique Documents
Professionnel Documents
Culture Documents
Raport Compilation
Raport Compilation
c : un chiffre {0..9}
Grammaire :
SaT1|+T4|-T4|cT2|*T6|/T6|<T7|>T7|=T7|:T3|AT9
A( | ) | ; | , |.
T1cT1|aT1|_E1
T2cT2|.E2
T3=T0
T4cT2
T5cT5
T7=T8
E1aT1|cT1
E2cT5
a c - * / + - = < > ( ) , ; .
S T1 T2 T6 T6 T4 T4 T T7 T7 T9 T9 T9 T T9
7 9
T1 T1 T1 E1
T2 T2 E2
T3 T
0
T4 T2
T5 T5
T6
T7 T
8
T8
T9
T0
E1 T1 T1
E2 T5
Etat signification
S Mot vide
T1 Identificateur
T2 Constante entière
T3 Séparateur
T4 Opérateur arithmétique
T5 Constante réelle
T6 Opérateur arithmétique
T7 Opérateur conditionnel
T8 Opérateur conditionnel
T9 séparateur
T0 Affectation
Mots clés
CODE, START, END, INT, REAL, BOOLEAN, CHAR, STRING, WHEN, DO,
OTHERWISE, WHILE, EXECUTE, FOR.
E1
T9
_
a|c
c T8
T1 (|)|,|;|.
a
=
a <|>|=
S
T7
c
*|/
T2
. +|- :
c T4
E2
T6
c T3
c T5
T0
Analyse syntaxique
Idt : identificateur.
Opt : opérateur
Grammaire
<idt> idt
<const> const
<I><idt> :=<exp> ; |
<exp><A><opt><A> | <idt>
<opt>opt
<A><idt> | <const>
Factorisation :
<PD>’ Ƹ|<PD>
<ListeIdt> ‘ , <ListeIdt> | ;
<PI>’<PI> | Ƹ
Calcule de débuts et de suivants :
Débuts Suivants
<program> CODE #
<idt> idt = , ; := ) EXECUTE Opt
<const> const Opt ; ) EXECUTE
<PD> Int, Real, Boolean, Char, String, START
CONST, Ƹ
<PD>’ Int, Real, Boolean, Char, String,
CONST, Ƹ
<D> Int, Real, Boolean, Char, String, Int, Real, Boolean, Char, String,
CONST CONST, Ƹ, START
<Type> Int, Real, Boolean, Char, String Idt
<I> Idt, WHILE, WHEN, FOR OTHERWISE, Idt, WHILE,
WHEN, FOR, Ƹ, END
<PI> Idt, WHILE, WHEN, FOR END
<PI>’ Idt, WHILE, WHEN, FOR, Ƹ
<ListeIdt> Idt, Int, Real, Boolean, Char, String,
CONST, Ƹ
<ListeIdt> ‘ «,»,; Int, Real, Boolean, Char, String,
CONST, Ƹ
<exp> Idt, const ; ) EXECUTE
<opt> opt
<A> Idt, const Opt ; ) EXECUTE