L'interpréteur
Exercice · OCaml (option informatique), chapitre 21 — Analyse syntaxique et interprétation
Énoncé
Assembler interprete et donner les valeurs de "2 * (3 + 4) - 5" et "10 - 3 - 2".
Corrigé
let interprete s =
let (e, reste) = parse_expr (lexer s) in
if reste <> [] then failwith "expression mal formee" else evalue e
interprete "2 * (3 + 4) - 5" . interprete "10 - 3 - 2" (associativité à gauche, grâce à boucle_add). La chaîne lexer parser evalue produit la bonne valeur en respectant priorités et associativité.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.