Sei sulla pagina 1di 17

0

[Escolha a data]


Trabalho de Compiladores
Estudo das Linguagens


Alunos:



1


Trabalho de Compiladores
Estudo das Linguagens
Cobol

Origem

O COBOL foi criado por um comit de investigadores de vrias instituies civis e governamentais
durante o segundo semestre de 1959.

Por quem foi criada

Objetivo da Linguagem

Linguagem Comum Orientada para os Negcios uma linguagem de programao orientada para o
processamento de banco de dados comerciais

rea de atuao da Linguagem

Estrutura da Linguagem


Trecho de cdigo que torna nica a Linguagem


Fortran

Origem




2


Por quem foi criada

Objetivo da Linguagem

rea de atuao da Linguagem

Estrutura da Linguagem

Trecho de cdigo que torna nica a Linguagem

Lisp


Origem

Por quem foi criada

Lisp uma famlia de linguagens que possui uma longa histria. As primeiras idias-chave para a
linguagem foram desenvolvidas por John McCarthy em 1956, durante um projeto de pesquisa em
inteligncia artificial. A primeira implementao da linguagem se d no inverno de 1958. A motivao
de McCarthy surgiu da idia de desenvolver uma linguagem algbrica para processamento de listas
para trabalho em IA (inteligncia artificial).

Objetivo da Linguagem

A linguagem Lisp foi projetada primariamente para o processamento de dados simblicos.
Ela uma linguagem formal matemtica.
rea de atuao da Linguagem

A linguagem teve um grande sucesso em softwares dos ramos de negcios, engenharia,
processamento de documentos, hipermdia (incluindo a Web), matemtica, grficos e
animao (Mirai), inteligncia artificial e processamento de linguagem natural.
Estrutura da Linguagem




3


A linguagem LISP interpretada, onde o usurio digita expresses em uma linguagem formal
definida e recebe de volta a avaliao de sua expresso. Multi-paradigma que suporta
programao funcional e procedural

caracterstica nica da linguagem LISP
Tipos de dados: tomo e a lista
Trecho de cdigo que torna nica a Linguagem
Exemplo de lista:
(esta lista contm 5 tomos)
((jose (22 solteiro)) (antonio (15 casado)))
Normalmente a implementao de uma lista um encadeamento de pares em que o ponteiro
esquerda do par aponta para o elemento correspondente da lista e em que o ponteiro direita
do par aponta para a restante lista.
[ . ]
| |
| +---- ponteiro para a restante lista (quando for o ltimo, aponta
para nil)
+-------- ponteiro para o contedo do elemento
[ . ] +[ . ] +[ . ] +[ . ] +[ . ]
| | | | | | | | | | | | | |
| +---+ | +---+ | +---+ | +---+ | +--> nil
esta lista contm 5 tomos

Exemplos de funo:
(+ 3 4)
> 7
(* 5 (+ 2 5))
> 35
(car (quote (a b)))
> a
Avaliao dados: os tomos quando avaliados retornam eles mesmos. As listas, quando avaliadas, so
funes, onde o primeiro elemento representa o nome da funo e os elementos seguintes so os
argumentos para esta funo
Prolog




4


Origem

Por quem foi criada

Objetivo da Linguagem

rea de atuao da Linguagem

Estrutura da Linguagem

Trecho de cdigo que torna nica a Linguagem


ML

Origem

Por quem foi criada

Objetivo da Linguagem

rea de atuao da Linguagem

Estrutura da Linguagem

Trecho de cdigo que torna nica a Linguagem






5


Hasken

Origem

Por quem foi criada

Objetivo da Linguagem

rea de atuao da Linguagem

Estrutura da Linguagem

Trecho de cdigo que torna nica a Linguagem



Ruby

Origem

Por quem foi criada

Objetivo da Linguagem

rea de atuao da Linguagem

Estrutura da Linguagem

Trecho de cdigo que torna nica a Linguagem



6



TCL

Origem

Por quem foi criada

Objetivo da Linguagem

rea de atuao da Linguagem

Estrutura da Linguagem

Trecho de cdigo que torna nica a Linguagem


Perl

Origem

Perl 1.0 foi lanada na usenet alt.comp.sources em 1987.

Por quem foi criada

Perl foi criada por Larry Wall.

Objetivo da Linguagem

Perl foi originalmente uma linguagem otimizada para a digitalizao de arquivos de texto arbitrrios,
extrair informaes a partir desses arquivos de texto e impresso de relatrios com base nessa
informao. (Geral)
rea de atuao da Linguagem



7


Perl uma linguagem de programao estvel e multiplataforma, usada em aplicaes de misso
crtica em todos os setores, e bastante usada para desenvolver aplicaes web de todos os tipos.

Estrutura da Linguagem

Possui diversos paradigmas, sempre prezando a flexibilidade, pode-se notar Programao estruturada,
orientada a objetos e programao funcional.
Trecho de cdigo que torna nica a Linguagem
Um dos pontos fortes de Perl o eficiente uso de expresses regulares no tratamento de textos e
arquivos. Identificamos essas expresses pelos delimitadores "/.../", ou seja, tudo o que estiver entre
essas barras ser tratado como um pattern (padro) para ser encontrado em determinado texto. O
programa a seguir l um texto e busca exatamente a expresso "foo":
while(<>) {
/foo/;
print;
}

Simula 67

Origem

Simula 67 foi criada entre 1962 e 1968 no Centro Noruegus de Computao em Oslo.

Por quem foi criada

Kristen Nygaard e Ole-Johan Dahl.
Objetivo da Linguagem

Simulao computacional.(Propsito geral)

rea de atuao da Linguagem

Apoiar eventos baseados em modelagem de processos de simulao e em pesquisa operacional.

Estrutura da Linguagem

A Simula 67, como extenso do Algol 60, mantm a estrutura em bloco e de controle dessa linguagem.
A simulao exigia subprogramas com permisso para reiniciar na posio em que pararam, tais



8


programas receberam o nome de co-programas. Para oferecer suporte a esse tipo de co-rotina, foi
desenvolvido o conceito de classe.
Trecho de cdigo que torna nica a Linguagem
process class Car;
begin real X0, T 0, V ;
real procedure X; X := X0+V (timeT 0);
procedure newV (V new); real V new;
begin X0 := X; T 0 := time; V := V new end;
Car behaviour: ......; hold(<travel time>); . . . . . .
end of Car;
process P olice;
begin ......; inspect <process> when Car do
if X <is within city> and V >50 then
begin newV (50); <give fine> end; ......
end of P olice;
main program: <initialise>; hold(<simulation period>)
end of simulation model;

Smalltalk

Origem

Incio em 1969, tornou-se pblico em 1980.

Por quem foi criada

Alan Kay, Dan Ingalls, Adele Goldberg

Objetivo da Linguagem

Projetada para o Uso Educacional.



9



rea de atuao da Linguagem

Smalltalk, assim como outras linguagens OO, tem sido usada em aplicaes variadas onde a nfase
est na Simulao de modelos de sistemas, como automao de escritrios, animao grfica,
informtica educativa, instrumentos virtuais, editores de texto e bancos de dados genricos, etc.

Estrutura da Linguagem

Smalltalk segue o paradigma orientado a objeto (OO).

Trecho de cdigo que torna nica a Linguagem
Numeros subclass: #Primos
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros'

Initialize
super initialize.

verificaSeEPrimo: temp "a funcao isPrime ja existe na classe Integer"
Transcript show: temp isPrime.

imprime
Transcript show:'sobrescrevi o metodo imprime da classe
pai(Numeros). Isso mostra que Smalltalk suporta
polimorfismo universal por inclusao'.

Racket

Origem

Surgido em 1994.

Por quem foi criada

PLT Inc.



10


Objetivo da Linguagem
Um dos objetivos do projeto servir como uma plataforma para a criao de linguagem, design e
implementao.

rea de atuao da Linguagem

A linguagem utilizada numa variedade de contextos, tais como scripting, programao de uso geral, a
educao de cincia da computao e pesquisa

Estrutura da Linguagem

Multiparadigma: funcional, procedural , modular, orientada objetos, lgica, reflexiva, meta.

Trecho de cdigo que torna nica a Linguagem
#lang racket
(require 2htdp/image)
(let sierpinski ([n 8])
(if (zero? n)
(triangle 2 'solid 'red)
(let ([t (sierpinski (- n 1))])
(freeze (above t (beside t t))))))


Lua

Origem

Surgido em 1993.

Por quem foi criada

Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes.

Objetivo da Linguagem

Projetada para expandir aplicaes em geral.



11


rea de atuao da Linguagem

Lua foi criada por um time de desenvolvedores do Tecgraf da PUC-Rio, a princpio, para ser usada em
um projeto da Petrobras. Devido sua eficincia, clareza e facilidade de aprendizado, passou a ser
usada em diversos ramos da programao, como no desenvolvimento de jogos (a Blizzard
Entertainment, por exemplo, usou a linguagem no jogo World of Warcraft), controle de robs,
processamento de texto, etc. Tambm frequentemente usada como uma linguagem de propsito
geral.

Estrutura da Linguagem

Abstrao de dados, Programao imperativa, Programao procedural.

Trecho de cdigo que torna nica a Linguagem
do
local oldprint = print -- Grava a varivel print em oldprint
print = function(s) -- Redefine a funo print
if s == "foo" then
oldprint("bar")
else
oldprint(s)
end
end
end


Modula-2

Origem

Surgido em 1978.

Por quem foi criada

Niklaus Wirth.

Objetivo da Linguagem




12


Ser uma linguagem prtica, eficiente e essencialmente independente do hardware sobre o qual fosse
executada.

rea de atuao da Linguagem

Desenvolvimento de software (Propsito Geral).

Estrutura da Linguagem

Imperativa, Estruturada, Modular.

Trecho de cdigo que torna nica a Linguagem
MODULE fatorial;
FROM InOut IMPORT ReadCard,WriteCard,WriteLn,WriteString;
VAR n : CARDINAL;
PROCEDURE Fat(n : CARDINAL) : CARDINAL;
BEGIN
IF n=0 THEN
RETURN 1
ELSE
RETURN n*Fat(n-1);
END;
END Fat;
BEGIN
WriteString("Este modulo calcula o fatorial de 'N'");
WriteLn;WriteLn;
WriteString("Entre com o valor de 'N':");
ReadCard(n);
WriteLn;WriteLn;
WriteString("O fatorial de");
WriteCard(n,3);
WriteString(" e'");
WriteCard(Fat(n),6);
END fatorial.





13


Eiffel

Origem

A linguagem Eiffel foi concebida pela Eiffel Software (ento conhecida como ISE) em 1985.

Por quem foi criada

Dr. Bertrand Meyer e seus engenheiros.

Objetivo da Linguagem

A linguagem se prope a ser de uso geral,.
rea de atuao da Linguagem

A linguagem se prope a ser de uso geral, podendo ser usada para desenvolvimento de aplicaes
financeiras, indstria, sistemas de telecomunicaes, etc.

Estrutura da Linguagem

Eiffel uma Linguagem de Programao avanada, puramente orientada a objeto que enfatiza o
projeto e construo de software reusvel e de alta qualidade.

Trecho de cdigo que torna nica a Linguagem
Um exemplo onde l-se um nmero inteiro e exibe a raiz quadrada, o quadrado e o fatorial.
class

APPLICATION

inherit

ARGUMENTS

create

make




14


feature {NONE} Initialization

a, b, c, d: INTEGER

make

Run application.

do

| Add your code here

io.putstring (Digite um nmero: )

io.readint

a := io.lastint

b := sqrt(a)

io.putstring (Raiz quadrada: )

io.putint (b)

c := exp(a,2)

io.putstring (Exponenciao: )

io.putint (c)

d := FATORIAL(a)

io.putstring (Fatorial: )

io.putint (d)

end



15



end

class

FATORIAL

feature {NONE} Implementation

FATORIAL (n: INTEGER): INTEGER is

do

if n = 1 then Result := 1

else Result := n * FATORIAL(n 1)

end

end fatorial

end





Referncias Bibliogrficas

http://pt.wikipedia.org/
http://www.dca.ufrn.br/~adelardo/lisp/



16


http://perldoc.perl.org/perl.html#DESCRIPTION
http://www.olejohandahl.info/old/birth-of-oo.pdf
http://progopedia.com/
http://inf.ufrgs.br/~vbuaraujo/fundalg/tutorial/
http://ubiq.inf.ufpel.edu.br/

Potrebbero piacerti anche