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 » Forum Ti68K » Projets » Compilateur/Translateur TI-Basic -> C (78 réponse(s))
./REPRISE DU POST PRECEDENT (post n°38)   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 23:22 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Ca a l'air plutot faisable mais le seul problème c'est qu eje n epens epas supporter les DATAs (seules les listes et les matrices le seront probablement)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°39   Marquer comme non lu.
Sasume Ecrit le: Mardi 15 novembre 2005 à 23:24 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

limmt> Je suis curieux de connaître la structure de ton programme si tu ne fais pas d'analyse syntaxique. Est-ce que tu peux détailler un peu ?
En tout cas, le travail que tu as fourni semble intéressant :)
-Edité le Mercredi 16 novembre 2005 à 00:27 par sasume-
    
./Post n°40   Marquer comme non lu.
Sasume Ecrit le: Mardi 15 novembre 2005 à 23:25 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  
  -- Post locké --
 
    
./Post n°41   Marquer comme non lu.
mic Ecrit le: Mardi 15 novembre 2005 à 23:27 Déconnecté(e)    Voir le profil de mic Envoyer un email à mic Visiter le site WEB de mic Envoyer un message privé à mic  
  -- Post locké --
 
    
./Post n°42   Marquer comme non lu.
mic Ecrit le: Mardi 15 novembre 2005 à 23:28 Déconnecté(e)    Voir le profil de mic Envoyer un email à mic Visiter le site WEB de mic Envoyer un message privé à mic  

limmt :
Ca a l'air plutot faisable mais le seul problème c'est qu eje n epens epas supporter les DATAs (seules les listes et les matrices le seront probablement)


Uhm cool, mais les data tu peux pas les mettre en matrices en C ???
TI-BANK :
http://www.ti-bank.be
http://pagesperso.laposte.net/bankti
http://www.ti-bank.fr.tc

Forum TI-BANK :
http://tibank.forumactif.com
    
./Post n°43   Marquer comme non lu.
LionelA Ecrit le: Mercredi 16 novembre 2005 à 00:24 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


bon j'ai fais une connerie, j'ai effacé le post d'insultes de mic (qui depassait les bornes) en voulant le locker, mais bon on y perd rien
alors on se calme et on essaye de respecter les gens et le sujet svp
j'ai aussi locké le 38 (qui est donc le 37 maintenant)

-Edité le Mercredi 16 novembre 2005 à 00:25 par LionelA-
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°44   Marquer comme non lu.
geogeo Ecrit le: Mercredi 16 novembre 2005 à 17:32 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Sasume :
limmt> Je suis curieux de connaître la structure de ton programme si tu ne fais pas d'analyse syntaxique. Est-ce que tu peux détailler un peu ?
En tout cas, le travail que tu as fourni semble intéressant :)
-Edité le Mercredi 16 novembre 2005 à 00:27 par sasume-


Je pense plutôt à une traduction mots à mots de la source. Si limmt utilise un analyseur syntaxique alors là convertir bêtement du Basic -> C n'existera plus, il pourra ooptimiser le code...
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°45   Marquer comme non lu.
limmt Ecrit le: Mercredi 16 novembre 2005 à 17:33 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


voila plus ou moins ;)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°46   Marquer comme non lu.
Sasume Ecrit le: Mercredi 16 novembre 2005 à 18:06 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

OK. En fait, en relisant le résultat de la conversion du programme avec des chaînes de caractères en s'en rend facilement compte. Par contre, ça rajoute pas mal de lourdeur :(
Enfin, ce type de convertisseur a un avantage : il n'a pas besoin d'être bien programmé parce qu'il est exécuté sur PC, et le code généré n'a pas besoin d'être optimisé car le compilateur peut s'en charger en général.
    
./Post n°47   Marquer comme non lu.
limmt Ecrit le: Mercredi 16 novembre 2005 à 18:09 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Voila ;)
Surtout le code du compilateur n' pas besoin d'optimisation parce que pour traduire du texte, n'importe quel PC peut le faire :)
C'est clair que la gestion en C des chaines comme en TI-basic est lente :(
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°48   Marquer comme non lu.
limmt Ecrit le: Mercredi 16 novembre 2005 à 18:34 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Voila j'ai ajouté la gestion de la commande string( pour les chaines de caractères
Exemple:

Prgm
0»x
For x,1,10
"Nombre: "&string(x)»s
PxlText s,1,1
Pause
EndFor
EndPrgm


donne:


// Code source C
// Créé par basc89, Limmt Ribeman © 2005

#include <tigcclib.h>

char *strbuf=NULL;
char *strbuf2=NULL;
char *strs=NULL;
short x=0;
char *s=NULL;

void _main (void)
{
  strs=malloc(25);
  x=0;
  for(x=1;x<=10;x++)
  {
    if(strbuf) free(strbuf);
    strbuf=malloc(9);
    strcpy(strbuf,"Nombre: ");
    strbuf2=malloc(strlen(strbuf)+3);
    strcpy(strbuf2,strbuf);
    sprintf(strs,"%d",x);
    strcat(strbuf2,strs);
    free(strbuf);
    strbuf=strbuf2;
    s=malloc(strlen(strbuf)+1);
    strcpy(s,strbuf);
    DrawStr(1,1,s,A_REPLACE);
    ngetchx();
  }
  free(strs);
  if(strbuf) free(strbuf);
  strbuf=NULL;
  free(s);
  s=NULL;
}
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°49   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 17 novembre 2005 à 00:56 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Tu devrais utiliser les handles (fonctions Heap*) plutôt que les pointeurs (fonctions malloc, realloc, free). 1. ça évite de verrouiller les blocs de mémoire pour rien et 2. realloc sur TI est un hack, les blocs alloués avec malloc ne sont pas faits pour être redimensionnables.

Enfin bon, c'est toujours mieux que la solution de facilité choisie par ETP (buffers fixes de 50 octets #sick#).
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°50   Marquer comme non lu.
Onur Ecrit le: Jeudi 17 novembre 2005 à 14:14 Déconnecté(e)    Voir le profil de Onur Envoyer un email à Onur Visiter le site WEB de Onur Envoyer un message privé à Onur  


ETP gère parfaitement les string, de n'importe quel taille. Mais c'est une version que seulement moi j'ai, tu verra quand ca sera publié. C'est comme les autres problèmes que tu as critiqué, je les ai amélioré, mais il faut du temps.
Je ne veux pas faire quelque chose de bien, je cherche l'excellence:ETP Studio...


et autres projets à finir avant 2010
    
./Post n°51   Marquer comme non lu.
limmt Ecrit le: Jeudi 17 novembre 2005 à 18:36 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Le prochain post consacré a ETP qu'il soit pour ou contre sera locké retour dans le sujet s'il vous plait.
Kevin_Kofler > je vois pas en quoi ca serait un "hack" de faire malloc free malloc ca sert bien a ca meme si on réalloue
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°52   Marquer comme non lu.
geogeo Ecrit le: Jeudi 17 novembre 2005 à 18:38 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


C'est pas que ça serait un hack de faire ça, c'est juste que cette implantation (realloc) est un hack.
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°53   Marquer comme non lu.
LionelA Ecrit le: Jeudi 17 novembre 2005 à 18:52 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


essaye d'utiliser les HANDLE pour la memoire, tu verra c'est bien mieux :)
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°54   Marquer comme non lu.
limmt Ecrit le: Jeudi 17 novembre 2005 à 18:59 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Ok je vais faire ca ;)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°55   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 17 novembre 2005 à 19:15 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


geogeo :
C'est pas que ça serait un hack de faire ça, c'est juste que cette implantation (realloc) est un hack.

C'est plutôt que n'importe quelle implémentation de realloc sur TI est soit l'implémentation naïve qui alloue un nouveau bloc, copie et libère l'original (donc très inefficace en consommation de mémoire et aussi sous-optimale en vitesse), soit un hack (puisqu'il faut récupérer le handle correspondant pour utiliser HeapRealloc, et aussi HeapUnlock et HeapLock si on veut pouvoir augmenter la taille et pas seulement la réduire). TI ne propose que des fonctions d'allocation et libération pour les pointeurs, pas de réallocation.
-Edité le Jeudi 17 novembre 2005 à 19:17 par Kevin Kofler-
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°56   Marquer comme non lu.
limmt Ecrit le: Jeudi 17 novembre 2005 à 19:21 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Si on utilie HeapAlloc, le handle n'est pas locké normalement?
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°57   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 17 novembre 2005 à 19:25 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Non. HeapAllocHigh le locke automatiquement, mais tu ne veux pas qu'il soit locké parce que tu veux faire des réallocations (ou alors tu devras le déverrouiller, réallouer et reverrouiller). L'idée est de faire un HeapDeref à chaque utilisation.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
  :: Index » Forum Ti68K » Projets » Compilateur/Translateur TI-Basic -> C (78 réponse(s))
Pages : 3/5     « 1 2 [3] 4 5 » »|

.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 50.49ms avec 18 requetes