Détecter les erreurs de syntaxe
Exercice · OCaml (option informatique), chapitre 21 — Analyse syntaxique et interprétation
Énoncé
Donner trois entrées mal formées et expliquer comment l'interpréteur les rejette.
Corrigé
"3 +":boucle_addvoitPlus, appelleparse_termesur la liste vide ;parse_facteur []ne filtre niNombreniParenGfailwith "facteur attendu".
"(3 + 4": la parenthèse fermante manque ;parse_facteurne trouve pasParenDfailwith "parenthese attendue".
"3 4":parse_expranalyse3, mais il reste[Nombre 4]non consommé ; le testreste <> []dansinterpretele rejette.
Un analyseur correct refuse les entrées invalides au lieu de produire un résultat absurde — c'est la rigueur du contrat (chapitre 1).
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.