|
|
(4 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| <p><span lang="pt">Pretende-se controlar um semáforo de 3 estados: Encarnado, Amarelo e Verde, representados pelos valores numéricos 2, 1 e 0, respectivamente.</span></p>
| | #REDIRECT [[ist:Attribute Grammars/Exercise 1: Traffic Light]] |
| <p><span lang="pt">O semáforo é controlado por um temporizador que emite, regularmente, o token <strong>NEXT</strong> que faz o semáforo evoluir para o estado seguinte, na sequência (Encarnado, Verde, Amarelo e novamente Encarnado). O semáforo tem um botão de pânico que gera o token <strong>PANIC</strong> e coloca o semáforo no estado Encarnado, independentemente do estado anterior. O estado inicial do sistema é Encarnado.</span></p>
| |
| <ol>
| |
| <li> <span lang="pt">Construa a gramática atributiva que permite controlar o estado do semáforo (considere apenas os tokens indicados). Indique que tipo de gramática atributiva que obteve.</span> </li>
| |
| <li> <span lang="pt">Realize a árvore semântica anotada para a sequência de tokens <strong>NEXT</strong>, <strong>NEXT</strong>, <strong>PANIC</strong> e <strong>NEXT</strong>.</span> </li>
| |
| </ol>
| |
| | |
| == Solution ==
| |
| | |
| [[category:Compilers]] | |
| [[category:Teaching]]
| |