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°19)   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 20:26 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


J'ai ajouté une partie de la gestion des chaines:

Prgm
"Test"&" de chaine de caractères"»vars
ClrDraw
PxlText vars,1,1
Pause
EndPrgm


devient


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

#include <tigcclib.h>

char *strbuf=NULL;
char *strbuf2=NULL;
char *strs=NULL;
char *vars=NULL;

void _main (void)
{
  if(strbuf) free(strbuf);
  strbuf=malloc(8);
  strcpy(strbuf,"chaines");
  strbuf2=malloc(strlen(strbuf)+9);
  strcpy(strbuf2,strbuf);
  strcat(strbuf2," de cars");
  free(strbuf);
  strbuf=strbuf2;
  vars=malloc(strlen(strbuf)+1);
  strcpy(vars,strbuf);
  clrscr();
  DrawStr(1,1,vars,A_REPLACE);
  ngetchx();
  end:
  free(strbuf);
  free(vars);
}

-Edité le Mardi 15 novembre 2005 à 21:23 par limmt-
-Edité le Mardi 15 novembre 2005 à 21:27 par limmt-
-Edité le Mardi 15 novembre 2005 à 21:27 par limmt-
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°20   Marquer comme non lu.
LionelA Ecrit le: Mardi 15 novembre 2005 à 21:21 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


ce qui nous fait un beau leak de 58 octets :D
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°21   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 21:22 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


effectiveent il manque un free sur le strbuf à la fin :$
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°22   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 21:28 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


arg ca crashe a la deuxième exécution :s
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°23   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 21:38 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


c'st bon c'était parce qu'il fallait mettre strbuf=NULL; à la fin ;)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°24   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 22:10 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  



Prgm
0»x
0»y
For x,0,158
For y,0,76
PxlOn y,x
EndFor
EndFor
Pause
EndPrgm


met 5 min 25 en basic, et en le traduisant en C, il met moins de 2 secondes avec mon traducteur :p
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°25   Marquer comme non lu.
FpgForce Ecrit le: Mardi 15 novembre 2005 à 22:19 Déconnecté(e)    Voir le profil de FpgForce Envoyer un email à FpgForce Envoyer un message privé à FpgForce  

D'un autre côté ya pas de gloire à avoir, c'est pas comparable :/
Et puis la traduction est très compliquée là en plus #roll#
    
./Post n°26   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 15 novembre 2005 à 22:24 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  


limmt :
2^(1/2)->i
...
""->i


Alors si il voit ca, il détecte d'abord du float puis une chaine de caractère, donc la variable sera déclarée dans un type Varient, qui consistera en un char définissant le type actuel et 4 octets définissant le contenu (long, float, pointeur vers une string, pointeur vers une liste).

Il faut 10 octets pour un float sous TIGCC.
Et bonjour la performance et la taille du code aussi.
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°27   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 22:36 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Ok pour les 10 octets.
Pour la performance et la taille, ca seré déja au moins 50X plus rapide que le TI-basic de toute facon, et ce qui compt ele plus à optimiser, c'est les boucles, ce qui est largement plus rapide que le ti-basic (cf le programme plus haut qui est 160 fois plus rapide)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°28   Marquer comme non lu.
jeffix Ecrit le: Mardi 15 novembre 2005 à 22:49 Déconnecté(e)    Voir le profil de jeffix Envoyer un email à jeffix Visiter le site WEB de jeffix Envoyer un message privé à jeffix  

Moi je pense que ce projet est plutot une bonne idée !
et que la taille du code importe peu si on gagne en rapidité ...
Jeff ! Couc en force !
Concepteur de Fish Adventure !
Mention TB au Bac !
Développeur fou et vaniteux :
Futur maître du monde :D
    
./Post n°29   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 22:54 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Mais le code ne sera pas plus lourd
C'est juste qu'il sera plus lent apr rapport à du code réellement écrit en C, masi toujours beaucoup plus rapide que le TI-basic
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°30   Marquer comme non lu.
mic Ecrit le: Mardi 15 novembre 2005 à 23:04 Déconnecté(e)    Voir le profil de mic Envoyer un email à mic Visiter le site WEB de mic Envoyer un message privé à mic  

Ton soft est bientot fini ??? :D

Jai hate de le tester sur mon programme ephy :P
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°31   Marquer comme non lu.
mic Ecrit le: Mardi 15 novembre 2005 à 23:05 Déconnecté(e)    Voir le profil de mic Envoyer un email à mic Visiter le site WEB de mic Envoyer un message privé à mic  

jeffix > c koi Fish Adventure ???
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°32   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 23:10 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


mic > Non il n'est pas bientot fini mais envoie moi ton soft par MSN (limmt_r@hotmail.com) comem ca je ferai en priorité les fonctions qui lui sont nécéssaires ;)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°33   Marquer comme non lu.
Link Ecrit le: Mardi 15 novembre 2005 à 23:13 Déconnecté(e)    Voir le profil de Link Envoyer un email à Link Visiter le site WEB de Link Envoyer un message privé à Link  

Si je peux me permettre un conseil, tu devrais rajouter une option qui insère en commentaire les lignes de code TI-basic...

Cela faciliterait la correction ultérieure...


Mieux, un format de commentaires un peu spécial (genre /// au lieu de //, etc) pour pouvoir vite virer le tout avec une regexp au besoin... (Le programme C débogué aura besoin de vrais commentaires au lieu du TI-basic. Bien sûr, on pourrait aussi recopier les commentaires TI-basic sous une autre forme, mais c'est une autre paire de manches...)
    
./Post n°34   Marquer comme non lu.
limmt Ecrit le: Mardi 15 novembre 2005 à 23:16 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


C'est assez lourd ca, je vais faire, quand y'aura des choix de compilation, qu'on puisse choisir de l'activer ou non ;)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°35   Marquer comme non lu.
Sasume Ecrit le: Mardi 15 novembre 2005 à 23:18 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

mic :
Moi je trouve ça trop bien même si le code sorti n'est pas propre, on peut tjs le corriger après. Au moins on aura le structure globale du programme en C, c'est déjà énorme :)
-Edité le Mardi 15 novembre 2005 à 17:13 par Mic-
Si on utilise un convertisseur BASIC -> C, c'est qu'on ne connait pas le C, donc l'optique d'améliorer le code après conversion est stupide. Ou alors pour convertir un énorme projet BASIC en C, ça peut accélérer. Mais bon, de toute façon, qqun qui connaît le C a tout intérêt à coder proprement son programme depuis zéro en C.
-Edité le Mercredi 16 novembre 2005 à 00:26 par sasume-
    
./Post n°36   Marquer comme non lu.
mic Ecrit le: Mardi 15 novembre 2005 à 23:18 Déconnecté(e)    Voir le profil de mic Envoyer un email à mic Visiter le site WEB de mic Envoyer un message privé à mic  

limmt :
mic > Non il n'est pas bientot fini mais envoie moi ton soft par MSN (limmt_r@hotmail.com) comem ca je ferai en priorité les fonctions qui lui sont nécéssaires ;)


:) :) :) :)

http://pagesperso.laposte.net/bankti/index.php?mod=archives&ac=voir&id=206

Voilà, c'est ça :)

Trop trop bon si tu arrives à me le mettre en C :D #fou#
-Edité le Mardi 15 novembre 2005 à 23:19 par Mic-
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°37   Marquer comme non lu.
mic Ecrit le: Mardi 15 novembre 2005 à 23:21 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°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/
    
  :: Index » Forum Ti68K » Projets » Compilateur/Translateur TI-Basic -> C (78 réponse(s))
Pages : 2/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 61.32ms avec 18 requetes