TRADUTORES

cleversonsh
Mind Map by cleversonsh, updated more than 1 year ago
cleversonsh
Created by cleversonsh over 5 years ago
6
0

Description

MUITAS VEZES NOS PERGUNTAMOS COMO O COMPUTADOR SABE O QUE DESEJAMOS Q ELE FAÇA POR NÓS, MAS NÃO SABEMOS COMO ISSO OCORRE, AQUI TEM UMA BREVE ESPLICAÇÃO DE COMO ISTO OCORRE.

Resource summary

TRADUTORES
1 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
1.1 ALTO NIVEL
1.1.1 C++, JAVA. PASCAL.COBOL.ETC
1.2 BAIXO NIVEL
1.2.1 LINGUAGEM DE MÁQUINA (BINÁRIO) 0 E 1
2 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
2.1 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".
3 AMBIENTE DE DESENVOLVIMENTO
3.1 OS 3 TIPOS FUNDAMENTAIS SÃO:
3.1.1 INTERPRETADOR
3.1.1.1 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
3.1.1.1.1 APARTIR DO CÓDIGO FONTE REALIZA AS TRÊS FASES
3.1.1.1.1.1 1-(COMPILAÇÃO) PEGA A PRIMEIRA INSTRUÇÃO, E TRADUZ P/ O CÓD. DE MÁQ.
3.1.1.1.1.1.1 2-(FAZ A LIGAÇÃO) DETERMINA AS AÇÕES A SEREM EXECUTADAS
3.1.1.1.1.1.1.1 3-(EXECUÇÃO) EXECUTA AS AÇÕES
3.1.1.2 ALGUMAS DAS LINGUAGENS INTERPRETÁDAS SÃO:
3.1.1.2.1 JAVASCRIPT, LOGO, LUA, C#, BASIC, BISTRO, PHYTHON, RUBY, JAVA, PHP, Euphoria, CYBOL, ETC...
3.1.1.3 LÉXICA (SCANNER)
3.1.1.3.1
3.1.2 COMPILADOR
3.1.2.1 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)
3.1.2.1.1 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.
3.1.2.1.1.1 ALGUMAS DAS LING. COMPILADAS SÃO:
3.1.2.1.1.1.1 ALGOL, ADA, C++, BASIC, COBOL, COBRA, DELPHI, FORTRAN, PASCAL, ETC...
3.1.2.2 VANTAGEN:
3.1.2.2.1 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.
3.1.2.2.2 DESVANTAGEM
3.1.2.2.2.1 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.
3.1.2.3
3.1.2.3.1
3.1.2.3.1.1 SINTÁTICA
3.1.2.3.1.1.1 SEMÂNTICA
3.1.2.3.1.1.1.1 É A TERCEIRA FASE NA COMPILAÇÃO
3.1.2.3.1.1.1.1.1 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)
3.1.2.3.1.1.1.2 OTIMIZAÇÃO
3.1.2.3.1.1.1.2.1 GEREAÇÃO DO CÓDIGO
3.1.2.3.1.1.1.2.1.1 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)
3.1.2.3.1.1.1.2.2 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".
3.1.2.3.1.1.1.2.3 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)
3.1.2.3.1.1.1.2.3.1 DEPURADORES OU DEBUGGERS. AUX. O PROGRAMADOR PROCURAR "ELIMINAR" OU E "DIMINUIR" A QUANT. DE BUGS. (ERROS) DE EXEC. DO SEU PROG.
3.1.2.3.1.1.2 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.
3.1.2.3.1.1.2.1 É A SEGUNDA ETAPA DE UM COMPILADOR
3.1.2.3.1.2 É A PRIMEIRA ETAPA DE UM COMPILADOR
3.1.2.3.1.2.1 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.
3.1.2.3.1.2.1.1 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).
3.1.2.3.1.3 A ANALISE LÉXIA FUNCIONA EM DUAS ETAPAS
3.1.2.3.1.3.1 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.
3.1.2.3.1.3.2 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).
3.1.2.3.1.3.2.1 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.
3.1.3 MONTADOR (ASSEMBLER)
3.1.3.1 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
3.1.3.1.1 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:
3.1.3.1.1.1 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)
3.1.3.1.1.1.1 RESERVA O ESPAÇO NA MEMÓRIA P/ ARMAZENAMENTO DE INSTRUÇÕES E DADOS.
3.1.3.1.1.1.1.1 CONVERTE OS VALORES DE CONSTANTE P/ O CÓD. DE MÁQ. (0 E 1) (BINÁRIO)
3.1.3.2
Show full summary Hide full summary

Similar

Random German A-level Vocab
Libby Shaw
Marriage and Family Life - Edexcel GCSE Religious Studies Unit 3
nicolalennon12
New GCSE Maths
Sarah Egan
Organigramas
Erick Plata
LINEA DEL TIEMPO DE LA EVOLUCION DEL MICROSCOPIO
Joaquin Calderon
LOS IMPUESTOS
Maria Paula Cardona Aux
DESARROLLO DE COMPETENCIAS
damary acevedo
Abordaje investigativo en la adminitración
Yose Torres
TRASTORNO DE LA AFECTIVIDAD
Valeria Rios
FUSIÒN DE SOCIEDADES MERCANTILES
carlos ramirez
mishael
Mishael Gonzalo