Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Compilateur C On-calc
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Compilateur C On-calc

Posté le 04/10/2016 13:40

Bonjour,
Je programme beaucoup en C, et n'ayant pas souvent accès à un ordinateur, j'ai voulu tester le C on-calc.
Je n'ai trouvé que des interpréteurs, et n'acceptant même pas tout du C Casio (SysCall avec dPicoC) et des compilateurs avec des fonctions non existantes sur le C Casio (scanf() avec WSC et FVM).
Je me suis donc lancé dans le projet de faire un compilateur de C on-calc, il compilerais le code en .g1a.
Mais je suis à la recherche d'exemple, et de cours sur comment créer un compilateur.
J'aurais aussi besoin d'un bon programmeur de C Casio pour m'aider et d'un graphiste.
Merci d'avance,
neuronix9302


1, 2 Suivante
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 04/10/2016 13:52 | #


Non.

Désolé, mais un tel projet a trop peu de chance de réussir.
1) le C et plus particulièrement le C++ sont des langages complexes à analyser. Encore plus quand on débute dans le monde des lexer/parser.
2) Tu risque fort de faire un programme soit trop lourd pour la calto, soit incomplet
3) pourquoi un graphiste ?

Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 04/10/2016 13:56 | #


Pour l'IDE
Ninestars Hors ligne Membre Points: 2451 Défis: 24 Message

Citer : Posté le 04/10/2016 15:22 | #


Il y a le Lua qui pourrait te correspondre alors. Un compilateur ça doit être super complexe
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 04/10/2016 17:04 | #


En tout cas, je me lance, j'ai déjà les bases
Zezombye En ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 04/10/2016 17:54 | #


Déjà que je galère à compiler le basic, alors compiler le C...

Ce que tu peux faire c'est compiler GCC en .g1a, tu envoies le fichier .c (éditable on-calc grâce à un éditeur, y'a déjà plusieurs éditeurs de texte) à GCC qui le compile lui en .g1a. Si tu veux faire ton propre compilateur tu vas galérer, à moins de t'y connaître à fond en assembleur + interpréteur (parce que y'a la partie interpréter puis la partie transformer en assembleur).
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 04/10/2016 19:14 | #


Et où puis-je trouver GCC?
Cakeisalie5 Hors ligne Membre de CreativeCalc Points: 1869 Défis: 10 Message

Citer : Posté le 04/10/2016 19:18 | #


Non alors, comme dit dans la shoutbox, GCC ne rentrera JAMAIS dans 1.5 Mo. De plus, la limite de taille pour un add-in est de 512 Ko, donc c'est mort de chez mort.

Y a des compilateurs C pensés pour être minimaux et tout (je parle pas de ces compilateurs C en 4/5 fonctions, mais de compilateurs voués à être réellement utilisés). Julese50 en avait suggéré un y a un moment, je me souviens plus du nom.

Mais encore une fois, un vrai compilateur C on-calc, abandonnes l'idée pour quelque chose de possible : passes à un autre langage plus facile à parser/compiler/etc, ou démerdes-toi pour coder sur PC quand même.

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Julese50 Hors ligne Gourou Points: 315 Défis: 16 Message

Citer : Posté le 04/10/2016 19:21 | #


C'était TCC (Tiny C Compiler), encore un projet commencé par notre Fabrice Bellard national
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 04/10/2016 19:23 | #


Mais les programmes sur carte SD sot exécuté sur la carte SD ou alors déplacé dans la mémoire de stockage, puis exécuté?
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1241 Défis: 54 Message

Citer : Posté le 04/10/2016 19:23 | #


Zezombye a écrit :
Ce que tu peux faire c'est compiler GCC en .g1a


J'avoue que ça m'a fait un peu rire.
Cakeisalie5 Hors ligne Membre de CreativeCalc Points: 1869 Défis: 10 Message

Citer : Posté le 04/10/2016 19:24 | #


La limite est la même pour tous les add-ins. (et TCC ne gère pas le SuperH apparemment, donc bon courage pour l'adapter et le réduire pour qu'il tienne en 512 Ko lol)

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 05/10/2016 13:51 | #


Bon alors petite info, j'ai fini l'analyseur lexicale, et je m'attaque à l'analyseur syntaxique

Ajouté le 05/10/2016 à 17:01 :
Et sinon, j'ai trouvé 8cc, mais c'est un compilateur de C11, c'est quoi la différence avec le C89?
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 05/10/2016 20:56 | #


Beaucoup de choses
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 05/10/2016 21:36 | #


Lol-Man a écrit :
Beaucoup de choses


Des questions pointues vous taraudent ?
En recherche d'infos précises sur tous les sujets ?

Soumettez vos interrogations à...

[big][red][i][b][u]Mister Intelligide ![/u][/b][/i][/red][/big]

au 69 666 * !

(Appel surtaxé 8,30 $ la seconde et 30 $ le coût d'envoi d'un SMS en plus de 2 $ par caractère. Pour toute information supplémentaire sur l'offre, rendez-vous sur le site www.je_me_fais_sodoculer.con.)
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 06/10/2016 13:15 | #


Et donc, la différence?
Cakeisalie5 Hors ligne Membre de CreativeCalc Points: 1869 Défis: 10 Message

Citer : Posté le 06/10/2016 13:25 | #


Le C a connu plusieurs périodes.
- A partir de sa naissance, on parle de K&R C (ou ANSI C). Pas vraiment de norme définie, pas mal de points varient entre les compilateurs.
- En 1983, l'ISO (des ingénieurs) commence à faire une norme de C. Il la publie en 1989, d'où son nom : C89.
- Même ramdam pour l'ISO C99.
- Et encore un coup pour l'ISO C11, publiée en 2011.

Les différences concrètes, faut que tu ailles regarder sur des wikis etc.
(un mec en qui j'aurais peut-être commencé à croire, il aurait déjà l'idée générale et même quelques détails là en fait... ^^')

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 06/10/2016 13:28 | #


Donc si je porte un compilateur de C11, il devrait reconnaître toutes les instructions du C Casio?
Cakeisalie5 Hors ligne Membre de CreativeCalc Points: 1869 Défis: 10 Message

Citer : Posté le 06/10/2016 13:32 | #


"Instructions du C Casio" ? Tu n'as pas l'air d'avoir bien pigé.
En gros, si tu portes un compilateur existant, tu gardes tout ce qui est parsing de C11, de l'autre côté, tu dois juste "changer le langage assembleur" pour que ça ne compile pas pour du x86 (par exemple) mais pour du SH3.

Inutile de dire qu'il va te falloir apprendre l'assembleur SuperH. Le manuel est sur ce site partie tutoriels, je te souhaite bon courage.

(et pour le coup, il existe très probablement un assembleur on-calc quelque part si tu veux t'entraîner)

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 06/10/2016 13:34 | #


J'ai déjà appris l'ASM SuperH, c'est justement pour ça que je me suis lancé dans ce projet
Lephenixnoir Hors ligne Administrateur Points: 22770 Défis: 149 Message

Citer : Posté le 06/10/2016 16:13 | #


Non.

Je suis honnêtement désolé, mais écrire un compilateur C n'est pas de ton niveau -- ni du mien. Rien que d'entendre parler "d'instructions du C CASIO", je pleure. Pense aux formats d'objets, au lexer hack inimplémentable sur calto (même si au fond c'est tant mieux), ou à la simple idée de linker fxlib. Ton lexer reconnaît ne serait-ce que les points de suspension ou les pointeurs sur les fonctions (question piège) ? Et puis il y a derrière les grammaires formelles et toute la théorie des parsers des résultats très puissants mais du tout aisés à utiliser. Ne parlons même pas du C11. Les macros variadiques ? Les structures anonymes ?

Faut pas toujours écouter ce que je raconte, mais là je doute qu'on puisse développer un compilateur C efficace en un temps raisonnable. Le mieux c'est sans doute que tu essaies -- et je te souhaite sincèrement bon courage.
1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 78 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd