1

Pour la petite histoire, mon projet de compilo oncalc s'appelle COMA.

Ce projet ne cherche pas à se lancer dans la course aux compilos C, donc j'aimerais savoir quels sont les intérêts des utilisateurs pour adapter le langage propriétaire aux suggestions.

2

je vote pr :
objet
optimisation exe
compatibilité (C et C++ en particulier)
qualié de la lib (enfin, ça, au pire, on peut se débrouiller)
avatarTutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

3

squale92 : pour la compatibilité, t'estimerais-tu satisfait par une conversion du langage priopriétaire vers le C (TIGCC), ou bien réclames-tu la compilation de progs C/C++ sur TI (qui veut bien implémenter la STL pour TI68k grin) ?

4

Moi, pour optimisation, accessibilité et qualité de la lib. En bonus, le debugger.
avatarMembre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

5

MadKeyBoard>
La compilation de programmes C/C++ sur TI peut être une bonne chose (C++ en particulier)

Cela dit, si le compilateur permet de bonnes choses que le C ne permet pas... je penses que certains membres de la communauté seraient prêt à apprendre un nouveau language... mais, dans ce cas, moins de gens utiliseront ton prog que s'il compile des codes C/C++ (je penses)

Donc, perso, je m'estimerait satisfait par une version en language propriétaire avec conversion possible (mais pas forcément nécessaire)... à condition que le compilo permette de bonnes choses...
avatarTutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

6

Les résultats sont assez diffciles à exploiter là grin On a tous des avis différents triso
avatarUn site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

7

D'après le vote actuel, et d'après les commentaires :
-- en tête top
Syntaxe du langage accessible
Projet terminé rapidement
Qualité de la librairie
-- moyen smile
Optimisation des exécutables
Vitesse de compilation
Debugger code source
Compatibilité avec langages existants
-- bof confus
Orientation objet
Hibernation/restauration processus

donc décisions :
le compilo COMA évoluera en deux étapes : je vais créer une première version le plus rapidement possible (d'ici les vacances d'été au maximum), puis profiter du feed-back et de l'expérience acquise pour reprendre un projet plus élaboré.
Quelques fonctions de COMA 1.0 :
- but du projet : obtenir quelque chose d'utilisable le plus vite possible
- public cible du compilo : la réalisation de jeux temps réel très graphiques (voir sondage type de projet)
- courts temps de compilation
- syntaxe degraissée, inspirée de langages existants (soit C, soit TI-BASIC).
- intégration de Genlib pour la qualité de la lib et le public cible
- faible orientation objet uniquement pour simplifier le développement

A voir :
- debugger
- optimisation
- traducteur vers TIGCC

Voilà, je me lance.

8

Sans optimisation, ça serviras pas à grand chose que tu utilise GenLibwink
avatarMembre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

9

MacIntoc> Le Small de Nitro n'était pas spécialement optimisé, et pourtant, ça marchait pas mal vu les screenshots...

Le compilo générera du code correct, c'est tout (optimisation des constantes, utilisations des instructions plus efficaces). Pas de Common Subexpression Elimination pour l'instant.

10

Des news du projet :
- l'analyseur syntaxique est pratiquement terminé, en utilisant la méthode que j'avais décrite dans un topic d'algorithmique. Il accepte des identificateurs et des opérateurs de longueur quelconque et peut être étendu en cours d'utilisation (à la différence des parsers générés par des softs comme Yacc ou Bison). Le code compilé devrait tenir finalement en dessous de 3 ko (actu. 2.4 ko;je dois encore débugger = pas simple triso).

11

Crétins de Casioistes. Pas foutu d'acheter une TI, alors comment voulez-vous qu'ils puissent poster autres choses que des conneries ?
[edit]Edité par Renorems le 14-04-2002 à 21:16:12[/edit]

12

et question facilité du langage, ça ressemble à koi ?

13

En gros :

mon 1er but :
- créer un petit évaluateur d'expression avec compilation/fonctions, en utilisant que des variables de type int et tableaux globaux (avant de faire plus complexe)
-> ça devrait être bon d'ici une semaine

2e but
- créer le vrai projet d'ici la fin de l'année scolaire
-> syntaxe proche du TI-Basic (et oui) pour le layout du code et les blocs de contrôle
-> syntaxe proche du C pour les expressions (qui aime les STO> dégueu ?)
-> orientation objet/Genlib

14

Objet powa
C powa

basic... ma fois... ça rapellera des souvenirs grin
avatarTutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

15

News :
j'ai debuggé une partie de l'analyseur syntaxique générique, il me reste à prendre en compte les opérations post et pre-fixées (comme les ++, --), à gérer les opérateurs avec expressions incluses comme les ( ) ou [ ] et le boulot sera fait.

Un gros problème sera de résoudre les collisions ou les ambiguïtés...

Vous pourrez définir vos propres opérateurs comme par exemple :

player1 frappe player2 ; hurts est un opérateur binaire
au lieu de
frappe (player1, player2)

16

Ca ressemble un peu à la surcharge du C++ nan ?

C'est quoi ce que tu appelles une collision ?
avatarUn site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

17

Thibaut > c'est clair, mais en plus puissant, vu que tu n'es pas restreint aux opérateurs déjà définis

La collision, pour moi, c'est quand un même signe peut vouloir dire différentes choses, comme l'opérateur ++, qui peut être placé ++a ou a++, les parenthèses, utilisées pour la priorité des opérations ainsi que pour les appels de fonctions, etc..

18

ok smile
avatarUn site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

19

Bon, l'analyseur d'expressions est terminé ; il gère

- les opérateurs binaires (associativité quelconque)
- les opérateurs unaires pré-fixés ou post-fixés
- les opérateurs binaires ou unaires avec expression incluse (comme les parenthèses, les appels de fonctions, les indices de tableau)

... et tout ceci est dynamique (je n'utilise pas de générateur comme Bison ou yacc) bang

Je crois avoir debuggué ce qu'il faut.

Prochaine étape : un interpréteur BASIC avec P-Code sur nombres/tableaux entiers

20

Taille de l'analyseur syntaxique complet (compressé avec TTPACK) : 1.87 ko

21

joli smile
avatarTutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

22

MadKeyboard a écrit :
D'après le vote actuel, et d'après les commentaires :
-- en tête top
Syntaxe du langage accessible
Projet terminé rapidement
Qualité de la librairie
-- moyen smile
Optimisation des exécutables
Vitesse de compilation
Debugger code source
Compatibilité avec langages existants
-- bof confus
Orientation objet
Hibernation/restauration processus


Je te voie très mal avec des processus qui n'existe que chez toi et pas sur la TI... autrement, je suis plus sur debugger que vite fini.

23

Miles > hibernation/restauration de processus, c'est simplement le très connu "charger partie" "enregistrer partie" = moins de travail pour les réalisateurs de jeux