Proyecto minic

Solo disponible en BuenasTareas
  • Páginas : 8 (1816 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de junio de 2011
Leer documento completo
Vista previa del texto
Universidad Nacional de San Agustín
Escuela Profesional de Ingeniería de Sistemas
Compiladores

Proyecto Final: µJ

Generalidades
Java es un lenguaje de programación diseñado inicialmente por Sun Microsystems y publicado en 1995. El lenguaje deriva de las características de los lenguajes C y C++.

Este resumen presenta las principales características de Java que hay que implementar parael Proyecto de la asignatura de Compiladores. No es necesario considerar los elementos de Java no mencionados en este resumen. Entre corchetes se dan indicaciones sobre la obligatoriedad u opcionalidad de incluir en este Proyecto algunas partes del lenguaje. Con el fin de facilitar la implementación del compilador, las características mostradas en esta página pueden no coincidir al 100% con elestándar del lenguaje, por lo que, en caso de duda, se deberá implementar el comportamiento aquí descrito.

Java es un lenguaje en el que se diferencian las minúsculas y las mayúsculas (es case sensitive). También es un lenguaje de formato libre, es decir, que se admiten espacios, tabuladores, saltos de línea y comentarios en cualquier parte del código. Cada instrucción puede ocupar una o variaslíneas. Las sentencias y declaraciones terminan siempre en un punto y coma (;).

Las palabras clave que tiene el lenguaje son reservadas, aunque cada grupo de alumnos sólo ha de tener en cuenta las palabras asignadas a su grupo. Java es un lenguaje Orientado a Objetos con estructura de bloques que se definen mediante la utilización de las llaves { }. Los nombres declarados en el interior de unbloque son locales a dicho bloque.

En Java es necesario declarar los identificadores antes de que se utilicen. Además, hay que implementar el Compilador de Java considerando que es un lenguaje con recursividad, por lo que cualquier método puede ser recursivo. No se permite la definición de métodos anidados. El paso de parámetros es por valor para los tipos básicos y por referencia para los tiposcompuestos. No hay que considerar la existencia de destructores, la herencia, las excepciones ni los paquetes. Los programas a desarrollar en lenguaje Java serán de los que se denominan Standalone, no los denominados Java Applets ni Java Servlets.

Estructura de un Programa
Para el Proyecto de Compiladores debe considerarse que un programa en Java estará compuesto por un único fichero que ha detener una serie de Clases, con atributos y métodos definidos, siendo uno de ellos el método principal. Al final del documento se proporciona un ejemplo de un fichero en Java para el Proyecto de Compiladores.

Programa Principal
El programa principal (el que se ejecutará al arrancar el programa) será un método especial, de una de las clases, que recibe el nombre de main, que no puede llevarargumentos, tiene que ser público y tiene que ser de tipo void:

class ClasePrincipal
{
public void main (void)
{
código_del_programa_principal;
}
}

Comentarios
En Java se admiten dos tipos de comentarios [sólo hay que implementar uno de ellos]:

• Comentario de bloque: los comentarios se indican con los caracteres /* para abrir el comentario y con los caracteres */ paracerrarlo. Estos comentarios pueden ocupar más de una línea.
• Comentario de línea: los comentarios se indican con los caracteres // para abrir el comentario y terminan con el fin de línea.

No se admiten comentarios anidados. Los comentarios pueden ir colocados en cualquier parte del código donde pueda ir un espacio:

/* Comentario de bloque */
// Comentario de línea

Constantes
Solo setomará en cuentas las siguientes:

Enteros
Las constantes enteras se escribirán en notación decimal sin signo (por ejemplo, 159, 0). El ensamblador que se utilizará dispone de números enteros de 2 bytes (con signo), por lo que el máximo entero será el 32767 [es obligatorio implementar los enteros].

El lenguaje también dispone de constantes enteras en notación octal (usando como prefijo un...
tracking img