aide a la realisation d'un compilateur

2334 mots 10 pages
Chapitre 4

ealisation d’un analyseur lexical
Jean Privat
Universit´
e du Qu´ ebec ` a Montr´ eal INF5000 — Th´eorie et construction des compilateurs
Automne 2013

Jean Privat (UQAM)

04—Analyseur lexical

INF5000 — Automne 2013

1 / 29

Analyse lexicale
Analyseur lexical
Donn´ee : une s´equence de caract`eres
R´esultat : une s´equence de jetons (lex`emes)
Un jeton : un type (´etiquette) & un texte & une position (ligne/colonne)

for

i

= 1

to

for

id

eq int

to

Jean Privat (UQAM)

04—Analyseur lexical

10 do print i ...

INF5000 — Automne 2013

2 / 29

G´ en´ eration d’analyseur lexical

en´ erateur d’analyseur lexical
Donn´ee : une description d’un langage
R´esultat : le code source d’un analyseur
Exemple : SableCC4
G´en`ere du Java (entre autres)

Description langage

Jean Privat (UQAM)

SableCC4

04—Analyseur lexical

Source Java

INF5000 — Automne 2013

3 / 29

Description de langage
Grammar demo ;
Lexer
letter = ’a ’ .. ’z ’ ; digit = ’0 ’ . . ’9 ’ ; i d e n t i f i e r = letter ( letter | digit )∗; comma = ’ , ’ ; b l a n k = ( ’ ’ | #9 | #10 | #13)+; if = ’ if ’; else = ’ else ’ ;
Parser
i d e n t i f i e r , comma , i f , e l s e ;
Ignored
blank ;

Jean Privat (UQAM)

04—Analyseur lexical

INF5000 — Automne 2013

4 / 29

S´ election de jetons
Plusieurs s´ equen¸cages en jetons sont souvent possibles
S´equence de caract`eres : ify
1 jeton : id ify
2 jetons : id if , id y
2 jetons : if if , id y
2 jetons : id i , id fy
3 jetons : id i , id f , id y
Pas de place ` a l’ambigu¨ıt´ e Il faut des r`egles !

Jean Privat (UQAM)

04—Analyseur lexical

INF5000 — Automne 2013

5 / 29

R` egles de l’analyse lexicale

R` egle 1
Le jeton le plus long gagne toujours
Exercice : Traitez les s´ equences suivantes toto ,,i iiff iff i f

Jean Privat (UQAM)

04—Analyseur lexical

INF5000 — Automne 2013

6 / 29

R`
egles

en relation

  • Travail de fin d'etude chatbot
    12265 mots | 50 pages
  • ingenieur
    1645 mots | 7 pages
  • le dictophile ce2
    8952 mots | 36 pages
  • Enquete
    678 mots | 3 pages
  • Schift manager
    319 mots | 2 pages
  • Le début des institutions fédérales belge
    632 mots | 3 pages
  • DE CESF DC 3 Note de synthése
    1094 mots | 5 pages
  • Fiche autonomie crpe
    604 mots | 3 pages
  • Le temps de toi
    3204 mots | 13 pages
  • Yacc : analyse lexical
    764 mots | 4 pages
  • Spleen d paris
    255 mots | 2 pages
  • Energies hydroliennes en 2014
    281 mots | 2 pages
  • Lettre
    914 mots | 4 pages
  • Paul verlaine chanson d'automne
    442 mots | 2 pages
  • La crise de l'autorité
    2830 mots | 12 pages