Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
To com um grande problema que não sei como resolver, o que eu quero é que ao encontrar uma expressão regular o sistema passe os valores para
Vou citar um exemplo, a minha sintaxe pode estar completamente errada, por esse motivo vou escrever o que eu queria fazer
ao encontrar uma sequencia de alpha seguida por number e seguida por number
ou seja "teste 12 23"
passar os valores para função soma(teste, 12, 23)
que por sua vez escreveria em tela teste:: 35
e se não fosse pedir muito queria saber como armazenar o retorno da função. Essa função é meramente um exemplo.
Se possível explique a solução
%{
#include <stdio.h>
%}
number [0-9]+
alpha [a-zA-Z0-9]+
%%
alpha\number\number return soma(alpha, number, number);
%%
/*
* Isso é so um exemplo portanto a ideia principal é usar a função abaixo mesmo.
*/
int soma(char * texto, int a, int B){
int k;
printf("%s:: %d", texto, (a+B));
return 18;
}
>
PS: o exemplo acima é para ser compilado com o flex ou lex:: flex arquivo
compilar o arquivo gcc saida_do_lex.c -Wall -lfl -o test
Carregando comentários...