Peter - PLP.pdf
-
Upload
marcus-vinicius-germano -
Category
Documents
-
view
48 -
download
0
Transcript of Peter - PLP.pdf
-
Paradigmas de Linguagens deParadigmas de Linguagens deProgramaoProgramao
Parte 1Parte 1
Introduo ao Estudo de LinguagensIntroduo ao Estudo de Linguagensde Programao (de Programao (LPsLPs))
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 2
Plano de AulaPlano de Aula Razes para Estudar Conceitos de Razes para Estudar Conceitos de LPsLPs Domnios de ProgramaoDomnios de Programao Critrios para Avaliar Critrios para Avaliar LPsLPs Consideraes sobre os critrios de avaliaoConsideraes sobre os critrios de avaliao Influncias sobre o projeto de Influncias sobre o projeto de LPsLPs Categorias de LinguagensCategorias de Linguagens Mtodos de ImplementaoMtodos de Implementao
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 3
Razes para Estudar ConceitosRazes para Estudar Conceitosde de LPsLPs
Aumentar a capacidade de expressarAumentar a capacidade de expressaridiasidias A profundidade com que pensamos A profundidade com que pensamos
influenciada pelo poder expressivo dainfluenciada pelo poder expressivo dalinguagem com a qual nos comunicamos;linguagem com a qual nos comunicamos;
difcil para as pessoas expressar estruturas difcil para as pessoas expressar estruturasque elas no conseguem descrever;que elas no conseguem descrever;
Programadores sofrem o mesmo problema!!!Programadores sofrem o mesmo problema!!!
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 4
Permitir simular estruturas de outrasPermitir simular estruturas de outraslinguagens naquela que estiver usandolinguagens naquela que estiver usando
IndexIndex em em FORTRANFORTRAN, , substring substring em Cem C subprogramasubprograma em Pascal, funo sem retorno em Pascal, funo sem retorno
em Cem C
Razes para Estudar ConceitosRazes para Estudar Conceitosde de LPsLPs
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 5
Aumentar o conhecimento para escolherAumentar o conhecimento para escolherlinguagens de programao apropriadaslinguagens de programao apropriadas Programadores tendem a continuar usando aProgramadores tendem a continuar usando a
linguagem que lhes mais familiar, mesmolinguagem que lhes mais familiar, mesmoque esta no seja a mais adequadaque esta no seja a mais adequada
Razes para Estudar ConceitosRazes para Estudar Conceitosde de LPsLPs
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 6
Melhorar a habilidade de aprender novasMelhorar a habilidade de aprender novaslinguagenslinguagens Computao est em evoluo contnuaComputao est em evoluo contnua Processo de aprender uma nova linguagem Processo de aprender uma nova linguagem
mais difcil para quem no conhece osmais difcil para quem no conhece osconceitos gerais de conceitos gerais de LPsLPs
Razes para Estudar ConceitosRazes para Estudar Conceitosde de LPsLPs
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 7
Melhorar o entendimento da importnciaMelhorar o entendimento da importnciada implementaoda implementao Permite usar a linguagem maisPermite usar a linguagem mais
inteligentemente, pois estar avaliando asinteligentemente, pois estar avaliando asconseqncias de suas decisesconseqncias de suas decises
Razes para Estudar ConceitosRazes para Estudar Conceitosde de LPsLPs
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 8
Melhorar a habilidade de projetar novasMelhorar a habilidade de projetar novaslinguagenslinguagens Um dia voc poder precisar projetar umaUm dia voc poder precisar projetar uma Mesmo que no, a experincia Mesmo que no, a experincia
enriquecedoraenriquecedora
Razes para Estudar ConceitosRazes para Estudar Conceitosde de LPsLPs
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 9
Avano da Computao como um todoAvano da Computao como um todo Nem sempre a linguagem mais utilizada aNem sempre a linguagem mais utilizada a
melhormelhor ALGOL ALGOL 60 versus FORTRAN60 versus FORTRAN
Se as pessoas responsveis pela escolha deSe as pessoas responsveis pela escolha deLPsLPs forem melhor informadas, talvez forem melhor informadas, talvezlinguagens melhores sejam utilizadaslinguagens melhores sejam utilizadas
Razes para Estudar ConceitosRazes para Estudar Conceitosde de LPsLPs
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 10
Domnios de ProgramaoDomnios de Programao
Aplicaes CientficasAplicaes Cientficas Estruturas de dados simplesEstruturas de dados simples Operaes em ponto-flutuanteOperaes em ponto-flutuante Primeira linguagem:Primeira linguagem:
FORTRANFORTRAN (Formula (Formula TranslatorTranslator))
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 11
Aplicaes ComerciaisAplicaes Comerciais Incio da dcada de 50Incio da dcada de 50 1960: 1960: COBOL COBOL (At hoje...)(At hoje...) Produo de relatrios, armazenamento deProduo de relatrios, armazenamento de
informaes, informaes, etcetc.. Muitas funes se tornaram aplicaes bemMuitas funes se tornaram aplicaes bem
definidas e consolidadas:definidas e consolidadas: planilhas, folhas de pagamento, planilhas, folhas de pagamento, etcetc..
Domnios de ProgramaoDomnios de Programao
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 12
Inteligncia ArtificialInteligncia Artificial Primeira Linguagem:Primeira Linguagem:
LISP LISP (funcional) - 1959(funcional) - 1959 Linguagem mais usada:Linguagem mais usada:
PROLOGPROLOG Dialeto hbrido:Dialeto hbrido:
OBJLOG OBJLOG (lgica + (lgica + OOOO))
Domnios de ProgramaoDomnios de Programao
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 13
Programao de SistemasProgramao de Sistemas Softwares Softwares do sistema:do sistema:
Sistema Operacional.Sistema Operacional. Eficincia na execuoEficincia na execuo Caractersticas de baixo nvelCaractersticas de baixo nvel Linguagem mais utilizada: CLinguagem mais utilizada: C
Quase todo o Quase todo o Unix Unix escrito nela escrito nela
Domnios de ProgramaoDomnios de Programao
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 14
Linguagens de Linguagens de ScriptsScripts Consiste em se agrupar uma lista deConsiste em se agrupar uma lista de
comandos em um arquivo a ser executadocomandos em um arquivo a ser executado Auxiliam na execuo de tarefas do dia-a-diaAuxiliam na execuo de tarefas do dia-a-dia PerlPerl
crescimento sensvel de importncia com a WWWcrescimento sensvel de importncia com a WWW desenvolvimento de aplicaes que usam CGIdesenvolvimento de aplicaes que usam CGI
ShellShell (UNIX) (UNIX)
Domnios de ProgramaoDomnios de Programao
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 15
Linguagens de Propsito EspecficoLinguagens de Propsito Especfico Atendem a um determinado domnio deAtendem a um determinado domnio de
problemaproblema GPSS (General GPSS (General Purpose Statistic SimulationPurpose Statistic Simulation)) RPG (RPG (Report GeneratorReport Generator)) ANS.1 (ANS.1 (Abstract Abstract Sintaxe Sintaxe OneOne))
Domnios de ProgramaoDomnios de Programao
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 16
Critrios Para AvaliarCritrios Para Avaliar LPs LPs
Faz-se necessrio avaliar asFaz-se necessrio avaliar ascaractersticas das diversas caractersticas das diversas LPsLPs,,observando-se os impactos sobre oobservando-se os impactos sobre oprocesso de desenvolvimento de softwareprocesso de desenvolvimento de software
Precisamos de Critrios...Precisamos de Critrios...
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 17
LegibilidadeLegibilidade AplicabilidadeAplicabilidade EscritabilidadeEscritabilidade CustosCustos
Critrios Para Avaliar Critrios Para Avaliar LPsLPs
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 18
LegibilidadeLegibilidade
Facilidade com que um programa pode serFacilidade com que um programa pode serlido e entendidolido e entendido
Conseqncia da Conseqncia da Crise de SoftwareCrise de Software Booch Booch (1970) props o conceito de ciclo de(1970) props o conceito de ciclo de
vidavida Deve ser considerada no contexto doDeve ser considerada no contexto do
domnio do problemadomnio do problema
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 19
LegibilidadeLegibilidade
SimplicidadeSimplicidade Afeta fortemente a legibilidadeAfeta fortemente a legibilidade Linguagens com um grande nmero deLinguagens com um grande nmero de
componentes bsicos so mais difceis decomponentes bsicos so mais difceis deaprender do que aquelas com um nmeroaprender do que aquelas com um nmeroreduzidoreduzido
Alguns programadores aprendem apenas umAlguns programadores aprendem apenas umsubconjunto da linguagemsubconjunto da linguagem
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 20
Multiplicidade de Caractersticas:Multiplicidade de Caractersticas:countcount = = count count + 1;+ 1; countcount += 1; += 1;countcount++;++; ++++countcount;;
Sobrecarga de OperadoresSobrecarga de Operadores Simplicidade demais pode ser um problema:Simplicidade demais pode ser um problema:
AssemblyAssembly (reduzido nmero de estruturas)(reduzido nmero de estruturas)
LegibilidadeLegibilidade
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 21
LegibilidadeLegibilidade
OrtogonalidadeOrtogonalidade Um conjunto de construes pode serUm conjunto de construes pode ser
combinado para formar um outro conjuntocombinado para formar um outro conjunto-- Apontadores em C (apontam p/ qualquer tipo)Apontadores em C (apontam p/ qualquer tipo)// Adio em Adio em Assembly Assembly (adio separada)(adio separada)
Ortogonalidade demais pode causarOrtogonalidade demais pode causarproblemas:problemas:
ALGOL ALGOL 6868
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 22
LegibilidadeLegibilidade
Declaraes de ControleDeclaraes de Controle Um programa que pode ser lido (quase)Um programa que pode ser lido (quase)
linearmente do incio ao fim muito mais fcillinearmente do incio ao fim muito mais fcilde entender do que um programa repleto dede entender do que um programa repleto dedesvios (desvios (gotosgotos))
FORTRANFORTRAN BASICBASIC
Estruturas de controle (Estruturas de controle (ifif--thenthen--elseelse, , whilewhile, for), for)permitem uma leitura mais compreensvelpermitem uma leitura mais compreensvel
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 23
LegibilidadeLegibilidade
Tipos e Estruturas de DadosTipos e Estruturas de Dados A possibilidade de definir estruturas e tipos deA possibilidade de definir estruturas e tipos de
dados tambm afeta a legibilidadedados tambm afeta a legibilidadeINT fim_de_arquivo =INT fim_de_arquivo = 1 1;;BOOLEAN fim_de_arquivo = BOOLEAN fim_de_arquivo = truetrue;;
whilewhile( ( not not fim_de_arquivo == 1)fim_de_arquivo == 1)whilewhile( ( not not fim_de_arquivo )fim_de_arquivo )
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 24
LegibilidadeLegibilidade
SintaxeSintaxe A forma dos elementos tem um efeitoA forma dos elementos tem um efeito
significativo sobre a linguagemsignificativo sobre a linguagem IdentificadoresIdentificadores
FORTRAN FORTRAN 7777 (6 caracteres) (6 caracteres) BASICBASIC ANSIANSI (1 caractere ou 1 caractere seguido de 1(1 caractere ou 1 caractere seguido de 1
nmero)nmero) JavaJava (no tem limite) (no tem limite)
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 25
LegibilidadeLegibilidade Palavras Especiais:Palavras Especiais:
PASCALPASCAL ( (beginbegin--endend)) FORTRANFORTRAN 9090 e e ADAADA ( (ifif--endifendif)) FORTRANFORTRAN 9090 permite que se defina variveis com nomes permite que se defina variveis com nomes
dodo e e endend if if if if > > then then then then then then = = else else else else else else = = endif endifendif endif
Forma e significadoForma e significado A aparncia deve ao menos parcialmente indicar oA aparncia deve ao menos parcialmente indicar o
propsito.propsito. staticstatic em em C;C;
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 26
EscritabilidadeEscritabilidade
Indica o quo facilmente uma linguagemIndica o quo facilmente uma linguagempode ser usada em um determinadopode ser usada em um determinadodomnio de problemadomnio de problema
Deve ser considerada no contexto doDeve ser considerada no contexto dodomnio do problema da linguagemdomnio do problema da linguagem
COBOL COBOL versus Cversus C
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 27
EscritabilidadeEscritabilidade
Simplicidade e OrtogonalidadeSimplicidade e Ortogonalidade Se uma linguagem tiver um grande nmero deSe uma linguagem tiver um grande nmero de
construes, programadores podem no seconstrues, programadores podem no sefamiliarizar com todasfamiliarizar com todas
Mal uso de algumas e desuso de outrasMal uso de algumas e desuso de outras
Ortogonalidade demais pode prejudicar aOrtogonalidade demais pode prejudicar aescritabilidadeescritabilidade
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 28
Suporte para AbstraoSuporte para Abstrao Possibilidade de se definir e usar estruturasPossibilidade de se definir e usar estruturas
complexas sem que os aspectos internos decomplexas sem que os aspectos internos deiplementao iplementao dessas estruturas sejam vistosdessas estruturas sejam vistospelo programadorpelo programador
Implementao de uma rvore Binria em Implementao de uma rvore Binria em FORTRANFORTRAN,,PascalPascal e em e em JavaJava
EscritabilidadeEscritabilidade
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 29
EscritabilidadeEscritabilidade
ExpressividadeExpressividade Pode se referir a diversas caractersticasPode se referir a diversas caractersticas
countcount++;++; (C, C++, Java)(C, C++, Java) forfor (Pascal, C)(Pascal, C)
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 30
ConfiabilidadeConfiabilidade
Um programa dito confivel se eleUm programa dito confivel se eleexecuta de acordo com suasexecuta de acordo com suasespecificaes sob quaisquerespecificaes sob quaisquercircunstnciascircunstncias
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 31
Checagem de TiposChecagem de Tipos Verifica se os valores atribudos aos tiposVerifica se os valores atribudos aos tipos
esto de acordo com os definidosesto de acordo com os definidos Quando uma linguagem faz uma verificaoQuando uma linguagem faz uma verificao
rigorosa de seus tipos, diz-se que ela rigorosa de seus tipos, diz-se que ela fortemente fortemente tipadatipada..
Java e Pascal Java e Pascal -- C C //
ConfiabilidadeConfiabilidade
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 32
Manipulao de ExceesManipulao de Excees a possibilidade de um programa interceptar a possibilidade de um programa interceptar
um erro em tempo de execuo, tomar asum erro em tempo de execuo, tomar asmedidas adequadas e continuar (ou no) amedidas adequadas e continuar (ou no) aexecuoexecuo
Java, C++ e Java, C++ e Ada Ada -- Pascal, C e Pascal, C e FORTRAN FORTRAN //
ConfiabilidadeConfiabilidade
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 33
AliasingAliasing a possibilidade de se ter duas ou mais a possibilidade de se ter duas ou mais
referncias para um mesmo local da memriareferncias para um mesmo local da memria uma tcnica perigosa de programao uma tcnica perigosa de programao
C (apontadores e C (apontadores e UnionsUnions)) Java no possui essa propriedadeJava no possui essa propriedade
ConfiabilidadeConfiabilidade
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 34
Legibilidade e EscritabilidadeLegibilidade e Escritabilidade Quanto mais fcil de escrever um programa,Quanto mais fcil de escrever um programa,
maior a probabilidade dele estar certomaior a probabilidade dele estar certo
Quanto mais fcil de escrever um programa,Quanto mais fcil de escrever um programa,maior a facilidade de corrigi-maior a facilidade de corrigi-lolo e de ( e de (rere-)-)escrevescrev--lolo
ConfiabilidadeConfiabilidade
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 35
CustoCusto
uma funo de algumas outras uma funo de algumas outrascaractersticascaractersticas 1) Custo de Treinamento1) Custo de Treinamento
ortogonalidade e simplicidadeortogonalidade e simplicidade 2) Custo de escrever programas na linguagem2) Custo de escrever programas na linguagem
escritabilidadeescritabilidade 3) Custo de compilar programas3) Custo de compilar programas
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 36
CustoCusto
4) Custo de executar programas4) Custo de executar programas projeto da linguagemprojeto da linguagem
5) Custo do sistema de implementao5) Custo do sistema de implementao 6) Custo da confiabilidade pobre6) Custo da confiabilidade pobre 7) Custo de manuteno7) Custo de manuteno
muitas outras caractersticas, sobretudo amuitas outras caractersticas, sobretudo alegibilidadelegibilidade
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 37
Consideraes sobre osConsideraes sobre osCritrios de AvaliaoCritrios de Avaliao
Pode haver outros critrios:Pode haver outros critrios: portabilidade, generalidade, definio, portabilidade, generalidade, definio, etcetc..
Critrios so subjetivosCritrios so subjetivos legibilidade, legibilidade, escritabilidadeescritabilidade, etc., etc.
Critrios tm valores diferentes, dependendo daCritrios tm valores diferentes, dependendo daperspectiva:perspectiva:
implementadores, usurios, projetistasimplementadores, usurios, projetistas
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 38
Influncias no Projeto de Influncias no Projeto de LPsLPs
Arquitetura do ComputadorArquitetura do Computador Arquitetura de Arquitetura de Von Neumann Von Neumann influenciou fortemente ainfluenciou fortemente a
adoo de linguagens imperativasadoo de linguagens imperativas
ALU UC
Resultados das Operaes Instrues e dados
Memria
UCP
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 39
Influncias no Projeto deInfluncias no Projeto de LPs LPs
Devido Arquitetura de Devido Arquitetura de Von Neumann Von Neumann asascaractersticas centrais das linguagenscaractersticas centrais das linguagensimperativas so:imperativas so: variveisvariveis clulas de memriaclulas de memria atribuies atribuies opera operaeses sequenciamentosequenciamento
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 40
Influncias no Projeto deInfluncias no Projeto de LPs LPs
Metodologias de ProgramaoMetodologias de Programao orientao a processosorientao a processos orientao a dadosorientao a dados
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 41
Categorias de LinguagensCategorias de Linguagens
ImperativasImperativas FuncionaisFuncionais Orientadas a ObjetoOrientadas a Objeto Lgicas Lgicas
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 42
ImperativasImperativas
Do Latim: Do Latim: ImperareImperare (significa comandar) (significa comandar) Baseiam-se em comandos que atualizamBaseiam-se em comandos que atualizam
variveis armazenadas na memriavariveis armazenadas na memria Em princpio, podem ser implementadas deEm princpio, podem ser implementadas de
forma eficiente (devido arquitetura)forma eficiente (devido arquitetura) Domnio: Aplicaes comerciais, S.O., Domnio: Aplicaes comerciais, S.O., etcetc.. Exemplos: Pascal, C, Exemplos: Pascal, C, COBOLCOBOL, , etcetc..
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 43
FuncionaisFuncionais
Baseiam-se em princpios da matemticaBaseiam-se em princpios da matemticapara realizar computaespara realizar computaes FunesFunes
Interao (Imperativa) x Interao (Imperativa) x RecursoRecurso Domnio: Matemtica, I.A.Domnio: Matemtica, I.A. Exemplos:Exemplos: LISPLISP, ML, , ML, SchemeScheme, , CLOSCLOS, , etcetc..
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 44
Orientadas a ObjetosOrientadas a Objetos
Baseiam-se no conceito de classesBaseiam-se no conceito de classes Atributos + Mtodos = Atributos + Mtodos = ClasseClasse;; Hoje aplica-se a praticamente todos osHoje aplica-se a praticamente todos os
domniosdomnios Exemplos: Java, C++, Simula 67, Exemplos: Java, C++, Simula 67, etcetc..
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 45
LgicasLgicas
Baseiam-se na noo de que um programaBaseiam-se na noo de que um programaimplementa uma relao implementa uma relao ao invs de umao invs de ummapeamentomapeamento
Domnio: Inteligncia ArtificialDomnio: Inteligncia Artificial Exemplo: Exemplo: PrologProlog
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 46
Mtodos de ImplementaoMtodos de Implementao
CompilaoCompilao Interpretao PuraInterpretao Pura Implementao HbridaImplementao Hbrida
Interpretao de Cdigo ArmazenadoInterpretao de Cdigo Armazenado
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 47
CompilaoCompilao
Consiste em se traduzir um Consiste em se traduzir um programa fonteprograma fontepara um programa em para um programa em linguagem delinguagem demquina (ou montagem)mquina (ou montagem), que pode ser, que pode serexecutado (quase) diretamenteexecutado (quase) diretamente
Execuo rpidaExecuo rpida FortranFortran, C, , C, COBOLCOBOL, Pascal, , Pascal, etcetc..
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 48
CompilaoCompilao
Gerador de Cod.Interm. (e Analisador
Semntico)
Geradorde Cdigo
Otimizao
CdigoFonte
AnalisadorLxico
Computador
Tabela deSmbolos
AnalisadorSinttico
Dados
Resultados
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 49
Interpretao PuraInterpretao Pura
Executa (interpreta) os comandos doExecuta (interpreta) os comandos docdigo fontecdigo fonte
Simula uma mquina virtualSimula uma mquina virtual DebuggingDebugging mais simples mais simples 10 a 10010 a 100 vezes mais lenta que a compilao vezes mais lenta que a compilao Scripts ShellScripts Shell, , PrologProlog,, etc etc..
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 50
Interpretao PuraInterpretao Pura
CdigoFonte Interpretador
Resultados
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 51
Implementao HbridaImplementao Hbrida
Utiliza as duas abordagens anterioresUtiliza as duas abordagens anteriores Traduz um programa fonte - de alto nvel -Traduz um programa fonte - de alto nvel -
para um programa intermedirio de para um programa intermedirio de fcilfcilinterpretaointerpretao
Java (atualmente j possvel compilar),Java (atualmente j possvel compilar),PerlPerl, , etcetc..
-
UFPB/CCT/DSC Paradigmas de Linguagens de Programao 52
Implementao HbridaImplementao Hbrida
Gerador de Cdigo.Intermedirio Interpretador
CdigoFonte
AnalisadorLxico
AnalisadorSinttico
Dados
Resultados