Université d'Ottawa SEG-2506 : Construction de logiciel Gregor v. Bochmann Hiver 2008, 2009, 2010, 2011, 2012, 2013, 2015 |
SEG-2506 - Lab 6 |
Soit l’automate non-déterministe suivant:
Soit l'alphabet L={a,b}. Soit l'expression régulière E=aa(a|b)*a
Soit l'alphabet L={a,b}. Soit l'expression régulière définissant tous les mots qui terminent par abb ou par aaa. E=(a|b)*(abb|aaa)
Considérez la grammaire suivante :
E --> T | E - T | E + T
T --> SE | T * SE | T / SE
SE --> V | C | ( E )
V --> A | B
C --> 0 | 1 | 2 | 3
Écrivez un arbre syntaxique pour l'expression suivante:
A + ( 2 + B ) / ( 2 * A )
Est-ce que la grammaire suivante est ambiguëe ? Expliquer en quelques mots pourquoi elle l'est ou ne l'est pas.
Grammaire (avec symbole de racine A) :
A --> a A c | a A | b
Prouvez que la grammaire suivante est ambiguë:
S --> A B
A --> A id | id
B --> B id | id
id --> a | b | c
Nous considérons la grammaire suivante:
S --> S a B | A
A --> d A | c
B --> b | A
Lesquelles des phrases suivantes sont générées par cette grammaire ?
Écrivez une grammaire pour le langage qui consiste de toutes les chaînes formées des caractères a et b qui ont le même nombre de a que de b. Par exemple, les chaînes aabb, baba, et aabbababba font partie du language, mais pas les chaînes abb, bba, et aabbabb. Expliquez pourquoi votre grammaire fait l'affaire !
Écrivez une grammaire qui génère tous les phrases de la forme suivante:
À la fin du laboratoire, svp, montrez au TA les brouillons de textes et de diagrammes que vous avez préparés pour votre travail sur les exercices (1) à (9). Le TA prendra note de la complétude (ou non) de votre travail, mais n'évaluera pas la qualité de vos travaux.
Svp, consultez le TA pendant les sessions de laboratoire. Le rôle du TA est de vous aider à faire les travaux suggérés dans les laboratoires.