Sunteți pe pagina 1din 7

UNIVERSIDAD NACIONAL JORGE BASADRE GRHOMANN

FACULTAD DE INGENIERA ESCUELA DE INFORMTICA Y SISTEMAS

Investigacin complementaria
Lenguaje MICRO C

Curso : Compiladores y teora de lenguajes


Docente : Ing. Hugo M. Barraza Vizcarra
Estudiante : Juan Pablo Apaza Atencio
Cdigo : 2015-119015
Ciclo : 6to

Tacna Per
2017
INVESTIGACION COMPLEMENTARIA

LENGUAJE MICRO C O C-

DEFINICION DE MICRO C

El lenguaje Micro C es un subconjunto pequeo del lenguaje de programacin C.


Micro-C es un lenguaje case sensitive, es decir que el compilador de este lenguaje trata a las
letras maysculas y minsculas como caracteres diferentes.

DEFINICIONES LEXICAS

Identificadores

Un identificador es una secuencia finita de letras


y de dgitos que comienzan 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 (nodebe 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 carcter. Un chat_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 comillas 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 carcter 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 = ' < ' | ' < = ' | ' > = ' | ' > '
CDIGO FUENTE EN MICRO C: CONVERTIDOR DE GRADOS CELSIUS A
TEMPERATURA OBSOLUTA.

int
main (void)
{
int c, k;

printf("Ingrese cantidad en Grados celsius");


i=scanf("%d");
K=i + 273.15;

prinft("Convertido a temperatura absoluta:%d\n",k);


}

CDIGO FUENTE EN MICRO C: FACTORIAL DE UN NUMERO

int factorial( int n);

int
main (void)
{
int n, fact;
printf("Ingrese numero entero : ");
n=scanf("%d");
fact = factorial(n);
printf("El facorial de %d",n);
printf("es %d\n",fact);
}

int
factorial(int n)
{
if(n <= 1)
return 1;
else
return n*factorial(n-1);
}
ANALISIS LXICO:

Un analizador lxico o analizador lexicogrfico (en ingls scanner) es la primera fase de un


compilador consistente en un programa que recibe como entrada el cdigo fuente de otro
programa (secuencia de caracteres) y produce una salida compuesta de tokens (componentes
lxicos) o smbolos. Estos tokens sirven para una posterior etapa del proceso de traduccin,
siendo la entrada para el analizador sintctico (en ingls parser).

La especificacin de un lenguaje de programacin a menudo incluye un conjunto de reglas


que definen el lxico. Estas reglas consisten comnmente en expresiones regulares que
indican el conjunto de posibles secuencias de caracteres que definen un token o lexema.

En algunos lenguajes de programacin es necesario establecer patrones para caracteres


especiales (como el espacio en blanco) que la gramtica pueda reconocer sin que constituya
un token en s.
TOKEN:

Un token o tambin llamado componente lxico es una cadena de caracteres que tiene un
significado coherente en cierto lenguaje de programacin.
Son los elementos ms bsicos sobre los cuales se desarrolla toda traduccin de un programa,
surgen en la primera fase, llamada anlisis lxico, sin embargo se siguen utilizando en las
siguientes fases (anlisis sintctico y anlisis semntico) antes de perderse en la fase de
sntesis.

Por ejemplo: Supongamos la siguiente lnea de un programa:

SI Nuevo > MaxNm ENTONCES

Los tkenes son:

* "SI"
* "Nuevo"
* ">"
* "MaxNm"
* "ENTONCES"

Y se describen por lo general en dos partes, un tipo o clase y un valor, as:


Token=(Tipo,Valor)

Para la secuencia anterior, los tkenes pueden describirse

* [Palabra Reservada, "SI"]


* [Identificador, "Nuevo"]
* [Operador, ">"]
* [Identificador, "MxNm"]
* [Palabra Reservada, "ENTONCES"]
LEXEMA:

El lexema o raz es un elemento del lxico con significado referencial, es decir, aporta a la
palabra una idea comprensible para los hablantes. Esto diferencia a los lexemas de los
gramemas, que son componentes gramaticales que no tienen un significado por s mismos,
sino que son interpretables como elementos relacionales, que modifican o complementan
contrastando la significacin de la frase (es decir, su presencia o ausencia aporta algn matiz,
pero en s mismos esos elementos no tienen una referencia extralingstica clara).
El lexema es la parte fundamental de una palabra, tiene significado lxico definido por
conceptos y entidades tanto reales como imaginarias que se recogen en el diccionario, que
explica a qu se refieren dichas races. En ocasiones la raz constituye la palabra entera, pero
en otras aparece algn morfema ms.

Una clasificacin estructuralista de lexemas.

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