Attribute Grammars/Exercise 1: Traffic Light

From Wiki**3

< Attribute Grammars
Revision as of 15:14, 18 April 2009 by Root (talk | contribs) (New page: <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> <p>...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Pretende-se controlar um semáforo de 3 estados: Encarnado, Amarelo e Verde, representados pelos valores numéricos 2, 1 e 0, respectivamente.

O semáforo é controlado por um temporizador que emite, regularmente, o token NEXT 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 PANIC e coloca o semáforo no estado Encarnado, independentemente do estado anterior. O estado inicial do sistema é Encarnado.

  1. 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.
  2. Realize a árvore semântica anotada para a sequência de tokens NEXT, NEXT, PANIC e NEXT.

Solution