Programa Lex para eliminar comentarios del programa C

Lex es un programa informático que genera analizadores léxicos. Lex lee un flujo de entrada que especifica el analizador léxico y genera el código fuente que implementa el lexer en el lenguaje de programación C.

Los comandos para ejecutar el programa lex son:

lex abc.l (abc is the file name)
cc lex.yy.c -efl
./a.out

Veamos el programa LEX para aceptar strings que comiencen con vocal.
Ejemplos:

Input : 
//testing
#include 
int main()
{
 /* multiline comment
    continue....
 */
 return 0;
}

Output :
#include 
int main()
{
 
 return 0;
}

A continuación se muestra la implementación:

/% Lex Program to remove comments from C program 
   and save it in a file %/
/*Definition Section*/
%{
%}
  
/*Starting character sequence for multiline comment*/
start \/\*
/*Ending character sequence for multiline comment*/
end  \*\/
  
/*Rule Section*/
%%
  
/*Regular expression for single line comment*/
\/\/(.*) ;
/*Regular expression for multi line comment*/ 
{start}.*{end} ;
  
%%
  
/*Driver function*/
int main(int k,char **argcv)
{
yyin=fopen(argcv[1],"r");
yyout=fopen("out.c","w");
/*call the yylex function.*/
yylex();
return 0;
}

Producción:

Publicación traducida automáticamente

Artículo escrito por Tanmay_Jain y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *