Adloun

OCaml (option informatique) · Chapitre 21 · Exercice de TD

Priorité du produit

Analyse syntaxique et interprétation · niveau 2

Énoncé

Expliquer, sur lexer "3 + 4 * 2", comment la grammaire à trois niveaux donne l'arbre correct.

Corrigé

parse_expr appelle d'abord parse_terme, qui analyse 3 (un facteur) ; comme le lexème suivant est Plus (pas Fois), boucle_mul s'arrête : le premier terme est Const 3. De retour dans boucle_add, on voit Plus, donc on analyse un second terme : parse_terme lit 4, voit Fois, et forme Mul (Const 4, Const 2). Résultat : Add (Const 3, Mul (Const 4, Const 2)). Le * a été regroupé avant le +, car il vit à un niveau plus profond de la grammaire.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre