Problema: escriba un programa Lex para encontrar si un carácter, aparte de los alfabetos, aparece en una string o no .
Explicación: – Flex (Fast Lexical Analyzer Generator) es una herramienta o programa informático que genera analizadores léxicos (escáneres o lexers) escritos por Vern Paxson en C alrededor de 1987. 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.
La función yylex() es la principal función flexible que ejecuta la sección de reglas.
Ejemplos.
Input: abcd Output: No character other than alphabets Explanation: Since we have alphabets ranging from a to z that's why the output is "no character other than alphabets" Input: abcd54 Output: character other than alphabets present Explanation: since 5 and 4 are not alphabets Input: abc@bdg Output: character other than alphabets present Explanation: since @ is not a alphabet
A continuación se muestra el programa de implementación:
C
%{ int len=0; %} // Rules to identify if a character apart from alphabets // occurs in a string %% [a-zA-Z]+ {printf("No character other than alphabets");} /* here . will match any other character than alphabets because alphabets are already matched above * will matches 0 or more characters in front of it. */ .* {printf("character other than alphabets present"); } %% // code section int yywrap() { } int main() { yylex(); return 0; }
Producción:
Publicación traducida automáticamente
Artículo escrito por priyanshugupta627 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA