










Sig: Ejemplo Simple
Sup: Expresiones Regulares en Flex
Ant: Versión Utilizada
Err: Si hallas una errata ...
Espacios en blanco dentro de la expresión regular
La expresión regular va desde el comienzo de la línea hasta el primer espacio en blanco
no escapado. Todos los espacios en blanco que formen parte de la
expresión regular
deben ser escapados o protegidos entre comillas. Así, el siguiente
programa produce un error en tiempo de compilación C:
> cat spaces.l
%%
one two { printf("spaces\n"; }
%%
nereida:~/public_html/regexpr/lex/src> flex spaces.l
nereida:~/public_html/regexpr/lex/src> gcc lex.yy.c
spaces.l: In function `yylex':
spaces.l:2: `two' undeclared (first use in this function)
spaces.l:2: (Each undeclared identifier is reported only once
spaces.l:2: for each function it appears in.)
spaces.l:2: parse error before `{'
spaces.l:4: case label not within a switch statement
lex.yy.c:632: case label not within a switch statement
lex.yy.c:635: case label not within a switch statement
lex.yy.c:757: default label not within a switch statement
lex.yy.c: At top level:
lex.yy.c:762: parse error before `}'
Deberíamos escapar el blanco entre one y two o bien
proteger la cadena poniéndola entre comillas: "one two".











Sig: Ejemplo Simple
Sup: Expresiones Regulares en Flex
Ant: Versión Utilizada
Err: Si hallas una errata ...
Casiano Rodríguez León
2012-05-22