Support ARM

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Support ARM

Message par G-Rom »

Excuse moi alors, je vois de l'agressivité partout ^^ :oops:
Pour répondre donc à ta question , un tel projet est quand même conséquent , pour l'adapté à PB , je pense que c'est faisable.
il faut shunté le compilateur pbcompiler. ensuite parser le code PureBasic

Partie avant :
- mettre tout le code sous forme de jetons.
- identifier les jetons
- les jetons inconnu sont considérer comme des erreurs
- analyser les suites de jetons pour les erreurs de syntaxe.

Partie arrière :
- Mettre les jetons sous forme ASM sous le format de la cible.

Faire autant de partie arrière que de processeur ciblé.

C'est du boulot , La partie avant est une histoire de 2 à 3 semaine de travail.
La partie arrière implique de connaitre le processeur cible ( ici un proc ARM )
il faut se munir du datasheet pour connaitre l'opcode du processeur, et de la doc du compilateur fasmarm.
il y a autant de partie arrière que de processeurs sur lequel tu veut compilé.
Cela reste à mon avis plus simple qu'un processeur intel ou amd.

Il faut donc un gars qui a des connaissances en ASM & un autre qui manipule le string comme un roi pour le parsing :mrgreen:
C'est largement faisable en PureBasic.
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Support ARM

Message par graph100 »

G-Rom a écrit :Partie avant :
- mettre tout le code sous forme de jetons.
- identifier les jetons
- les jetons inconnu sont considérer comme des erreurs
- analyser les suites de jetons pour les erreurs de syntaxe.
Y a quand même un truc qui me chiffonne... Le code qui sort de derrière PB, avant le fasm, il développe pas les fonctions complexes ?
Et puis (pour être sur de bien comprendre), un programme codé de cette façon ne permettra pas d'utiliser les fonctions avancées de PB (du genre Openwindow() pour linux) ?

Comment t-on fait lors des appels de librairie ?
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
stombretrooper
Messages : 117
Inscription : dim. 21/déc./2008 18:39

Re: Support ARM

Message par stombretrooper »

Code : Tout sélectionner

Le code qui sort de derrière PB, avant le fasm, il développe pas les fonctions complexes ?
Qu'est ce que tu entends par fonction complexe ?

Code : Tout sélectionner

Et puis (pour être sur de bien comprendre), un programme codé de cette façon ne permettra pas d'utiliser les fonctions avancées de PB (du genre Openwindow() pour linux) ?
Aucun rapport avec ce que G-Rom écrit.
Ce que décrit G-Rom c'est le vrai fonctionnement des compilateurs. Ensuite (après la mise en "assembleur" du code de mémoire), il y a une étape d'édition de lien, qui permet de lier les appels de fonction à des librairies. Il faudra donc, pour avoir une programme purebasic->ARM, faire en plus une adaptions des librairies de purebasic pour quelle fonctionne sous ARM, afin que les appels de procédure sa soit pas du vent.
http://www.purebasicstreet.com/ - Site dédié à purebasic.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Support ARM

Message par Kwai chang caine »

J'y comprend fifre...mais put...c'est passionnant ce que vous racontez 8)
J'espere sincerement que y'a assez de codeurs calés sur ce forum et qui auraient envie de compter des jetons :wink:
Remarquer peut être qu'un appel chez nos copains de l'autre coté de la mer pourrait aussi intéresser, j'suis sur que y'en a qui savent compter la-bas ??

Moi j'en connais un de super codeur en ASM :mrgreen: d’ailleurs si il passe par la...ce serait cool qui donne son avis sur l'histoire des jetons de GRom, sur l'adaptation de ses librairies et tout le toutim 8)

En tout cas serieux...votre conversation c'est top...je vais suivre ça en bavant ......comme ma grand mére "les feux de l'amour" 8O
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Support ARM

Message par G-Rom »

@Graph100:
Comme le dis stombretrooper , l'edition de liens s'occupe de faire le lien entre ton code , et les bibliothèques externe. OpenWindow étant un symbole inconnu à la compilation il sera résolu à l'édition de lien , si il ne le résous pas , tu auras une erreur de linkage. Comme l'as dit stombretrooper, il faudra adpater toutes les fonctions pour que l'editeur de lien ne se casse pas les dents, la moitié des lib étant opensource , un portage arm ne poseras sans doute pas de soucis.
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Support ARM

Message par graph100 »

stombretrooper a écrit :Aucun rapport avec ce que G-Rom écrit.
ben justement je comprenais pas :lol:

Merci pour les éclaircissements !
Si je comprend à peu près le fonctionne de PB quand je l'utilise, le mécanisme derrière m'est assez opaque, et je n'ai pas pris le temps de me renseigner dessus.
G-Rom a écrit :la moitié des lib étant opensource , un portage arm ne poseras sans doute pas de soucis.
Donc c'est faisable, et en PB en plus :D

Ça serait un projet intéressant !
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Support ARM

Message par G-Rom »

graph100 a écrit :
stombretrooper a écrit :Aucun rapport avec ce que G-Rom écrit.
ben justement je comprenais pas :lol:

Merci pour les éclaircissements !
Si je comprend à peu près le fonctionne de PB quand je l'utilise, le mécanisme derrière m'est assez opaque, et je n'ai pas pris le temps de me renseigner dessus.
G-Rom a écrit :la moitié des lib étant opensource , un portage arm ne poseras sans doute pas de soucis.
Donc c'est faisable, et en PB en plus :D

Ça serait un projet intéressant !
Ca reviens à créer un compilateur , je ne me lancerais pas dans un tel projet juste pour l'arm.
A la rigueur convertir le "basic" pour gcc qui supporte toutes les plateformes qui existe, la cela vaudrais le coup , mais ce ne serait plus du PureBasic , mais un basic maison ;)
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Support ARM

Message par graph100 »

G-Rom a écrit :A la rigueur convertir le "basic" pour gcc qui supporte toutes les plateformes qui existe, la cela vaudrais le coup , mais ce ne serait plus du PureBasic , mais un basic maison ;)
C'est le projet de Idle ça :D
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Mesa
Messages : 1092
Inscription : mer. 14/sept./2011 16:59

Re: Support ARM

Message par Mesa »

Juste pour info, sur comment créer un compiler en purebasic:

http://pbtut.blogspot.co.at/2009/08/base.html
http://www.purebasic.fr/german/viewtopi ... =9&t=27222

Mesa.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Support ARM

Message par Kwai chang caine »

Je sais pas si t'as tout compris.....mais y'a quand même des pointures sur nos forums !!! 8O
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre