Fonctions de detections de chaine...
3 participants
Page 1 sur 1
Fonctions de detections de chaine...
Voila, beaucoup de mes programmes ont ete bloque par quelque chose que je ne sais faire, la detection de chaine... par la j'entends plusieurs choses, deja la premier c'est a partir d'une chaine, comment faire pour en separer les diferent elements (pour faire un moteur cas par exemple) ? la deuxieme chose legerement plus simples etant la detection d'un chaine pour en faire un executif pour faire une console par exemple....
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Fonctions de detections de chaine...
Si tu précisais le language ce serait plus facile de cibler ce dont tu as besoin.
Déjà ça dépend du format de ta chaine.
Si c'est comme en C et en assembleur ascii, chaque octet représente un caractère.
Si ce sont des tokens comme en asmTI je ne peux pas t'aider efficacement. Il faudra parfois rechercher des paires d'octests.
Des pointeurs et des boucles font l'affaire quand il n'y a pas de fonction standard pour rechercher.
Si tu n'as pas besoin de modifier les sous-chaines que tu récupères, tu n'as pas besoin de copier dans de nouveaux emplacements comme en C. Il suffit de créer un pointeur pour chaque sous-chaine et de garder un moyen de détecter qu'on arrive à la fin de chacune. (puisqu'on a pas réécris les chaines, il n'y a pas de caractère de fin \0)
Quoi rechercher c'est une autre question trop vague pour moi.
Si c'est en Axe, utilise la fonction inData. Elle se manipulera différemment si tu as des Tokens cependant.
Pour un interpréteur, je pense qu'il faudrait créer :
-une boucle qui passe en revue la chaine à interpréter
-à l'intérieur une boucle qui passe en revue toutes les chaines d'instructions élémentaires connues, les rechercher dans la chaine à interpréter (via quelque chose comme inData), et passer à l'execution dès qu'une instruction élémentaire a été trouvée à l'emplacement du pointeur dans la chaine à interpréter.
Déjà ça dépend du format de ta chaine.
Si c'est comme en C et en assembleur ascii, chaque octet représente un caractère.
Si ce sont des tokens comme en asmTI je ne peux pas t'aider efficacement. Il faudra parfois rechercher des paires d'octests.
Des pointeurs et des boucles font l'affaire quand il n'y a pas de fonction standard pour rechercher.
Si tu n'as pas besoin de modifier les sous-chaines que tu récupères, tu n'as pas besoin de copier dans de nouveaux emplacements comme en C. Il suffit de créer un pointeur pour chaque sous-chaine et de garder un moyen de détecter qu'on arrive à la fin de chacune. (puisqu'on a pas réécris les chaines, il n'y a pas de caractère de fin \0)
Quoi rechercher c'est une autre question trop vague pour moi.
Si c'est en Axe, utilise la fonction inData. Elle se manipulera différemment si tu as des Tokens cependant.
Pour un interpréteur, je pense qu'il faudrait créer :
-une boucle qui passe en revue la chaine à interpréter
-à l'intérieur une boucle qui passe en revue toutes les chaines d'instructions élémentaires connues, les rechercher dans la chaine à interpréter (via quelque chose comme inData), et passer à l'execution dès qu'une instruction élémentaire a été trouvée à l'emplacement du pointeur dans la chaine à interpréter.
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
Re: Fonctions de detections de chaine...
c'est bien a ce que je pensais mais c'est extrenement long je pensais qu'il y avait une autre technique que les boucle....
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Fonctions de detections de chaine...
Ben comment tu veux rechercher autrement qu'avec une boucle ?
A moins que tu simules les boucles en asm via des jumps, je voie pas ce qui peut être plus léger.
Quoique AxeParser est susceptible de compiler différemment selon les données fournies à la boucle. Par exemple ne pas coder de test d'entrée d'un For si les bornes sont fixes et croissante.
EDIT : utiliser des routines permet aussi de gagner de la place mais consomme des cycles d'horloge
A moins que tu simules les boucles en asm via des jumps, je voie pas ce qui peut être plus léger.
Quoique AxeParser est susceptible de compiler différemment selon les données fournies à la boucle. Par exemple ne pas coder de test d'entrée d'un For si les bornes sont fixes et croissante.
EDIT : utiliser des routines permet aussi de gagner de la place mais consomme des cycles d'horloge
Dernière édition par linkakro le Sam 19 Jan - 23:15, édité 1 fois
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
Re: Fonctions de detections de chaine...
Et si tu reformulais ta question avec un cas particulier où tu es bloqué ? Ça m'aiderait je pense :P
matrefeytontias- Platinum 1
- Sexe :
Age : 26
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - Lua Nspire
- - Ndless Nspire
- - TI-83+.fr
- - TI-Nspire CAS
Re: Fonctions de detections de chaine...
je voudrais detecter par exemple : dans une chaine, detecter le .exe puis enregistrer FFF dans une autre chaine et executer le programme FFF et si il existe pas renvoyer une subroutine
donc d'apres vous :
-je repere le debut des <>
-je repere le .exe
-je repere la longueur et les token de FFF
.... ca va etre super long pour une seul fonctions
donc d'apres vous :
-je repere le debut des <>
-je repere le .exe
-je repere la longueur et les token de FFF
.... ca va etre super long pour une seul fonctions
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|