<div class="notebook"> <div class="nb-cell markdown" name="md1"> # Analyse d'un langage simple en ProLog ## Description de la grammaire * S -> aSa * S -> a ## Traduction en ProLog ### Point de départ </div> <div class="nb-cell program" data-background="true" name="p1"> accepte(T):- lireS(T,[]). </div> <div class="nb-cell markdown" name="md2"> ### Ajout de règles systématique (une règle ProLog pour une règle de la grammaire) </div> <div class="nb-cell program" data-background="true" name="p2"> lireS([a|Fin],Reste) :- lireS(Fin,[a|Reste]). lireS([a|Fin],Fin). </div> <div class="nb-cell markdown" name="md3"> ## Exemples d'utilisation </div> <div class="nb-cell query" name="q1"> accepte([a,a,a]). </div> <div class="nb-cell query" name="q2"> accepte([a]). </div> <div class="nb-cell query" name="q3"> accepte([a,a,a,a,a]). </div> <div class="nb-cell query" name="q4"> accepte([a,a]). </div> <div class="nb-cell query" name="q5"> accepte([a,a,a,a]). </div> </div>