Zusammenfassung der Ressource
TRADUTORES
- TEM O OBJETIVO DE RECEBER UM CONJUNTO DE
INSTRUÇÕES ESCRITOS EM UMA LINGUAGEM DE "ALTO
NÍVEL" E A TRANSFORMA EM LINGUAGEM DE "BAIXO
NÍVEL", FAZENDO COM QUE O COMPUTADOR EXECUTE
ESTE CONJUNTO DE INSTRUÇÕES
- ALTO NIVEL
- C++, JAVA.
PASCAL.COBOL.ETC
- BAIXO NIVEL
- LINGUAGEM DE
MÁQUINA (BINÁRIO) 0 E 1
- SE O COMPUTADOR ENTENDE
SOMENTE LINGUAGEM DE
MÁQUINA, 0 E 1 (CÓDIGO
BINÁRIO) O QUE É PRECISO PARA
QUE NÓS O ENTENDAMOS
- O OBJETIVO DE QUALQUER LINGUAGEM É PROMOVER
A COMUNICAÇÃO ENTRE DUAS PARTES, (UM EMISSOR E
UM RECEPTOR) NA LINGUAGEM DE PROGRAMAÇÃO,
OCORRE A COMUNICAÇÃO, ENTRE O "PROGRAMADOR"
E O "TRADUTOR".
- AMBIENTE DE
DESENVOLVIMENTO
- OS 3 TIPOS
FUNDAMENTAIS
SÃO:
- INTERPRETADOR
- FAZ A TRADUÇÃO MAIS NÃO GERA O "CÓDIGO
OBJETO", EXECUTA UMA A UMA, AS INSTRUÇÕES
DE UM PROGRAMA COM LING. DE ALTO NÍVEL
- APARTIR DO CÓDIGO FONTE
REALIZA AS TRÊS FASES
- 1-(COMPILAÇÃO) PEGA A PRIMEIRA
INSTRUÇÃO, E TRADUZ P/ O CÓD. DE MÁQ.
- 2-(FAZ A LIGAÇÃO) DETERMINA AS AÇÕES
A SEREM EXECUTADAS
- 3-(EXECUÇÃO) EXECUTA AS AÇÕES
- ALGUMAS DAS
LINGUAGENS
INTERPRETÁDAS SÃO:
- JAVASCRIPT,
LOGO, LUA,
C#, BASIC,
BISTRO,
PHYTHON,
RUBY, JAVA,
PHP, Euphoria,
CYBOL, ETC...
- LÉXICA
(SCANNER)
- COMPILADOR
- APARTIR DO PROG. DE ENTRADA É GERADO OUTRO QUE É EQUIVALENTE AO
ORIGINAL, POREM EM LING. QUE É DIRETAMENTE EXECUTÁVEL, TAL COMO
LINGUAGEM DE MÁQ. OU INDIRETAMENTE EXECUTÁVEL, TAL COMO OUTRA
LING. P/ A QUAL JÁ EXISTA UM TRADUTOR. (.EXE)
- FAZ DE UMA SÓ VEZ A TRADUÇÃO DO PROGRAMA ESCRITO EM UMA
LINGUAGEM DE "ALTO NÍVEL",(CÓDIGO FONTE) PARA UMA LINGUAGEM DE
"BAIXO NÍVEL"(CÓDIGO OBJETO). INDEPENDENTE DE QUANTAS VEZES O
CÓDIGO É EXECUTADO.
- ALGUMAS DAS LING.
COMPILADAS SÃO:
- ALGOL, ADA,
C++, BASIC,
COBOL,
COBRA,
DELPHI,
FORTRAN,
PASCAL, ETC...
- VANTAGEN:
- O CÓD. COMPILADO
É MAIS RÁPIDO DE
SER ACESSADO; CRIA
DIFICULDADES E AS
VEZES
IMPOSSIBILITA, SER
QUEBRADO E
VISUALIZADO O
CÓD.ORIGINAL.
COMPILA SOMENTE
SE ESTIVER SEM
ERROS.
- DESVANTAGEM
- PRECISA PASSAR POR
MUITOS NIVEIS DE
COMPILAÇÃO, POR
DIFICULTAR A
VISUALIZAÇÃO/
ALTERAÇÃO, O PROC. DE
CORREÇAO/ALTERAÇAO
REQUER QUE ELE SEJA
NOVAMENTE COMPILADO.
- SINTÁTICA
- SEMÂNTICA
- É A TERCEIRA
FASE NA
COMPILAÇÃO
- UTILIZA A ÁRVORE SINTÁTICA, TERMINADA PELO
ANÁLIZADOR SINTÁTICO, P/ VERRIFICAR ERROS.
"EX."(UMA MULTIPLICAÇÃO ENTRE TIPOS DE
DADOS DIFERENTES) E COLETA AS INFORMAÇÕES
NESCESSÁRIAS P/ A PRÓX. ETAPA DA COMPILAÇÃO,
Q É A GERAÇÃO DE PROGRAMA-OBJETO (CÓDIGO
OBJETO)
- OTIMIZAÇÃO
- GEREAÇÃO DO CÓDIGO
- AO FINAL DE TODA A FAZE DE
COMPILAÇÃO, É FEITA A GERAÇÃO
DO CÓDIGO P/ PROGRAMA-OBJETO (CÓD. DE
MÁQ.) Q NORMALMENTE CONSISTE EM
CÓDIGO EM LINGUAGEM "ASSEMBLY" OU
NO "PRÓPRIO CÓD. D MÁQ". (CÓD.
BINÁRIO=0 E 1)
- CONSISTE EM MELHORAR O CÓDIGO
INTERMEDIÁRIO DE TAL FÓRMA QUE O
PROGRAMA RESULTANTE SEJA MAIS
RÁPIDO EM TEMPO DE EXECUÇÃO.
EXEMPLO: SE UM ALGORITMO DE
GERAÇÃO DE CÓDIGO INTERMEDIARIO
GERA UMA INSTRUÇÃO PARA CADA
OPERADOR DA ÁRVORE SINTÁTICA,
MESMO Q POSSUA OUTRA FÓRMA MAIS
RÁPIDA P/ COMPRIR O MESMO
COMANDO".
- EDITORES DE LIGAÇÃO (LIKER).
REARRAMJA O CÓD. DO PROG.
INCLUINDO A ELE TODAS AS PARTES
APRESENTADAS NO CÓD. ORIGINAL.
RESULTANDO NUM CÓD.EXEC.PELO
PROCESSADOR. TARÉFA FEITA PELOS
LIGADORES (LINKADORES)
- DEPURADORES OU
DEBUGGERS. AUX. O
PROGRAMADOR PROCURAR
"ELIMINAR" OU E "DIMINUIR"
A QUANT. DE BUGS. (ERROS)
DE EXEC. DO SEU PROG.
- ELE AGRUPA OS "TOKENS" FORNEC. PELO ANALIZ. LÉXICO EM EXTRUTURAS SINTÁTICAS, E IDENTIFICA A
ESTRUTURA GRAMÁTICAL DO PROG. E RECONHECE O PAPEL DE CADA COMPONENTE CONSTRUINDO ASSIM
A ÁRVORE SINTÁTICA CORRESPONDENTE. P/ ISSO UTILIZA-SE VÁRIAS REGRAS DE SINTAXE Q CONSTITUEM
UMA LINGUAGEM FONTE, RECONHECE ERROS SINTÁTICOS, Q SÃO FORMAÇÃO DE PROG.FONTE. QUE Ñ
ESTEJÃO DE ACORDO, COM AS REGRAS SINTÁTICAS ESPECIFICADO PELA GRAMÁTICA.
- É A SEGUNDA
ETAPA DE UM
COMPILADOR
- É A PRIMEIRA
ETAPA DE UM
COMPILADOR
- ANALISE LÉXICA, É
O PROCESSO
UTILIZADO P/
ANÁLISE. ESSA
ANALISE É FEITA
PELO ANALIZADOR
LÉXICO, QUE VERRIF.
SE Ñ EXISTE ALGUM
CARACTER OU
SINTAXE, FÓRA DO
PADRÃO DA LING.
UTILIZADA.
- DURANTE ESSA ANÁLISE OS
TOKENS SÃO CLASSIF. COMO
PALAVRAS RESERV. "
IDENTIFICADORES E SIMBOLOS
ESPECIAIS, CONSTANTES DE TIPOS
BÁSICOS". (INTEIRO, REAL, LITERAL,
ETC.). RECONHECE AS SEQUENCIAS
DE SIMBOLOS QUE REPRESENTAM
UMA UNIDADE. (EX: NOME DE VAR.
UMA CONSTANTE, UMA PALAVRA
CHAVE DE INSTRUÇÃO.(WHILE). UM
" TOKEN" CONSISTE DE UM PAR
ORDENADO (VALOR, CLASSE).
- A ANALISE
LÉXIA
FUNCIONA
EM DUAS
ETAPAS
- 1- LÊ A ENTRADA DE CARACTER, UM DE CADA VEZ,
MUDANDO O ESTADO EM Q OS CARCT. SE ENCONTRAM,
QUANDO ENCONTRA UM Ñ IDENTIFICA COMO
CORRETO, ELE O CHAMA DE ESTADO "MORTO" ENTÃO
VOLTA P/ A ULTIMA ANÁLISE ACEITA E ASSIM ELE TEM O
TIPO E O COMPRIMENTO DO LÉXICO VALIDO.
- 2-SÃO REPASSADOS OS CARACT. DO LÉXICO AFIM DE PRODUZIR UM VLR. O
TIPO DE LÉX. COMBINADO COM O SEU VALOR É O Q ADQUADAMENTE
CONSTITUI UM SIMBOLO. Q PODE SER DADO A UM "PARSER".(ALGUNS
SIMBOLO COMO O PARENTESES Ñ TEM VALOR, ENTÃO A ANALISE Ñ PODE
RETORNAR NADA).
- A ANÁLISE LÉX. ESCREVE UM PARSER MUITO MAIS FÁCIL. EM VES DE TER
QUE ACUMULAR, RENOMEIA SEUS CARACTERES INDIVIDUALMETENTE. O
PARSER Ñ MAIS SE PREOUCUPA COM OS SIMB. E PASSA A
PREUCUPAR-SE SÓ COM QUESTÕES DE SINTÁTICA. ISTO LEVA A
EFICIÊNCIA DE PROGRAMAÇÃO, E A Ñ EFICIÊNCIA DE EXECUÇÃO.
- MONTADOR
(ASSEMBLER)
- FAZ A TRADUÇÃO DIRETA DE UM PROGRAMA ESCRITO EM
LINGUAGEM DE "ALTO NÍVEL" EM UM PROGRAMA
EQUIVALENTE ESCRITO EM LINGUAGEM DE MÁQUINA
- NO PROCESSO DE MONTAGEM, ELE VERRIFICA, "TODO O
CÓDIGO FONTE" DO PROGRAMADOR,
INSTRUÇAO/INSTRUÇÃO, (SE VIRRIFACANDO SE O
MNEMÔNICO CORRESPONDE A UMA INSTRUÇÃO VÁLIDA, P/
O COMPUTADOR E VERRIFICA SE A ERROS DE SINTAXE OU
NA EXTRUTURA DE LIMGUAGEM, P/ Q. POSSA SER
TRADUZIDA P/ Ó CÓD. DE MÁQ. QUALQUER ERRO
ENCONTRADO ACARRETERÁ, NA INTERRUPÇÃO DA EXEC.
DO PROG. GERANDO, MENSAGENS DE ERRO. RESOLVER AS
REFERÊNCIAS DE MEMÓRIA:
- OS NOMES
SIMBÓLICOS,
ADOTADOS PELO
PROGRAMADOR, SÃO
CONVERTIDOS EM
ENDEREÇOS REAIS DE
MEMÓRIA. (VÁLORES
NÚMERICOS
BINÁRIOS DE
ENDEREÇO)
- RESERVA O ESPAÇO
NA MEMÓRIA P/
ARMAZENAMENTO DE
INSTRUÇÕES E DADOS.
- CONVERTE OS VALORES
DE CONSTANTE P/ O
CÓD. DE MÁQ. (0 E 1)
(BINÁRIO)