ANTEPROYECTO
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

COMPILADOR:
 

 

 

 

SEMICOMP 1.0
 

 

 

 

 

 

 


FORMULACION DEL PROBLEMA:

 

 

 

 

 

            LO QUE TRATAREMOS EN ESTE PROYECTO, ES  UN SEMI COMPILADOR QUE NOS PERMITA REALIZAR, LAS INSTRUCCIONES MAS BASICAS, QUE TIENE UN VERDADERO COMPILADOR, PARA ELLO UTILIZAREMOS TÉCNICAS ESPECIFICAS QUE MAS ADELANTE EXPLICAREMOS.

 

 

OBJETIVO DE LA INVESTIGACION:

 

 

 

 

            EL OBJETIVO PRINCIPAL DE ESTE INVESTIGACION, ES TENER UN ANALIZIS PREVIO A LA REALIZACIÓN DEL COMPILADOR, HACI TAMBIEN ES UTILIZAR LAS HERRAMIENTAS Y LOS CONOCIMIENTOS QUE POCO A POCO IREMOS OBTENIENDO DE LA MATERIA DE LENGUAJES Y AUTOMAS, Y TAMBIEN PODER TENER UNA IDEA MAS FIRME COMO TRABAJAN  LOS DISTINTOS TIPOS DE COMPILADORES.

 

 

 

EVALUACIÓN DEL PROYECTO:

 

 

 

 

        SE TRATARA DE HACER UN COMPILADOR QUE ESTE DENTRO DE LAS NORMAS DE LOS DEMAS COMPILADORES, CON LAS FUNCIONES BASICAS COMO ANTERIORMENTE MENCIONAMOS, ASI COMO UNAS CARACTERÍSTICAS EXTRAS QUE SE LE INCLUIRAN.

 

 

 

 

 

LIMITACIONES DE LA INVESTIGACIÓN

 

 

 

        LA MÁXIMA LIMITACIÓN PARA ESTE PROYECTO ES EL TIEMPO, DADO QUE PARA HACER UN COMPILADOR NO SE LLEVA 1 NI 2 MESES, SINO MUCHO MAS, TANTO DE CODIFICACIÓN, Y ADEMÁS UNA AMPLIA EXPERIENCIA EN PROGRAMACIÓN Y CONOCIMIENTO INTERNO DEL HARDWARE.

 

 

MARCO TEORICO
 

 

 

 

 

 

 

 

 


ANTECEDENTE

AÑO

LENGUAJE

INVENTOR

DESCRIPCION

1900s

BINARIO

Bool

primer lenguaje

1946

Plankalkul

Konrad Zuse

creado para jugar al ajedrez

1949

Short Code

 

lenguaje traducido a mano

1950

ASM (ensamblador)

 

lenguaje ensamblador

1951

A-0

Grace Hopper

fue el primer compilador

1952

AUTOCODE

Alick E. Glennie

compilador muy rudimentario

1956

FORTRAN

IBM

sistema de TRAducción de FORmulas matemáticas

1956

COBOL

 

Compilador

1958

ALGOL 58

 

 

1960

LISP

 

Interprete orientado a la Inteligencia Artificial

1961

FORTRAN IV

IBM

sistema de TRAducción de FORmulas matemáticas

1961

COBOL 61 Extendido

 

 

1960

ALGOL 60 Revisado

 

 

1964

PASCAL

Niklaus Wirth

programacion estructurada

1964

BASIC

Universidad de Dartmouth (california)

Beginners All Purpose Symbolic Instruction Code

1965

SNOBOL

 

 

1965

APL

 

solo anotacion

1965

COBOL 65

 

 

1966

PL/I

 

 

1966

FORTRAN 66

IBM

sistema de TRAducción de FORmulas matemáticas

1967

SIMULA 67

 

 

1968

ALGOL 68

 

 

1968

SNOBOL4

 

 

1970s

GW-BASIC

 

antiguo y clasico BASIC

1970

APL/360

 

 

1972

SMALLTALK

Centro de Investigación de Xerox en Palo Alto

pequeño y rapido

1972

C

Laboratorios Bell

lenguaje con tipos

1974

COBOL 74

 

 

1975

PL /I

 

Lenguaje sencillo

1977

FORTRAN 77

IBM

sistema de TRAducción de FORmulas matemáticas

1980s

SMALLTALK/V

Digitalk

pequeño y rapido

1980

C con clases

Laboratorios Bell

lenguaje con clases

1981

PROLOG

Ministerio Japonés de Comercio Internacional e Industria (MITI)

Lenguaje estandar para la Inteligencia Artificial

1982

ADA

Ministerio de Defensa de los EE.UU

lenguaje muy seguro

1984

C++

AT&T Bell Laboratories (Bjarne Stroustrup)

compilador

1985

CLIPPER

 

compilador para bases de datos

1985

QuickBASIC 1.0

Microsoft®

compilador de BASIC

1986

QuickBASIC 2.0

Microsoft®

soporte de tarjeta gráfica EGA

1987

QuickBASIC 3.0

Microsoft®

43 lineas con la tarjeta EGA

1987

QuickBASIC 4.0

Microsoft®

tarjetas Hercules, VGA

1987

CLIPPER SUMMER '87

 

compilador para bases de datos

1988

QuickBASIC 4.5

Microsoft®

tarjeta SVGA

1989

QuickBASIC 7.1

Microsoft®

ultima version de QuickBASIC

1989

ASIC v5.0

 

interprete tipo QBASIC shareware

1990s

VISUAL C++

 

 

1990s

VISUAL BASICScript

Microsoft®

lenguaje de script

1990

HTML

Tim Berners-Lee

para internet

1993

XML

C. M. Sperberg-McQueen

para internet

1993

SGML

Charles F. Goldfarb

para internet

1990s

WML

 

para internet

1990s

ASP

Microsoft®

para internet

1990s

PHP

 

para internet

1995

JAVA

Sun Microsystems

para internet y proposito general

1995

CLIPPER 5.01

 

compilador para bases de datos

1995

GNAT ADA95

Ministerio de Defensa de los EE.UU

lenguaje muy seguro

1995

FORTRAN 95

IBM

sistema de TRAducción de FORmulas matemáticas

1991

VISUAL BASIC 1.0

Microsoft®

 

1992

VISUAL BASIC 2.0

Microsoft®

 

1993

VISUAL BASIC 3.0

Microsoft®

 

1994

VISUAL BASIC 4.0

Microsoft®

 

1995

VISUAL BASIC 5.0

Microsoft®

 

1998

VISUAL BASIC 6.0

Microsoft®

 

1990s

C#

 

 

2001

VISUAL BASIC .NET

Microsoft®

La evolución de Visual Basic

 

 

            Antecedentes          

            Los primeros lenguajes de programación surgieron de la idea de Charles Babagge a mediados del siglo XIX.  Consistía en lo que el denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX.

Con el colaboro Ada Lovelace, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquella supuesta maquina de Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación.

En 1936, Turing y Post introdujeron un formalismo de manipulación de símbolos (la denominada máquina de Turing) con el que se puede realizar cualquier cómputo que hasta ahora podemos imaginar.

 Esta fue una vía de comunicación entre los problemas formales de la computación y de la matemática. La unión permitió demostrar que no existe ninguna máquina de Turing que pueda reconocer si una sentencia es o no un teorema de un sistema lógico formal; pero también permitió demostrar que si un cálculo puede explicitarse sin ambigüedad en lenguaje natural, con ayuda de símbolos matemáticos, es siempre posible programar un computadora digital capaz de realizar el cálculo, siempre que la capacidad de almacenamiento de información sea la adecuada.

 Desde el punto de vista de la ingeniería, los progresos en lenguajes de programación han sido paralelos a los diseños de las nuevas computadoras. Babbage ya escribió programas para sus máquinas, pero los desarrollos importantes tuvieron lugar, igual que en las computadoras, alrededor de la segunda guerra mundial.

 Cuando surgió la primera computadora, el famoso Eniac, su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la maquina, lo que se hacia era cambiar cables de sitio para conseguir así la programación binaria.

 Los "Lenguajes Maquina" y los "Lenguajes Ensambladores" (primera y segunda generación)  son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado. El lenguaje ensamblador es simplemente una representación simbólica del lenguaje maquina asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es necesario un conocimiento de la arquitectura mecánica subyacente para realizar una programación efectiva en cualquiera de estos niveles lenguajes.

 Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés.

A continuación se muestra la evolución de los distintos lenguajes en base a las influencias  que recibieron:

Hosted by www.Geocities.ws

1