Buscar palavra no arquivo [RESOLVIDO]

1. Buscar palavra no arquivo [RESOLVIDO]

Rafael Alves Lagisck
lagisck

(usa Debian)

Enviado em 13/06/2013 - 17:05h

Boa tarde, pessoal

Preciso fazer um trabalho da facul onde tenho que colorir algumas coisas. Ex:

- comentarios
- variaveis e função
- numeros
- includes
- defines
- operadores aritmeticos e logicos.

O processo é o seguinte tenho q abrir um codigo fonte e ir procurando as coisas e colorindo, eu ja consegui colorir numeros,includes, defines, operadores aritmeticos e logicos.

A minha duvida como eu vo conseguir buscar as palavras reservadas ex void, int, float sendo que eu estou usando arquivo texto, queria saber como ele vai pegar apenas a palavra e guardar para mim comparar e colorir.

O link doq eu ja fiz postei no pastebin

http://pastebin.com/Z73SvYcB

Obrigado



  


2. Re: Buscar palavra no arquivo [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 14/06/2013 - 11:08h

Basicamente vc vai fazer uma função ( get_token ) que vai processar um "string" e vai obter para cada "palavra":
01 - token[] ... a string atual da palavra ...
02 - tipo: inteiro ...variavel, palavra_reservada, numero ou texto ...
03 - tok ou tk: que seria tambem um numero ...


EXEMPLO COM tk:

Digamos que vc tem 3 palavras reservadas ( int, if, for ) ... Se o "token" fosse ( "for" ) o tk seria 2 ...

Essa é a base ...


3. Re: Buscar palavra no arquivo [RESOLVIDO]

Rafael Alves Lagisck
lagisck

(usa Debian)

Enviado em 14/06/2013 - 11:51h

bom dia gokernel

Cara nao entendi como funcionaria essa função get_token.. poderia explicar de novo!
esquenta nao eu so lerdo hauaha



4. Re: Buscar palavra no arquivo [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 14/06/2013 - 12:47h


"esquenta nao eu so lerdo hauaha"

Tenho certeza que vc não é lerdo ...

Vc está apenas "programando a sua mente" de forma errada e trazendo negatividade para si próprio.

O que descrevi sobre a função foi +ou- como fazer ... pense e tente fazer ...

E lembre-se/programe-se(mente):
Vc pode fazer ... ja tentou ?

Paz, saúde e sucesso !!!



5. Re: Buscar palavra no arquivo [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 14/06/2013 - 13:01h

E complementando:

Se vc tentar fazer e mostrar o código então te ajudarei ... Faça a sua parte e conte comigo !




6. Re: Buscar palavra no arquivo [RESOLVIDO]

Rafael Alves Lagisck
lagisck

(usa Debian)

Enviado em 15/06/2013 - 18:35h

Valew cara consegui resolver aqui a parada

Obrigado


7. Re: Buscar palavra no arquivo [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 15/06/2013 - 19:10h

ok cara !

Fico feliz por vc conseguir fazer o seu trabalho.

E vou usar as palavras de um colega:
"aprende-se a programar programando"

Abraço !



8. Re: Buscar palavra no arquivo [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 05/07/2013 - 09:52h


E só por curiosidade, uma funcao ( get_token ) basica:

http://codepad.org/DsLPf1I4


//
// test.cs
//
int a = 100, b = 11, c = 300, h = 5;

if (a < 50) {
if (b < 50) {
//info b;
printf ("b: %d", b);
}
printf ("a: %d", a);
}

c++;
//info c;
printf ("c: %d", c);



USO:
parse_minimal test.cs

A saida irá mostrar o "token" basico ... isso é apenas uma simples demostração de um token ... variaveis e funções nao está implementado.


ECLESIASTES 12:1:
---------------------------------------------------
"Lembra-te do teu criador nos dias da tua mocidade, antes que venham os maus dias, e cheguem os anos dos quais venhas a dizer: Não tenho neles contentamento;"
---------------------------------------------------





9. Re: Buscar palavra no arquivo [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 01/08/2013 - 19:13h


Um token mais aprimorado/otimizado:

http://codepad.org/I1EfQTws

É esse modelo de token que utilizo em minha API (CS - Compiled Script):

E para testar o token:



/*
**-------------------------------------------------------------------
** TEST:
//
** static char *words [] =
** {
** "for", // tok: 255
** "function", // tok: 256
** "if", // tok: 257
** "int", // tok: 258
** "return", // tok: 259
** NULL
** };
**
**-------------------------------------------------------------------
*/

#include "stdio.h"

/* 1: block comment */

int a = -200, b = 300.55, c = 400, count;

// line comment, bla bla bla ...

void function_hello_123 (void)
{
for (count = 0; count < 30; count++)
{
printf ("@ STRING - Hello Word: %d\n", count);
}
}

int main (int argc, char *argv[])
{
/* block comment ... */
count = a / b;

a++;
b--;

function_hello_123();
function_hello_123();

return 0;
}









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts