Décomposition analytique
Un article de Wikipédia, l'encyclopédie libre.
La décomposition analytique
En grammaire et en linguistique, c'est le processus par lequel une personne donne sens à une phrase, habituellement en la décomposant en mots ou parties de phrase.
Ce fut autrefois une activité formelle dans les écoles comme partie de l'apprentissage du langage.
[modifier] En informatique
En science de l'informatique, c'est le processus de séparer un flux continu de caractères (lus depuis un fichier ou une entrée clavier par exemple) en informations, puis en construire un arbre d'analyse.
Il y a deux façons principales d'analyser un flux :
- depuis le haut vers le bas -
- depuis le bas vers le haut - en le réduisant.
Dans la traduction par machine et les systèmes de traitement du langage naturel, les langues naturelles sont décomposées analytiquement par les programmes informatiques. Ce n'est pas facile car il y a de nombreuses ambigüités.
Les deux niveaux de grammaire sont lexicale et syntaxique.
La première étape est la génération en jetons, ou la phase d'analyse lexicale. Par exemple un programme de calcul regarderait une entrée comme « 12*(3+4)^2 » et la décomposerait dans les pièces 12, *, (, 3, +, 4, ), ^ et 2, chacun étant un symbole avec un sens dans le contexte d'une expression arithmétique. L'analyseur contiendrait des règles pour savoir si les caractères *, +, ( et ) marquent le début d'un nouveau jeton, aussi les pièces sans signification comme « 12* » ou « (3 » ne seraient pas créées.
L'étape suivante est l'analyse de la syntaxe qui est de vérifier que les pièces forment une expression valide. Cela est fait habituellement en référence à une grammaire libre de contexte laquelle définit récursivement les composants qui peuvent faire une expression et l'ordre dans lequel ils apparaissent.
La phase finale est une analyse sémantique, laquelle tient compte des implications des expressions qui viennent d'être validées et prend l'action appropriée. Dans le cas d'un calculateur, l'action est d'évaluer l'expression ; un compilateur, par ailleurs, générera l'assembleur correspondant au langage machine de l'ordinateur.
Voir aussi : DAG.