Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Especificação de um método (BNF Extendida)MetodoTAD → id Se não Simbolos.SimboloRedeclarado(id.nome) entãoid.simbobj := TSimbolo.Create(id.nome, tsMetodo);Simbolos.Instalar(id.simbobj);id.simbobj.TabelaAgregada := Símbolos.AbrirEscopo(id.nome);id.simbobj.TipoMetodo := MetodoTAD.TipoMetodo;ParamOculto := TSimbolo.Create(‘esse’, tsObjeto);Símbolos.Instalar(ParamOculto);ParamFormais‘;’EstruturaDadosCComposto MetodoTAD.codigo := id.nome || ‘proc near’ || CRLF ||CComposto.codigo || CRLF ||‘ret’ || CRLF ||id.nome || ‘endp’;MetodoTAD.codasm := id.nome || ‘proc near’ || CRLF ||‘push bp’ || CRLF ||‘mov bp, sp’ || CRLF ||‘sub sp, ’ || Símbolos.EscopoAtual.LarguraVariaveis || CRLF ||CComposto.codasm ||‘mov sp, bp’ || CRLF ||‘pop bp’ || CRLF ||‘ret’ || Símbolos.EscopoAtual.LarguraParametros + 2 || CRLF ||id.nome || ‘endp’;Símbolos.FecharEscopo;';'