Analizador Lexico En C++
Ingeniería en Sistemas Informáticos y de Computación
Analizador Léxico
Compiladores y Lenguajes
Bolaños Salazar Marco Alejandro
GR-1
Quito, Abril 28 del 2012
Analizador léxico en C++
Definición:
Un analizador léxico o analizador lexicográfico (scanner) es la primera fase de un compilador que es un programa que recibe como entrada el código fuente de otro programa (secuencia de caracteres) y produce una salida compuesta de tokens o símbolos. Estos tokens sirven para una posterior etapa del proceso de traducción, siendo la entrada para el analizador sintáctico (parser).
Objetivos:
* Crear un analizador léxico que reconozca por lo menos 20 tokens o símbolos. * Conocer un poco más la función que …ver más…
=0, agru=0,salida=0; while (salida!=1) { cout<<"Ingrese la cadena a analizar al finalizar ingrese ;"<<endl; for(j=0;j<20;j++) { cin>>cadena[j]; if (cadena[j]==';') { k=j; j=20; } } while (tam<k) { /*validacion de las variable*/ if((cadena[tam]=='x')||(cadena[tam]=='y')) cout<<cadena[tam]<<": Es variable"<<endl; /*validacion de la palabra reservada*/ if((cadena[tam]=='w')||(cadena[tam]=='W')) { if((cadena[tam+1]=='h')||(cadena[tam]=='H')) { if((cadena[tam+2]=='i')||(cadena[tam]=='I')) { if((cadena[tam+3]=='l') || (cadena[tam]=='L')) { if((cadena[tam+4]=='e') || (cadena[tam]=='E')) { for(int t=tam;t<tam+5;t++) cout<<cadena[t]; cout<<": Es palabra reservada"<<endl; tam=tam+4; } else { for(int t=tam;t<tam+4;t++) cout<<cadena[t]; cout<<": palabra reservada mal escrita"<<endl; } } else { for(int t=tam;t<tam+3;t++) cout<<cadena[t]; cout<<": palabra reservada mal escrita"<<endl; } } else { for(int t=tam;t<tam+2;t++) cout<<cadena[t]; cout<<": palabra reservada mal escrita"<<endl; } } else { for(int t=tam;t<tam+4;t++)