Théorie des langages
Les langages.
•
•
Un mot est une chaˆ de caract`res. ıne e
Un langage est un ensemble de mots.
Dans ce chapitre, on ´tudie des propri´t´s g´n´rales des e ee e e langages. Deux types de langages seront ´tudi´s par la suite. Leur e e application a la compilation donne lieu a deux types
`
` d’analyse :
•
Les langages r´guliers : l’analyse lexicale, e •
Les langages alg´briques : l’analyse syntaxique. e Th´orie des langages. e M.M. Institut Galil´e 2002 e 2
Chapitre 1
1 – Les mots.
Un alphabet est un ensemble A, dont les ´l´ments sont ee appel´s lettres, caract`res ou symboles. e e
•
Les mots
Un mot u sur l’alphabet A est une application u : {1, . . . , m} → A o` u m est un entier appel´ la longueur de u et not´ | u | e e
{1, . . . , m} est l’ensemble des entiers naturels i tels que 1 ≤ i ≤ m. u(i) est appel´e la i–`me lettre, le i–`me caract`re ou le e e e e i–`me symbole de u. e • Si u(i) = x, on dira que u(i) est une occurrence de x dans u.
• On peut noter u[i] au lieu de u(i) : on constate alors que la d´finition des mots nous est tr`s famili`re ! e e e •
L’ensemble des mots sur l’alphabet A est d´sign´ par A∗ e e
M.M Institut Galil´e e 2002
Les langages.
Section 1
3
1.1 – D´finitions de base. e Soit u ∈ A∗ .
• Lorsque | u | = 0, u : ∅ → A est le mot sans caract`re e (mot vide), not´ ε. e • Lorsque | u | = 1, u : {1} → A est d´fini par le seul e caract`re u(1) ∈ A. e On convient d’identifier tout x ∈ A au mot de longueur 1 qu’il d´finit : e A ⊆ A∗
es identifications ne sont valables que parce que les
´l´ments de A sont reconnaissables pour tels. ee • L’adjonction d’une occurrence ` droite d’un mot a ∗
∗
e c A × A → A se d´finit de la fa¸on suivante : pour tout mot u : {1, . . . , m} → A et tout symbole x ∈ A, ux : {1, . . . , m + 1} → A est le mot d´fini par : e ux(i) = u(i) pour tout i ∈ {1, . . . , m}, ux(m + 1) = x.