Sunteți pe pagina 1din 2

Manual de referencia Micro-C

-C: Manual de referencia del


lenguaje Micro-C

Introduccin
Este manual de referencia describe en detalle el lenguaje Micro-C,
para ser implementado como proyecto de los cursos de Compladores.

Debe notarse que la definicin contiene algunas imprecisiones, ambigedades o errores


que el implementador (alumno) debe resolver.

Convenciones lxicas
Micro-C es case sensitive, es decir que las letras maysculas y minsculas se tratan
como caracteres diferentes.

Comentarios y caracteres ignorados

Comentario son secuencia de carcter incluido dentro par de secuencias de /*... */


pareados. Los comentarios pueden extender sobre varias lneas, 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 tabulacin horizontal, el CR, y el


espacio blanco.

Tokens
Las secuencias de caracteres encerrados dentro de dos apstrofes (') son smbolos
terminales. Cualquier otra secuencia de caracteres denota el nombre de una clase lxica,
p.e. letra (vase abajo).

En secciones posteriores utilizaremos las definiciones lxicas siguientes:

letra = ' _ ' | ' a ' | ' b ' |... | ' z ' | ' A ' | ' B ' |... | ' Z '

dgito = ' 0 ' | ' 1 ' |... | ' 9 '

Observe que el carcter del underscore (_) est tratado como una letra.

1
Manual de referencia Micro-C

Identificadores

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

identificador = (letra) (letra | dgito) *.

Constantes numricas

Un integer_constant es una secuencia de dgitos (no debe comenzar con un 0, a menos


que sea el nmero 0).

integer_constant = digit+

Una constante numrica se debe separar de un identificador o de una palabra clave.

Constantes de caracter

Un char_constant se define como una comilla simple de apertura (), un carcter


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 carcter de comilla doble en la secuencia en la cual ocurre, tal que no termina el
string. La secuencia \n representa el carcter del NEWLINE, mientras que la secuencia
\ \ representa el carcter del backslash y se puede incluir en un string tambin. Una
secuencia consistente de un backslash seguido por cualquier caracter a excepcin de 'n',
' \ ', o ' " ' es ilegal. Por consiguiente, un string constante no debe extenderse ms all del
extremo de la lnea. Un par de /*... */dentro de un string constante no se trata como
comentario.

Operadores

add_op = ' + ' | ' - '

mul_op = ' * ' | '/'

eq_op = ' = = ' | '! = '

rel_op = ' < ' | ' < = ' | ' > = ' | ' > '

S-ar putea să vă placă și