Você está na página 1de 3

CENTROUNIVERSITRIODEJOOPESSOA

COORDENAODECINCIASDACOMPUTAO
Disciplina:Construode
CompiladoresI
Professor:OdilonNelsonGrisiDantas
Perodo:6

Turma:

Data:

SegundaListadeExerccios
1)DefinaAnalisadorSinttico,relacionandooaosconceitosdegramticaservores.
2)Quevantagensexistememsedefinirasregrassintticasdeumalinguagemdeprogramaoatravs
deumaGramticaLivredeContexto?
3)ExpliqueadiferenaentreAnalisadoresSintticosDescendenteseAscendentes.

4)Disserteem,nomximo,15linhas,sobreosAnalisadoresDescendentes,apresentandosua
classificao,vantagensedesvantagensdecadaum.

5)Quaissoosproblemasquepodemhavernaanlisesintticadescendenterecursivapreditivaou
LL(1)?Quetransformaesnagramticasonecessriasparaevitlos?Exemplifique.
6)Considereasseguintesgramticas:
6.1)

ListaCmd
ListaCmdCmd|Cmd
Cmd
id:=Expr
Expr
Expr+Termo|ExprTermo|Termo
Termo
Termo*Fator|Termo/Fator|Fator
Fator
num_int|id|(Expr)
Prog ListaCmd.

6.2)

ListaCmd
ListaCmdCmd|Cmd
Cmd
CmdDecl|CmdAtrib
Prog ListaCmd.


CmdAtrib
id:=Expr
Tipo
int|real
Expr
Expr+Termo|ExprTermo|Termo
Termo
Termo*Fator|Termo/Fator|Fator
Fator
num_int|num_real|id|(Expr)
CmdDecl Tipoid

6.3)

ListaCmd
ListaCmdCmd|Cmd
Cmd
CmdDecl|CmdAtrib|CmdIO
CmdDecl
Tipoid|constid=Expr
CmdAtrib
id:=Expr
CmdIO
writeExpr|readid
Tipo
int|real
Expr
Expr+Termo|ExprTermo|Termo
Termo
Termo*Fator|Termo/Fator|Fator
Fator
num_int|num_real|id|(Expr)
Prog ListaCmd.

6.4)

ListaCmd
ListaCmdCmd|Cmd
Cmd
CmdDecl|CmdAtrib|CmdIO
CmdDecl
TipoListaId|constid=Expr
ListaId
ListaId,id|id
CmdAtrib
Var:=Expr
CmdIO
writeListaExpr|readListaId
ListaExpr
Expr,Expr|Expr
Tipo
int|real
Expr
Expr+Termo|ExprTermo|Termo
Termo
Termo*Fator|Termo/Fator|Fator
Fator
Primario|Primario|(Expr)
Primario
num_int|num_real|Var
Var
id|id[Expr]
Prog ListaCmd.

6a)ReescrevaasnaformaLL(1)enaformaestendida(EBNF)
6b)ConsiderandoaformaLL(1)decadagramtica,apresenteseusrespectivosconjuntosFIRSTe
FOLLOWesuasTabelasdeAnliseSinttica(TAS)

7)ConsidereaformaLL(1)dagramtica6.1ConstruaaADS(rvoredeDerivaoSinttica)para
asseguintesentradas:

7.1)x:=x+1.
7.2)x:=x+1y:=2*x1.
7.3)delta:=b*b4*a*c.
7.4)a:=(b+5)/10c:=3*a1.

8)Elaboregramticasformaisparaasseguinteslinguagens,informalmentedescritasaseguir:
a)Oarquivodeentrada(programa)compostodelistasseparadasporpontoevrgula.Uma
listaumacoleodeelementosseparadosporvrgulasoselementospodemseridentificadoresou
nmeros(inteirosoureais).Listaspodemserunitriasouvazias.Oprogramaterminaobrigatoriamente
comumpontofinal.
b)Oarquivodeentrada(programa)compostodeumadefiniodeentidade,iniciandopela
palavra"entity"seguidadeumidentificadoreumbloco(abre/fechachaves)oblococompostode
umalistadepropriedades,ondecadapropriedadedefinidapelapalavra"property"seguidadeum
tipo("number","text","boolean"ou"date")edonomedapropriedade(identificador).Devehaverpelo
menosumapropriedadedefinidanaentidade.

9)ApresenteaformaLL(1)eaformaEBNFdasgramticasdaquestoanterior.ParaaformaLL(1),
escrevaseusrespectivosconjuntosFIRSTeFOLLOWesuasTabelasdeAnliseSinttica(TAS).

<EOF>