Trabalho de Linguagem Intermediaria
Trabalho de Linguagem Intermediaria
Trabalho de Linguagem Intermediaria
LINGUAGEM INTERMEDIÁRIA
SOROCABA
2011
RENAN TADEU DA SILVA 408638
GRUPO 12
LINGUAGEM INTERMEDIÁRIA
INTRODUÇÃO- ------------------------------------------------------------------------------------------4
1.1 - DEFINIÇÃO................................................................................................................5
1.2 ASSEMBLY..................................................................................................................6
1.2.1 - AMBIENTES DE USO................................................................................................6
1.2.2 - LINGUAGEM C........................................................................................................6
1.2.3 - LINGUAGEM JAVA..................................................................................................7
1.2.4 – PLATAFORMA .NET................................................................................................7
4 - OTIMIZAÇÃO DE CÓDIGO-------------------------------------------------------------17
CONCLUSÃO-----------------------------------------------------------------------------------19
BIBLIOGRAFIA---------------------------------------------------------------------------------20
INTRODUÇÃO
1.1 - Definição
T
rata-se de um termo não aceito por todos. Esta linguagem de
computador é usada na programação como um estágio intermediário
entre a linguagem-fonte de origem (geralmente uma linguagem de alto
nível) e a linguagem de destino (geralmente o código de máquina). Muitos
compiladores de alto nível usam a linguagem assembly como uma linguagem
intermediária.
Quarta geração: São linguagens capazes de gerar código por si só, são
os chamados RAD, com o qual pode-se realizar aplicações sem ser um
expert na linguagem. Aqui também se encontram as linguagens
orientadas a objetos, tornando possível a reutilização de partes do
código para outros programas. Ex: Visual, Natural Adabes…
1.2 Assembly
Assembly ou linguagem de montagem é uma notação legível por
humanos para o código de máquina que uma arquitetura de
computador específica usa. A linguagem de máquina, que é um mero padrão
de bits, torna-se legível pela substituição dos valores em bruto por símbolos
chamados mnemónicos.
1.2.2 - Linguagem C
C é usado como língua intermediária por muitas linguagens de programação,
incluindo Eiffel , Sather , Esterel,alguns dialetos de Lisp ( Lush , Gambit ), Hask
ell ( Glasgow Haskell Compiler ), Squeak's-subconjunto C calão, Cython , entre
outros. Variantes de C foram concebidos para fornecer recursos de C como um
jogador portátil de linguagem assembly , incluindo uma das duas línguas
chamado C - , a C Intermediate Language e o baixo nível da máquina virtual .
1.2.3 - Linguagem Java
Sun Microsystem bytecode Java é a linguagem intermediária usada por todos
os compiladores visando o Java Virtual Machine . A JVM pode então fazer -em-
tempo de compilação apenas para obter o código de máquina executável para
melhorar as performances. Da mesma forma, da Microsoft Common
Intermediate Language é uma linguagem intermediária projetada para ser
compartilhada por todos os compiladores para o . NET Framework , antes ou
dinâmico compilação estática de código de máquina.
-- System.Object
---- Estruturas
---- Tipos Enumerados
---- Objeto
---- Interface
---- Ponteiros
Não teria a diferença entre Tipo valor e Tipo referência.
System
Contém algumas classes de baixo nível usadas para trabalhar com tipos
primitivos, operações matemáticas, gerenciamento de memória etc.
System.Collections
System.Diagnostics
Log de Event, medição de performance, gerenciamento de processos,
depuração etc.
System.IO
System.NET
System.Reflection
System.RuntimeInteropServices e System.Runtime.Remoting
System.Security
System.Threading
System.Web
Biblioteca sobre tudo relacionado a Web, como Webservices, ASP.NET etc.
System.Windows.Forms
Bibliotecas para o desenvolvimento de aplicações Windows tradicionais.
System.XML
Biblioteca que permite a interação com documentos XML.
Primeira camada
Segunda camada
Feito isso, o programa deverá ser compilado e então gerado a IL que, por sua
vez, será interpretada pela CLR (terceira camada), que deverá passar pelas
especificações da CTS e CLS (quarta camada).
1.2.5 Standard ML
O sitio Wikipedia ainda mostra que uma outra linguagem pode ser considerada
intermediaria:
fun factorial n =
fun factorial 0 = 1
| factorial n = n * factorial (n - 1)
Isto pode ser reescrito usando uma instrução, num caso similar como este:
Usando uma função local, esta função pode ser reescrita de forma mais
eficiente de estilo tail recursive.
Implementações
código intermediário.
4 - Otimização de Código
http://www.criarprogramas.com/2011/03/18/o-que-sao-interpretadores-e-compiladores-qual-a-
diferenca/ (CONTEÚDO ACESSADO EM 21/04/2011)
http://www.linhadecodigo.com.br/artigo/120/Arquitetura-NET-MSIL-CLR-CTS-CLS-BLC-
JIT.aspx (CONTEÚDO ACESSADO EM 21/04/2011)
http://www.dsc.ufcg.edu.br/~peter/cursos/cc/material/p6-gercod-2p.pdf (CONTEÚDO
ACESSADO EM 21/04/2011)