1

Voilà j'ai pensé depuis longtemps à réaliser un projet pour les cours qui à pour objectif de programmer en C mais avec son propre lanage de programmation plus ou moins évolué et suivant ses propres régles.
En faite le but du programme sera dans un premier temps de traduire les instructions personnalisé (si, tant que...) en instructions pour le lanage C puis à l'avenir de transformer des phrase en instructions pour le C du genre (afficher texte bonjour en 20x 50y).
Le but de ce programme et de permettre au débutant de commencer à proagrmmer sans avoir de notiosn de programmation...

Pensez-vous que ce projet est interessant? Et si c'est le cas, essayer de trouver un langage standard pour les débutants.

A savoir que je pense réaliser une gestion de fichiers qui contienderont le langage de programmation et peut être les phrases avec les instructions qui vont avec.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

2

en gros, tu veux faire un traducteur langage perso -> C, c'est ça ?
si c'est du mot à mot, ça devrait pas être trop dur à faire (faut coder une fonction remplacer dans un texte)
si c'est pas du mot à mot, ça reviendrait plus ou moins à faire un compilateur, sauf qu'il faudrait compiler le C obtenu. Ca serait pas plus simple de faire un compilateur directement ? mais peut-être que j'ai rien compris au truc
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3

Au déburt en effet je vais traduire du mot à mot mais je pense plus tard réaliser des phrases qui donneront une série d'instructions....
Pour l'instant je réalise ce programme dans l'objectif des cours mais peut être que si ça intresse du monde, j'adapterais ça sur TI.
Personnelement je pense que ça ne pourras qu'attirer beaucoup de débutant et permettre la réalisationd e programmes assez puissant même si ça sera limité.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

4

Question : Comment les personnes qui sont supposées ne pas savoir programmer sauront se créer leur propre langage ?
Dans tous les cas, il y aura un langage à apprendre.
Entre if(<condition> ) et si <condition> il n'y a pas vraiment de différence, je ne vois pas où est la facilité d'accès.
Je ne suis pas pour ce genre de projet. pencil
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

5

si tu veux faire un langage de programmation 'naturel' ,cad comme on parle a peu pres, regarde du coté du cobol qui est censé en etre un plus ou moins

exemple:

en C: a=b;
en cobol: move b to a.

cheeky

6

[nosmileys]Question : Comment les personnes qui sont supposées ne pas savoir programmer sauront se créer leur propre langage ?
Dans tous les cas, il y aura un langage à apprendre.
Entre if(<condition> et si <condition> il n'y a pas vraiment de différence, je ne vois pas où est la facilité d'accès. Je ne suis pas pour ce genre de projet. [/nosmileys]


Il y aura un lanage de base mais construit autour de phrase et non de structure comme le C du genre if (a==b) {a+=5;...}
Donnera peut être un truc du genre:

Si $a=b alors :
ajouter 5 à $a
effacer l'écran
fin de la condition
...

Mais c'est surtout pour les cours que je fait ça, le but est quand même d'arriver à une syntaxe personnalisé et compréhensible par les personnes ne connaissant rien en programmation.
Pour l'instant j'esssaye de trouver une syntaxe et des idées pour programmer tout ça. Il faut quand même définir des régles...
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

7

Comment ça, c'est pour les cours ?
En gros tu veux faire un langage comme celui qu'on utilise pour décrire des algorithmes par exemple ?
Par exemple, celui qu'on utilise à l'IUT :
Déclaration d'une variable :
<nom>[,<nom2>,...]:entiers ou (<nom>:entier)<-<val>
Déclaration d'une contante :
(<nom>:constante)<-<val>
Conditions :
si <condition> alors
<instructions>
fsi


etc...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

8

Comment ça, c'est pour les cours ?


C'est au niveau du club robotique avec le langage C sur ATMEL.
En gros tu veux faire un langage comme celui qu'on utilise pour décrire des algorithmes par exemple ?
Par exemple, celui qu'on utilise à l'IUT :
Déclaration d'une variable :
<nom>[,<nom2>,...]:entiers ou (<nom>:entier)<-<val>
Déclaration d'une contante :
(<nom>:constante)<-<val>
Conditions :
si <condition> alors
<instructions>
fsi
etc...


En gros oui, c'est un objectif final. Je ne suis pas en IUT donc je connais pas le langage des algorithmes.

Pour la partie traduction de phrases, je pense plutôt permettre au traducteur de rechercher dans des librairies dans un format proche la bonne traduction en C en fonction des paramètres de la phrase.

Pour l'instant je fait simple, presque du mot à mot.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

9

Si tu comptes uniquement remplacer des mots du C par d'autres mots plus accessibles, cela n'aura pas vraiment d'intéret, puisque l'utilisateur devra déja connaitre le C pour utiliser son langage. Sinon, tu devra carrément écrire un compilateur en fait, dans ce cas bonne chance.

10

Voilà comment je compte procéder:

Le fichier de données des instructions à traduire contiendera un mini-langage qui permettera de dire au compilateur comment ce comporter en fonctiion d'un mot ou d'ensemble de mots.

Exemple:
Ajouter 5 avec x dans x

Dans le fichier de données ça donnera un truc de ce genre, pas encore définie, il faut que je réflechisse.
dans->data&=;ajouter->data&+;avec->data;/fin

Dans la phrase finbal ce comportera de cette ordre, le traducteur analysera dans l'odre ce qui est spécifié par le fichier de donné, pour que la traduction soit correct, chaque mot (dans,ajouter,avec) devront êtrre validé et donc appartenir à la phrase, les surplus de mot autre que les variable, chiffres... seront ignoré.
Avec ce genre de méthode il sera possible de combiner dans une phrase plusieurs instructions du genre:

Ajouter 5 avec x puis ajouter 4 avec y dans z.

Ici la phrase sera validé car tout les mots de traduction existe dans la phrase sauf 'puis' qui est inutile mais permet de donner un sens à la phrase et la phrase sera traduite correctement:
z=x+5+y+4;

Reste un problème, si je remplace un mot clef ajouter par multiplier, la phrase sera validé mais le mot multiplier sera inconnus donc je doit trouver une méthode pour améliorer le langage du fichier de données....
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

11

Je vois mal comment tu pourrais faire quelque chose qui pourrait être capable de comprendre un langage "personalisé". Au mieux en traiter quelques uns, mais rien qu'en observant les langages connus et/ou utilisés, il y a trop de différences.

Ecrire un compilateur serait bien sûr bien plus utile je pense, mais ce n'est pas vraiment le sujet (et peut-être pas non plus dans les cordes de geogeo, si je me trompe, chapeau).

[edit] post croisé, je n'ai pas lu le #9 avant de poster le mien.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

Je vois mal comment tu pourrais faire quelque chose qui pourrait être capable de comprendre un langage "personalisé". Au mieux en traiter quelques uns, mais rien qu'en observant les langages connus et/ou utilisés, il y a trop de différences.
Ecrire un compilateur serait bien sûr bien plus utile je pense, mais ce n'est pas vraiment le sujet (et peut-être pas non plus dans les cordes de geogeo, si je me trompe, chapeau).


Je réflechie à tout ça avant de coder bien sûr, j'ai expliqué ma méthode au post #9, pour les langages personnalisé, c'est assez ambigue mais déjà si je me place dans un objectif de traduire des phrases française en programme, ça sera pas mal.

Un compilateur, oui bien sûr mais c'est pas mon objectif en effet, quand à mon niveau je verrais bien ou j'arrive. smile

Je commence simple pour faire plus compliqué.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

13

moi j'aimerais bien faire un interpreteur de lisp love
(vu que c pas un langage compilé)
mais je connais pas assez ce langage
avatar
納 豆パワー!
I becamed a natto!!!1!one!

14

CaML pOwa
avatar
I'm on a boat motherfucker, don't you ever forget

15

geogeo
: pour les langages personnalisé, c'est assez ambigue mais déjà si je me place dans un objectif de traduire des phrases française en programme, ça sera pas mal.

Pour le coup ça n'a absolument plus rien d'un langage personnalisé, mais ça serait pas mal en effet smile
(assez inutile par contre, c'est interessant d'un coté purement programmation grin)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

16

le lisp !! ça a un reel intéret : faire ses TP de lisp sur TI triso
avatar
納 豆パワー!
I becamed a natto!!!1!one!

17

moi j'aimerais bien faire un interpreteur de lisp


Tiens j'ai fait un interpréteur Casio y a qqs jours... Complètement pourri (pas optimisé, seulement 5x plus rapide que le Basic pour une boucle du style "Loop:i-1->i:If i<>0:EndLoop"), mais bon c quand même marrant à programmer oui (faire un petit parser optimisé).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

18

"TP de lisp" ? Où ça?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

19

ds mon ecole cheeky
avatar
納 豆パワー!
I becamed a natto!!!1!one!

20

Ce qui serait interressant, ce serait de faire un interpréteur de TI-BASIC plus rapide que celui d'AMS, ce qui permettrait aux utilisateurs qui n'ont pas le courage d'apprendre le C ou l'asm d'avoir un TI-BASIC offrant une vitesse d'éxecution proche de ces deux langages.

21

c clair, hein pollux? trigni
avatar
納 豆パワー!
I becamed a natto!!!1!one!

22

Ce qui serait interressant, ce serait de faire un interpréteur de TI-BASIC plus rapide que celui d'AMS, ce qui permettrait aux utilisateurs qui n'ont pas le courage d'apprendre le C ou l'asm d'avoir un TI-BASIC offrant une vitesse d'éxecution proche de ces deux langages.


Tiens c'est intéressant triroll C'est précisément ce que j'ai (commencé) à faire dans GT-Dev embarrassed
Mais malheureusement c quand même plutôt difficile si on veut être 100% compatible avec le TIOS (je vais faire plaisir à Kevin grin), et qu'on ne veut pas se contenter d'entier 32 bits et de ce genre de choses, puisqu'il faut alors réimplémenter un tas bcp plus efficace que celui de TI (celui que j'utilise est plus spécifique au Basic puisqu'on ne peut pas locker de handle, i.e. il ne peut pas remplacer le tas du TIOS). Cela dit, ça reste possible, et heureusement, le TI-Basic est assez "propre" pour laisser une bonne marge d'innovation - mais c pas pour tout de suite embarrassed

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

23

liquid> erf tongue

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

24

Ah ok smile
Ben c'est bien ça, l'année 2042 va être plûtot chargée grin

25

oué...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

26

oui, je suis impatient triso
avatar
納 豆パワー!
I becamed a natto!!!1!one!

27

liquid> Tiens j'avais prévu de faire l'exercice de prologin sur un mini interpréteur lisp (il y a très peu d'opérations à coder +, *, -, /, <, <=, >, >=, car, cdr, c??r) par contre je vais sûrement le coder en C++ (je suis en train d'apprendre) donc pour le porter sur ti, ça sera pas facile. :/
Mais d'abord, faut que je finisse l'interpréteur de RPL que j'ai commencé le WE dernier en C++. ^^


[Edit: interpréteur RPL en C++, pas C]
avatar
;)

28

Le RPL resemble à quoi?

Je pense que mon interpreteur aura 2 processus de tracution, le premier sera du mot à mot, le deuxième sera une traduction plus avancé en fonction de phrase et de l'ordre des mots désiré.

Par exemple:
b->a sera interprété naturellement en a=b.

Donc l'interpreteur sera quoi faire dès qu'il tombe sur l'instrcution ->...

Je vais déjà faire du mot à mot et voir ce que ça donne puis j'attaquerais le langage de l'interpreteur qui pourra s'occuper de convertir correctement des phrases....
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

29

BiHi> tu comptes utiliser des classes ? perso je pense que c'est largement faisable en C tout court, si j'ai du temps libre je vais sans doute le faire
avatar
納 豆パワー!
I becamed a natto!!!1!one!

30

-