90 likes | 171 Views
Projeto de PLP. Adriana Carla acd@cin.ufpe.br. Roteiro. Objetivos Alterações Contextualização BNF / Parser checaTipo() avaliar() Demonstração. Objetivos. Estender OO2, adicionando: Construtor. Alterações. Construtor. BNF/ Parser
E N D
Projeto de PLP Adriana Carla acd@cin.ufpe.br
Roteiro • Objetivos • Alterações • Contextualização • BNF / Parser • checaTipo() • avaliar() • Demonstração
Objetivos • Estender OO2, adicionando: • Construtor
Construtor • BNF/ Parser DecClasse ::= "classe" Id "{" DecVariavel ";" DecConstrutor“;” DecProcedimento "}" | DecClasse "," DecClasse DecConstrutor ::= id “(“ [ ListaDeclaracaoParametro ]“)” “{” Comando “}” DecVariavel ::= … | Tipo Id “:=” “new” Id “(” [ ListaDeclaracaoParametros ] “)” New ::= LeftExpression “:=” “new” “(” ListaExpressao “)”
Construtor • Ambiente • Criação da classe DecConstrutor, que herda de DecProcedimentoSimples.
Construtor • Avaliar() • Agora executa o construtor e altera o estado do objeto • checaTipo() • Não houve alterações
Trabalhos futuros • Adaptar o super ao uso do construtor.