Lex es un programa de computadora que genera analizadores léxicos y fue escrito por Mike Lesk y Eric Schmidt.
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.
Requisito previo: Flex (generador de analizador léxico rápido)
Ejemplo:
Input: Hello everyone Output: 2 Input: This is GeeksforGeeks Output: 3
Nota: Las palabras pueden estar formadas por caracteres en minúsculas, caracteres en mayúsculas y dígitos.
A continuación se muestra la implementación para contar el número de palabras.
/*lex program to count number of words*/ %{ #include<stdio.h> #include<string.h> int i = 0; %} /* Rules Section*/ %% ([a-zA-Z0-9])* {i++;} /* Rule for counting number of words*/ "\n" {printf("%d\n", i); i = 0;} %% int yywrap(void){} int main() { // The function that starts the analysis yylex(); return 0; }
Producción:
Publicación traducida automáticamente
Artículo escrito por Kanishk_Verma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA