Linguagens de Programação - Atividade 07

Nesta atividade, vamos tratar de Análise Léxica e Sintática.

Questão 01

Projete um diagrama de estados para reconhecer uma das formas de comentários das linguagens de programação baseadas em C, aquela que inicia com /* e termina com */.

Questão 02

Remova a recursão a recursão à esquerda das seguintes gramáticas:

  1. <A> → <A>a | <A>bc | c
                                
  2. <L> → <L>,<S>| <S>
    <S> → (<L>)
                                

Questão 03

Faça o teste da disjunção par a par para as seguintes regras gramaticais:

  1. <A> → ab | <B> | c<B><B>
                                
  2. <B> → ab | <B>a | a<B>b
                                
  3. <A> → b{a<B>} | a
                                
  4. <B> → a<B> | a
                                

Questão 04

Mostre uma análise sintática completa, incluindo o conteúdo da pilha de análise sintática, cadeia de entrada e ações para a cadeia (id+id) * id usando a gramática e tabela abaixo.

1. <E> → <E> + <T>
2. <E> → <T> 
3. <T> → <T> * <F>  
4. <T> → <F> 
5. <F> → (<E>)
6. <F> → id