Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » GFA-Basic TI68K » Bugs et suggestions » Dis geogeo... (32 réponse(s))
./REPRISE DU POST PRECEDENT (post n°19)   Marquer comme non lu.
Onur Ecrit le: Mercredi 15 septembre 2004 à 20:51 Déconnecté(e)    Voir le profil de Onur Envoyer un email à Onur Visiter le site WEB de Onur Envoyer un message privé à Onur  


serioussam :
Patience, vous aurez peut être une surprise dans quelques temps, qui sait ! ;)

moi je connais la surprise nananere!!!! 8)


geogeo :
bobti89> Perso je pense que c'est plus difficile de faire un compilateur qu'un interpréteur!


je pense aussi #oui#



-Edité le Mercredi 15 septembre 2004 à 20:53 par Nounours-
Je ne veux pas faire quelque chose de bien, je cherche l'excellence:ETP Studio...


et autres projets à finir avant 2010
    
./Post n°20   Marquer comme non lu.
geogeo Ecrit le: Mercredi 15 septembre 2004 à 22:41 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Euh je pense quand même au compilo mais avant j'ai un boulot, a terminer et avec les études... Ca risque d'avancer lentement. Suffit de regarder l'historique. :(
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°21   Marquer comme non lu.
bobti89 Ecrit le: Mercredi 15 septembre 2004 à 23:30 Déconnecté(e)    Voir le profil de bobti89 Envoyer un email à bobti89 Visiter le site WEB de bobti89 Envoyer un message privé à bobti89  

Bah vous avez certainement raison puisque je ne m'y connais pas :)
bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici
    
./Post n°22   Marquer comme non lu.
Benjy Ecrit le: Samedi 27 novembre 2004 à 20:55 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Est ce qu'il est possible d'avoir les sources de l'interpreteur? Merci :)
Le langage C y'a pas mieux!!!
    
./Post n°23   Marquer comme non lu.
geogeo Ecrit le: Samedi 27 novembre 2004 à 21:02 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Euh je met toujours les sources dans mes projets donc depuis les premières bêtas il y a les sources!

Pourquoi demandes-tu ça?
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°24   Marquer comme non lu.
Benjy Ecrit le: Samedi 27 novembre 2004 à 21:08 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Ben parceque ca m'interesse de voir!!!
Le langage C y'a pas mieux!!!
    
./Post n°25   Marquer comme non lu.
Benjy Ecrit le: Samedi 27 novembre 2004 à 21:12 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Enfin je vient de jeter un oeil et je laisse tomber :( trop compliquer pour moi! Sauf si tu veut toujour bien m'expliquer comment en ca se realise :):):)
Le langage C y'a pas mieux!!!
    
./Post n°26   Marquer comme non lu.
geogeo Ecrit le: Samedi 27 novembre 2004 à 21:12 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Euh ouai je voudrais bien mais ça risque d'être trop long à expliquer :)
J'ferais ça demain peut être.
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°27   Marquer comme non lu.
geogeo Ecrit le: Dimanche 28 novembre 2004 à 16:19 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Scanner.c

BOOL Scanner_ReadFile (lstring file) = Cette fonction s'occupe de découper ligne par ligne le texte en TAGs. Chaque ligne de TAGs est traitée. Cette fonction effectue les opérations d'extension comme les signes de comparaisons >=, <=, <>...

void Scanner_NextTag (s_tag *tag, void *ptr) = Prépare le TAG suivant.

BOOL Scanner_AddTag (void *data, unsigned short size, unsigned char type, unsigned char tag) = Ajoute un TAG dans la pile StackExpr.

BOOL Scanner_AddPosTag (unsigned char ptr, unsigned char type, unsigned char tag, unsigned char subtag, unsigned char token_type, unsigned char token_index) = Ajoute un TAG n'importe où dans la pile StackExpr.

void Scanner_DelTag (unsigned char ptr) = Efface un TAG.

BOOL Scanner_SetTag (unsigned char ptr) = Recherche un TAG dans les tables de commandes et de fonctions. Permet aussi de déterminer les constantes de bases comme PI, TRUE et FALSE et les opérations mathématiques.

BOOL Scanner_CheckSymbol (unsigned char ptr) = Vérifie si un symbole est correct genre une valeur en décimal, binaire, héxadécimal ou encore en octal.

BOOL Scanner_FindToken (void *data, unsigned short size, BOOL *find, unsigned char *index, unsigned char token_find) = Recherche un token.

BOOL Scanner_FindVarAndFunc (void) = Détermine si un symbole est un label, une fonction, une constante ou dans le dernier cas une variable ou un tableau, dans ce cas déclaration automatique avec attribution d'un index!

BOOL Scanner_AdjustTags (void) = Opérations complexes, but du jeu définir si un signe égal est une affectation ou une comparaison. Définir si le signe - est une opération mathématique ou une négation... Cette fonction simplifie les tokens du style -8.

BOOL Scanner_CheckSyntax (void) = Vérifie la syntaxe d'une ligne, position des TAGs et des structures genre For To Step... S'occupe d'ajouter un signe multiplier pour 3pi par exemple. Vérification des parenthèses.


ExprFind.c

BOOL ExprFind_FindVar (unsigned char ptr, unsigned char type) = Recherche une variable ou un tableau ou un label, attribution d'un index. S'occupe aussi de définir le type.


Tokenisor.c

BOOL Tokenisor_AddToken (void *adr, unsigned char token, unsigned char size) = Ajoute un token pour un fichier avec l'extension BAS.

BOOL Tokenisor_MakeTokens (void) = Tokenisation avec respect des régles.

void Tokenisor_WriteSymbols (lstring *table, unsigned char nitem, FILE *file) = Ecriture de la table des ymboles, en-tête du fichier BAS.

BOOL Tokenisor_MakeFile (unsigned char *file_name) = Ecriture du fichier à partir de la table des symboles et du buffer de tokens.


Untokenisor.c

BOOL UnTokenisor_ReadFile (lstring *input_file, unsigned char *output_file) = Détokenise un fichier BAS, reconstruction du texte avec indentation automatique.

unsigned short UnTokenisor_ReadTablesSymbols (unsigned char *ptr) = Lecture des tables des symboles. Reconstruction des variables à partir des index.

unsigned char *UnTokenisor_ReadSymbols (unsigned short nitem, lstring *table, unsigned char *ptr, unsigned short *ptr_jump) = Lecture d'une table de symboles.


ExprMake.c

BOOL ExprMake_ReadFile (lstring *file) = Lecture d'un fichier BAS et reconstruction des TAGs.

BOOL ExprMake_AddTag (unsigned char type, unsigned char tag, unsigned char subtag, unsigned char token_type, unsigned char token_index, unsigned char symbol_index, long lnum, float fnum, unsigned char *data, unsigned short size) = Ajoute un TAG.

void ExprMake_DelTag (unsigned char ptr) = Efface un TAG.

void ExprMake_SetPriority (unsigned char ptr) = Définie la priorité d'une opération mathématique.

BOOL ExprMake_SetSimpleFunc (void) = Ajoute de parenthèses pour une simple fonction ou à des structures comme For To Step...

BOOL ExprMake_MoveTags (void) = Algorithme spécialisé dans la réorganisation des TAGS, genre not cos(5+6*8) devient 568* cos not... Définie un code de gestion pour les structures. Gestion des exceptions.

BOOL ExprMake_OptimizeCalculs (void) = Optimise les calculs genre, -((8+5)-6) donne directement -7. Spécialisé dans les opérations logiques aussi.


ExprTokens.c

BOOL ExprTokens_MakeBuffer (void) = Création du buffer de tokens d'exécution. Extension GTK. Gestion des sauts et des structures, application des Jump...

void ExprTokens_MakeGotoJump (void) = Attribution des adresses de sauts pour les Goto.

BOOL ExprTokens_CheckStruct (void) = Vérifie les structures, existance d'un Wend pour un While, Next var correct pour un For...

BOOL ExprTokens_NewStruct (unsigned char x) = Ajoute la gestion d'une structure.

void ExprTokens_DelStruct (unsigned short address) = Efface la gestion d'une structure.


ExprVar.c

Spécialisé dans l'alloacation mémoire des structures pour gérer les structures et les variables.

Ce qu'il y a dans le dossier Functions correspond à l'ancien gestionnaire d'exécution des tokens. Dedans ce trouve la gestion des tokens de base et des tokens de commandes et de fonctions.


-Edité le Dimanche 28 novembre 2004 à 16:19 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°28   Marquer comme non lu.
Benjy Ecrit le: Dimanche 28 novembre 2004 à 18:24 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Ok merci pour ces expliquation. Mais ya un truc que je comprend pas dans ma tete lol c'est en faite on part par exemple d'un expression comme "2+sin(0.5)*7" il faut donc faire une pile en prenant caractere par caractere mais si l'expression au depart est une chaine de caractere pour stocker comment faire? car pour les chiffre par exemple c'est pas dur en faisant un tableau et en stockant a chaque fois mais apres pour les choses comme "sins ou les operateurs c'est plus dur!!
Le langage C y'a pas mieux!!!
    
./Post n°29   Marquer comme non lu.
geogeo Ecrit le: Dimanche 28 novembre 2004 à 18:55 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Déjà il faut savoir qu'on ne peut pas tout traiter en un seul bloc. Tout d'abord on doit chercher dans le texte des Tags, des expressions.

Ainsi tu dois le découper de cette façon pour ton exmeple:

2
+
sin(
0.5
)
*
7

La fonction sin( se trouve dans une table! On la remplace par un Token.
Je schématise mais ça donne
Number Token_Add Token_Sin Number Parenth_Close Token_Mul Number

Ensuite la seconde étape consite à mettre les Tags dans l'ordre!
2 EndTag 0.5 sin 7 * +

Ici EndTag marque la fin des arguments pour Sin, c'est à dire que lorsque tu arriveras à Sin dans ta pile, tu arrêteras la lecture des arguments jusqu'à EndTag.
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°30   Marquer comme non lu.
limmt Ecrit le: Lundi 29 novembre 2004 à 07:54 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


euh une question qui n'a rien a voir, es ce que tu mettera du RPN dans ton GFA-basic? :p
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°31   Marquer comme non lu.
geogeo Ecrit le: Lundi 29 novembre 2004 à 19:21 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Hein? #confus#
C'est pas une calculatrice GFA Basic %)
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°32   Marquer comme non lu.
Benjy Ecrit le: Lundi 29 novembre 2004 à 21:59 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Lol c'est claire!! Limmt si tu veut rpn tu peut te faire un programme. Et ton programme sera un tokeniseur tokeniser mdr!!!
-Edité le Lundi 29 novembre 2004 à 22:00 par benjy-
Le langage C y'a pas mieux!!!
    
  :: Index » GFA-Basic TI68K » Bugs et suggestions » Dis geogeo... (32 réponse(s))
Pages : 2/2     « 1 [2] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 56.6ms avec 18 requetes