Ciencias

Solo disponible en BuenasTareas
  • Páginas : 5 (1093 palabras )
  • Descarga(s) : 6
  • Publicado : 2 de mayo de 2010
Leer documento completo
Vista previa del texto
Manual de referencia Micro-C Compiladores Universidad Tecnológica Centroamericana

µ-C: Manual de referencia del lenguaje Micro-C
Introducción
Este manual de referencia describe en detalle el lenguaje Micro-C, para ser implementado como proyecto de los cursos de Compíladores I y II en la Universidad Tecnológica Centroamericana (UNITEC), campus Tegucigalpa. Debe notarse que la definicióncontiene algunas imprecisiones, ambigüedades o errores que el implementador (alumno) debe resolver. Preguntas y observaciones pueden ser dirigidas al Prof. Egdares Futch al correo efutch arroba yahoo punto com.

Convenciones léxicas
Micro-C es case sensitive, es decir que las letras mayúsculas y minúsculas se tratan como caracteres diferentes.

Comentarios y caracteres ignorados
Comentario sonsecuencia de carácter incluido dentro par de secuencias de /*... */ pareados. Los comentarios pueden extender sobre varias líneas, pero los comentarios anidadados no se reconocen, es decir que el primer encontrado */ dentro de un comentario lo cierra. Los comentarios son ignorados. Otros caracteres ignorados incluyen el newline, la tabulación horizontal, el CR, y el espacio blanco.

Tokens
Lassecuencias de caracteres encerrados dentro de dos apóstrofes (') son símbolos terminales. Cualquier otra secuencia de caracteres denota el nombre de una clase léxica, p.e. letra (véase abajo). En secciones posteriores utilizaremos las definiciones léxicas siguientes:
• •

letra = ' _ ' | ' a ' | ' b ' |... | ' z ' | ' A ' | ' B ' |... | ' Z ' dígito = ' 0 ' | ' 1 ' |... | ' 9 '

Observe que elcarácter del underscore (_) está tratado como una letra.

1

Manual de referencia Micro-C Compiladores Universidad Tecnológica Centroamericana

Identificadores
Un identificador es una secuencia finita de letras y de dígitos que comienza con una letra. Los identificadores pueden ser de cualquier longitud, sin embargo, los identificadores sin diferencia en sus primeros 8 caracterescorrespondientes se consideran iguales.


identificador = (letra) (letra | dígito) *.

Constantes numéricas
Un integer_constant es una secuencia de dígitos (no debe comenzar con un 0, a menos que sea el número 0).


integer_constant = digit+

Una constante numérica se debe separar de un identificador o de una palabra clave.

Constantes de caracter
Un char_constant se define como una comillasimple de apertura (“’”), un carácter ASCII extendido imprimible y una comilla simple de cierre.

Strings constantes
Una constante de string es una secuencia de los caracteres incluidos dentro de dos comillas dobles ("). Una constante de string puede incluir la secuencia \ " que representa un carácter de comilla doble en la secuencia en la cual ocurre, tal que no termina el string. Lasecuencia \n representa el carácter del NEWLINE, mientras que la secuencia \ \ representa el carácter del backslash y se puede incluir en un string también. Una secuencia consistente de un backslash seguido por cualquier caracter a excepción de 'n', ' \ ', o ' " ' es ilegal. Por consiguiente, un string constante no debe extenderse más allá del extremo de la línea. Un par de /*... */dentro de un stringconstante no se trata como comentario.

Operadores
• • • •

add_op = ' + ' | ' - ' mul_op = ' * ' | '/' eq_op = ' = = ' | '! = ' rel_op = ' < ' | ' < = ' | ' > = ' | ' > '

Otros símbolos

2

Manual de referencia Micro-C Compiladores Universidad Tecnológica Centroamericana

Otro símbolos que aparecen en la gramática abajo se denotan dentro de comillas dobles. Las palabras reservadasestán además marcadas en negrita. Los tokens que fueron definidos arriba se imprime en negrilla.

Gramática de Micro-C
translation_unit -> external-declaration | translation_unit external-declaration function-definition | declaration function_def_header function_body return_type identifier "(" parameters _def ")" type | "void" parameter_def_list | "void" type identifier | parameter_def_list ","...
tracking img