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