Comment creer un langage de programmation
Fermé
bonjour a tous ceux et a toutes qui lisent ce message
je veux etre indépandant en tout et en toute mais depandant de Dieu
je dis toujours comment creer un langage de programmation
est ce que vous pouvez m'aider ou me donner des informations
la dessus
je suis en 3ieme annee en science informatique
je veux avoir une oeuvre en informatique
peut etre avec vos conseils elle realisera
merci d'avance
je veux etre indépandant en tout et en toute mais depandant de Dieu
je dis toujours comment creer un langage de programmation
est ce que vous pouvez m'aider ou me donner des informations
la dessus
je suis en 3ieme annee en science informatique
je veux avoir une oeuvre en informatique
peut etre avec vos conseils elle realisera
merci d'avance
A voir également:
- Comment créer un langage de programmation
- Créer un compte gmail - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un compte instagram - Guide
- Créer un compte gmail pour une autre personne - Forum Gmail
50 réponses
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
7 oct. 2006 à 23:28
7 oct. 2006 à 23:28
Certe.
Les réponses peuvent servir à d'autre sur le forum. Et la question n'est pas si bete : comment creer un langage de programmation?
Et je pense qu'on oublie souvent que des personnes seule sont à l'origne d'innovation en informatique. Linus T... (le gars Linux dont j'ai oublié le nom), Strouptrup (le gars du C++), les mecs qui ont créer Apple et la premier OS avec fenetre etc.
Je ne pense pas qu'il faille démotivé les gens. Si personne ne tente rien, les choses ne bougerons plus.
Bref...
De toute façon, les visionnaire n'ont dans l'ensemble que rarement été pris au sérieux de leur temps.
sur ces disgretions vaseuses, bonenui
Les réponses peuvent servir à d'autre sur le forum. Et la question n'est pas si bete : comment creer un langage de programmation?
Et je pense qu'on oublie souvent que des personnes seule sont à l'origne d'innovation en informatique. Linus T... (le gars Linux dont j'ai oublié le nom), Strouptrup (le gars du C++), les mecs qui ont créer Apple et la premier OS avec fenetre etc.
Je ne pense pas qu'il faille démotivé les gens. Si personne ne tente rien, les choses ne bougerons plus.
Bref...
De toute façon, les visionnaire n'ont dans l'ensemble que rarement été pris au sérieux de leur temps.
sur ces disgretions vaseuses, bonenui
morue-de-luxe
Messages postés
3
Date d'inscription
vendredi 24 juin 2011
Statut
Membre
Dernière intervention
27 novembre 2011
67
24 juin 2011 à 00:35
24 juin 2011 à 00:35
Bonjour,
J'ai trouvé un livre qui en parle et qui devrait intéresser les plus motivés d'entre vous.
Il permet de créer rapidement votre langage de A à Z.
Je vous souhaite de révolutionner dans l'informatique.
Suivre le lien ici
À bientôt
J'ai trouvé un livre qui en parle et qui devrait intéresser les plus motivés d'entre vous.
Il permet de créer rapidement votre langage de A à Z.
Je vous souhaite de révolutionner dans l'informatique.
Suivre le lien ici
À bientôt
Salut à tous,
je suis encore plus fou que vous tous : je suis en 3° (au collège) et je veut aussi programmer un langage.
1. il serait portable et utilisable sur internet (un peut comme le flash) et aussi en local.
2. pour le mode console, il faudrait coder.... mais pour le mode graphique et le mode libre, il y aurait un éditeur graphique
3. les instructions sont en français.
je suis encore plus fou que vous tous : je suis en 3° (au collège) et je veut aussi programmer un langage.
1. il serait portable et utilisable sur internet (un peut comme le flash) et aussi en local.
2. pour le mode console, il faudrait coder.... mais pour le mode graphique et le mode libre, il y aurait un éditeur graphique
3. les instructions sont en français.
kouki1000
Messages postés
108
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
5 novembre 2010
9
11 juin 2010 à 17:43
11 juin 2010 à 17:43
Bah va-y lance toi! (Par contre, on va pas tout faire à ta place ^_^... )
Bon, clairement, je pense que ce ne sera pas facile...
Mais lancez-vous ! Allez !
BREF, je suis en cours de création d'un LDP ( langage de programmation ) nommé le etcVEBALTOS, ( ne me demandez pas COMMENT j'ai trouvé ce nom j'en sait rien XD )
je suis (déja) en train de coder la console du ldp !
donc, si vous voulez, ( pour m'aider OU pour vous inspirer ( je dis ça car je ne suis qu'un débutant et ce n'est pas grand chose mais quand même... )) je pourrait vous donner le (début de) code que j'ai codé !
Voici un (exemple futur de) code en etcVEBALTOS
ce code affichera "main01 is started !"
Mais lancez-vous ! Allez !
BREF, je suis en cours de création d'un LDP ( langage de programmation ) nommé le etcVEBALTOS, ( ne me demandez pas COMMENT j'ai trouvé ce nom j'en sait rien XD )
je suis (déja) en train de coder la console du ldp !
donc, si vous voulez, ( pour m'aider OU pour vous inspirer ( je dis ça car je ne suis qu'un débutant et ce n'est pas grand chose mais quand même... )) je pourrait vous donner le (début de) code que j'ai codé !
Voici un (exemple futur de) code en etcVEBALTOS
@! etcVEBALTOS
startcode
define code "main"$code "01"$version
define str "nomversion" "§s§s"%$code!$version
main .return "§s is started !"%$nomversion
endcode
ce code affichera "main01 is started !"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Des mises a jour importante de mon projet de language interprete son disponible
http://coding.xooit.org/index.php
dans la rubrique "Concept"
Voilii voiloo
chose promis chose du....Comme sa qu'on dit??
@++
http://coding.xooit.org/index.php
dans la rubrique "Concept"
Voilii voiloo
chose promis chose du....Comme sa qu'on dit??
@++
Bonjour, moi aussi j'ai envi de creer un language de programation !
mais a part le HTML et le C++, je ne connai rien d'autre !
J'suis en train de creer un grand projet pour ouvrir ma propre entreprise et...
Si vous voulez tout ce que sa interesse, ont a ka creer une association pour creer le language !!!
si sa vous interesse contactez moi a l'adresse suivante : tcs-story@voila.fr
Merci d'avance
mais a part le HTML et le C++, je ne connai rien d'autre !
J'suis en train de creer un grand projet pour ouvrir ma propre entreprise et...
Si vous voulez tout ce que sa interesse, ont a ka creer une association pour creer le language !!!
si sa vous interesse contactez moi a l'adresse suivante : tcs-story@voila.fr
Merci d'avance
Bonjour,
Franchement, cette question m'étonne beaucoup car, pour penser à créer un langage de programamation, il faut à mon avis avoir une expérience de 10 ans au minimum dans le domaine du développement et avoir développé au moins une bonne centaine de logiciels opérationnels de haut niveau. Il faut être aussi très très fort dans ce domaine et maîtriser parfaitement le process interne des composants PC, et connaître les principales fonctions de l'assembleur et du C.
Concernant la réponse à votre question, la voici:
1) Concevoir un programme de syntaxe type : il vous permettra d'interpréter les traitements
2) Concevoir un compilateur ou utiliser un interprêteur direct en C
3) Ecrire tout ça en c + asm
(Je suis en train de préparer quelque chose dans ce domaine)
Bons succès
Mekkisoft
www.mekkisioft.net
Franchement, cette question m'étonne beaucoup car, pour penser à créer un langage de programamation, il faut à mon avis avoir une expérience de 10 ans au minimum dans le domaine du développement et avoir développé au moins une bonne centaine de logiciels opérationnels de haut niveau. Il faut être aussi très très fort dans ce domaine et maîtriser parfaitement le process interne des composants PC, et connaître les principales fonctions de l'assembleur et du C.
Concernant la réponse à votre question, la voici:
1) Concevoir un programme de syntaxe type : il vous permettra d'interpréter les traitements
2) Concevoir un compilateur ou utiliser un interprêteur direct en C
3) Ecrire tout ça en c + asm
(Je suis en train de préparer quelque chose dans ce domaine)
Bons succès
Mekkisoft
www.mekkisioft.net
Bonjour à Mekkisoft,
L'utilité de créer un langage informatique même a bas niveau est très intéressante. C'est en ce lancent sur des projets et en galérant que l'on apprend le plus vite. Ok je ne dit pas non plus d'y aller a la bourrin, mais plus tu va galérer à créer quelque chose, plus tu vas t'y attacher et plus tu va chercher a répondre à tes problème. Personnellement je trouve que c'est le moyen le plus pratique de ce diversifier et d'apprendre vite en ayant ce genre de projet :) .
Cordialement,
XDreamer434
L'utilité de créer un langage informatique même a bas niveau est très intéressante. C'est en ce lancent sur des projets et en galérant que l'on apprend le plus vite. Ok je ne dit pas non plus d'y aller a la bourrin, mais plus tu va galérer à créer quelque chose, plus tu vas t'y attacher et plus tu va chercher a répondre à tes problème. Personnellement je trouve que c'est le moyen le plus pratique de ce diversifier et d'apprendre vite en ayant ce genre de projet :) .
Cordialement,
XDreamer434
Salut,
Certes j'ai un peu de retard, mais je voulais réagir (pour ceux qui, comme moi, tomberaient sur ce topic par hasard).
J'ai lu vos 3 pages de coms, et je n'ai lu (pour la plupart d'entre vous) qu'un ramassis de conneries.
Quand on ne sait pas, on ne dit pas !
Je ne reprendrais pas tous les points erronés de vos réponses (trop nombreux) mais je tiens à ajouter mon grain de sel.
Pas besoin d'avoir fait 10 ans de prog ou d'être un professionel dans ce domaine : il suffit d'être un minimum curieux, motivé, et pas "con-con".
Pour ma part, je me suis tourné vers flex et bison pour créer une petite grammaire, que j'ai petit à petit approfondie.
La connaisances des expressions est une bonne chose, il faut aussi définir une méthode dès le départ (pour ma part, je n'ai pas été assez rigoureux dès le début, j'ai eu quelques problèmes).
Les "bases", selon moi, sont :
- déclaration de variable
- déclaration de fonction
- affectation
- appel de fonction
- flux standards d'entrée/sortie
- gestion des blocs d'instructions
- condition et boucle
A partir de là, je pense qu'on peut faire pas mal de choses.
Je tiens à signaler que j'ai 18 ans, j'ai eu mon BAC l'an dernier... donc pas la peine de se décourager, quand on veut on peut.
Pour ceux que ça intéresse, voici un exemple d'un fichier wkl::script (nom donné à mon langage) interprété :
#####
# Programme de test !
#####
nbr a=1,b=2,gh;
$echo(a,$l,b,$l);
$echo("");
si (($sqrt(4) == 2) et ("ert" == "ert")){
$echo("instruction 1",$l);
$echo("instruction 2",$l);
nbr a=2;
$echo("1: ",a,$l);
si (1 == 2) {
$echo("instruction 3",$l);
sinon
$echo("instruction 4",$l);
$echo("2: ",a,$l);
}
$echo("3: ",a,$l);
sinon
$echo("instruction 5",$l);
$echo("instruction 6",$l);
}
$echo("4: ",a,$l);
#texte banniere= "###################################";
#$echo(banniere$,$l,"# PROGRAMME DE TEST #", $l,banniere$,$l);
texte a = "pouet le moche";
texte b=a$ + ", vous êtes laid !" +$l + $entier(12.5) + "... ahah !" + $reel(15.12) + a$;
$echo("##########################",$l);
$echo("" + "b = ",b$,$l);
nbr ab=2; $echo(ab,$l);
{
nbr ab=47; $echo(ab,$l);
}
$echo(ab,$l);
texte nom=$lire("Comment vous appelez-vous ?",$l);
nbr age = $lire("Quel age avez-vous ?",$l);
$echo("Salut ",nom$,", vous avez ",$entier(age)," ans.",$l);
$echo($reel<3>(12.852));
$echo("test 1",$l,10.5%3," ","test 2",$l);
texte aa="10";
$echo ("azerty" , $l);
$echo("aa",$l);
$echo(aa$,$l);
nbr e=10*10;
$echo("Voici un truc rigolo: 2+-5 = ",2+-5,$l);
$echo (e,$l); #On affiche 'e' (100)
nbr pouet = e + 5;
nbr pipi; texte arf;
arf="salut les amis";
$echo(pouet,$l); #On affiche 'pouet' (105)
$echo(pouet+2*e,$l); #On affiche le résultat (305)
$echo(pouet,$l); #On réaffiche 'pouet' (toujours 105)
pouet = 4 ;
$echo(pouet,$l); #On réaffiche 'pouet' (4)
$echo(((5+2*2.5)*5)%30,$l); #On affiche le résultat (20)
$echo(12,$l); #On affiche 12
pipi=47.52;
$echo(pipi,$l);
$echo(15,$l);
nbr dec=0.12;
$echo(dec,$l);
$echo($tronc(dec),$l);
##### PARTIE 2
nbr ye=pouet;
$echo(ye,$l);
texte comm="Voici un joli commentaire, ah comme il est joli ce commentaire !";
$echo(comm$,$l);
$echo("Résultat de $sqrt($sqrt(16)) : ");
nbr az=$sqrt($sqrt(16));
$echo(az,$l);
$echo (arf$,$l);
Certes j'ai un peu de retard, mais je voulais réagir (pour ceux qui, comme moi, tomberaient sur ce topic par hasard).
J'ai lu vos 3 pages de coms, et je n'ai lu (pour la plupart d'entre vous) qu'un ramassis de conneries.
Quand on ne sait pas, on ne dit pas !
Je ne reprendrais pas tous les points erronés de vos réponses (trop nombreux) mais je tiens à ajouter mon grain de sel.
Pas besoin d'avoir fait 10 ans de prog ou d'être un professionel dans ce domaine : il suffit d'être un minimum curieux, motivé, et pas "con-con".
Pour ma part, je me suis tourné vers flex et bison pour créer une petite grammaire, que j'ai petit à petit approfondie.
La connaisances des expressions est une bonne chose, il faut aussi définir une méthode dès le départ (pour ma part, je n'ai pas été assez rigoureux dès le début, j'ai eu quelques problèmes).
Les "bases", selon moi, sont :
- déclaration de variable
- déclaration de fonction
- affectation
- appel de fonction
- flux standards d'entrée/sortie
- gestion des blocs d'instructions
- condition et boucle
A partir de là, je pense qu'on peut faire pas mal de choses.
Je tiens à signaler que j'ai 18 ans, j'ai eu mon BAC l'an dernier... donc pas la peine de se décourager, quand on veut on peut.
Pour ceux que ça intéresse, voici un exemple d'un fichier wkl::script (nom donné à mon langage) interprété :
#####
# Programme de test !
#####
nbr a=1,b=2,gh;
$echo(a,$l,b,$l);
$echo("");
si (($sqrt(4) == 2) et ("ert" == "ert")){
$echo("instruction 1",$l);
$echo("instruction 2",$l);
nbr a=2;
$echo("1: ",a,$l);
si (1 == 2) {
$echo("instruction 3",$l);
sinon
$echo("instruction 4",$l);
$echo("2: ",a,$l);
}
$echo("3: ",a,$l);
sinon
$echo("instruction 5",$l);
$echo("instruction 6",$l);
}
$echo("4: ",a,$l);
#texte banniere= "###################################";
#$echo(banniere$,$l,"# PROGRAMME DE TEST #", $l,banniere$,$l);
texte a = "pouet le moche";
texte b=a$ + ", vous êtes laid !" +$l + $entier(12.5) + "... ahah !" + $reel(15.12) + a$;
$echo("##########################",$l);
$echo("" + "b = ",b$,$l);
nbr ab=2; $echo(ab,$l);
{
nbr ab=47; $echo(ab,$l);
}
$echo(ab,$l);
texte nom=$lire("Comment vous appelez-vous ?",$l);
nbr age = $lire("Quel age avez-vous ?",$l);
$echo("Salut ",nom$,", vous avez ",$entier(age)," ans.",$l);
$echo($reel<3>(12.852));
$echo("test 1",$l,10.5%3," ","test 2",$l);
texte aa="10";
$echo ("azerty" , $l);
$echo("aa",$l);
$echo(aa$,$l);
nbr e=10*10;
$echo("Voici un truc rigolo: 2+-5 = ",2+-5,$l);
$echo (e,$l); #On affiche 'e' (100)
nbr pouet = e + 5;
nbr pipi; texte arf;
arf="salut les amis";
$echo(pouet,$l); #On affiche 'pouet' (105)
$echo(pouet+2*e,$l); #On affiche le résultat (305)
$echo(pouet,$l); #On réaffiche 'pouet' (toujours 105)
pouet = 4 ;
$echo(pouet,$l); #On réaffiche 'pouet' (4)
$echo(((5+2*2.5)*5)%30,$l); #On affiche le résultat (20)
$echo(12,$l); #On affiche 12
pipi=47.52;
$echo(pipi,$l);
$echo(15,$l);
nbr dec=0.12;
$echo(dec,$l);
$echo($tronc(dec),$l);
##### PARTIE 2
nbr ye=pouet;
$echo(ye,$l);
texte comm="Voici un joli commentaire, ah comme il est joli ce commentaire !";
$echo(comm$,$l);
$echo("Résultat de $sqrt($sqrt(16)) : ");
nbr az=$sqrt($sqrt(16));
$echo(az,$l);
$echo (arf$,$l);
lami20j, mon petit lami20j tu te trompe sur toute la ligne, creer son language de prog, ca peut être pour se faciliter la tache, ou se demarquer, avoir un language fait sur mesure pour tes besoin.(par exemple mon père a travaillé sur la language A avec son créateur, ils furent les deux seuls a utiliser ce très bon language, mais c'etait très pratique pour eux)
Ha, et au passage, Compulsif, je suppose(en tout cas j'espere) que tu as compris depuis le temps qu'il suffisait d'une macro pour ca, avec in switch de marco, tu peux avoir dnas les 150macro, soit 150commande au minimum(puisque tu peux mettre plusieur ocmmandes dnas la même macro) faut juste savoir les gerer
Bonjour, j'essai aussi de créer un langage de programmation simple pour les débutants. Mais je connais seulement
-html
-flash
Si vous voulez faire équipe car en groupe c'est mieux...
Si vous êtes intéresser répondez ici je suis toujours la pour voir les réponses
-html
-flash
Si vous voulez faire équipe car en groupe c'est mieux...
Si vous êtes intéresser répondez ici je suis toujours la pour voir les réponses
En groupe, c'est pas forcément mieux, non.
Moi je suis tout seul et ça me va très bien :)
Avant de te lancer dans la création d'un langage, des connaissances en flash et html ne suffisent pas, selon moi.
Il faut quand même avoir de certaines notions : maitriser la gestion de la mémoire, les entités, comparaison d'algorithmes, etc.
Je ne connais pas flash, et html n'est pas un langage de prog, donc pour ma part ça va être difficile de t'aider.
A la limite, même si ne connais pas de langage en particulier, tu peux toujours faire un brouillon pour définir ta grammaire. C'est ce que j'ai fait et implémenté dans bison.
Pour ça, seulement un peu de logique suffit. Et ca rentre un peu dans la logique XML.
Par exemple, pour utiliser un langage de prog, il faut suivre des règles (par exemple en html, le code doit être entouré des balises <html></html>). Chaque règle peut être elle-même composé de plusieurs règles.
Ca me fait penser à un exemple très frappant : DTD, et ça tombe bien si tu fais du html.
Bref, imaginons un cas très simple : le corps du fichier source.
Ce fichier, nommé par exemple "programme", doit être dans notre exemple composé d'une ou plusieurs instructions (1 instruction par ligne) ou rien (si le fichier est vide).
On peut donc schématiser, en utilisant les entités "programme", "une_instruction", "liste_des_instructions", "fin_de_ligne" :
programme = (vide) OU liste_des_instructions
liste_des_instructions = une_instruction OU une_instruction fin_de_ligne liste_des_instructions
(on utilise la récursivité pour accepter n'importe quel nombre d'instructions)
Ensuite, il suffit de définir ce quoi doit contenir la règle "une_instruction" (en décomposant chaque cas : déclaration de variable ou de fonction, appel de fonction, boucle, etc)
Une fois ce modèle établi, il faut préciser ce que tu veux faire pour chaque cas.
Je précise que la méthode que je décris là n'est qu'une méthode de parsing parmi d'autres (méthode LR(1), utilisée par bison, par défaut), c'est à dire qu'avec cette méthode, chaque token analysé dépend du précédent (on avance à un pas de 1).
Bref, tout ça pour dire qu'il ne faut pas non plus se lancer à l'aveuglette, il y a pas mal de boulot derrière, en plus il faut ensuite se décider sur la méthode de création : langage interprété ? compilé directement ? converti dans un langage compilable puis compilé ? etc...
Mais je répète que ce n'est pas innaccissble, pour ma part il m'a fallut moins de 2 semaines pour "apprendre" tout ça.
A titre d'exemple, voici un modèle structurel d'un code, il est vieux, moche et foireux (sous bison par exemple, il ne passe pas (trop d'erreurs)), mais je l'avais fait au début sur papier, avant de coder quoi que ce soit :
/************************************************************
Valeurs
************************************************************/
value : exp
| string
;
/* Chaines de caractères */
string : QSTRING
| VARNAME ASTRING
| id_string
| call_fct
| string PLUS string
;
id_string : STRING_EOL
;
/* Expressions numériques */
exp : INT
| FLOAT
| VARNAME
| call_fct
| exp PLUS exp
| exp MOINS exp
| exp MULT exp
| exp DIV exp
| exp MOD exp
| exp POW exp
| PAR_O exp PAR_F
| MOINS exp %prec MOINS
| exp OR exp
| exp AND exp
| exp IS_EQUAL exp
| exp IS_LE exp
| exp IS_GE exp
| exp MINUS exp
| exp MAXUS exp
| exp IS_NOT_EQUAL exp
;
/************************************************************
Appels de fonctions
************************************************************/
call_fct : FCT PAR_O list_call_param PAR_F
;
list_call_param : value
| value EOP list_call_param
;
/************************************************************
Affectations
************************************************************/
affect : VARNAME AFFECT value
;
/************************************************************
Déclarations
************************************************************/
type : NBR
| TEXT
;
/* Déclarations de variables */
dec_var : type list_dec_var
;
list_dec_var : VARNAME
| VARNAME EOP list_dec_var
| affect
| affect EOP list_dec_var
;
/* Déclarations de fonctions */
dec_fct : type VARNAME PAR_O list_dec_param PAR_F
;
list_dec_param : type VARNAME
| type VARNAME EOP list_dec_param
;
/************************************************************
Programme
************************************************************/
porgram : list_instr
;
/* Ensemble des instructions */
list_instr : eol
| eol instr list_instr
;
eol : /*VIDE*/
| EOL eol
;
/* Liste des instructions élémentaires */
instr : dec_var EOI
| dec_fct EOI
| affect EOI
| call_fct EOI
| ACC_O list_instr ACC_F
| if
| if ELSE ACC_O list_instr ACC_F
| TANTQUE PAR_O list_cond PAR_F ACC_O list_instr ACC_F
| POUR ACC_O affect EOI list_cond EOI instr PAR_F ACC_O list_instr ACC_F
if : IF PAR_O list_cond PAR_F ACC_O list_instr ACC_F
;
list_cond : exp
| string IS_EQUAL string
;
Moi je suis tout seul et ça me va très bien :)
Avant de te lancer dans la création d'un langage, des connaissances en flash et html ne suffisent pas, selon moi.
Il faut quand même avoir de certaines notions : maitriser la gestion de la mémoire, les entités, comparaison d'algorithmes, etc.
Je ne connais pas flash, et html n'est pas un langage de prog, donc pour ma part ça va être difficile de t'aider.
A la limite, même si ne connais pas de langage en particulier, tu peux toujours faire un brouillon pour définir ta grammaire. C'est ce que j'ai fait et implémenté dans bison.
Pour ça, seulement un peu de logique suffit. Et ca rentre un peu dans la logique XML.
Par exemple, pour utiliser un langage de prog, il faut suivre des règles (par exemple en html, le code doit être entouré des balises <html></html>). Chaque règle peut être elle-même composé de plusieurs règles.
Ca me fait penser à un exemple très frappant : DTD, et ça tombe bien si tu fais du html.
Bref, imaginons un cas très simple : le corps du fichier source.
Ce fichier, nommé par exemple "programme", doit être dans notre exemple composé d'une ou plusieurs instructions (1 instruction par ligne) ou rien (si le fichier est vide).
On peut donc schématiser, en utilisant les entités "programme", "une_instruction", "liste_des_instructions", "fin_de_ligne" :
programme = (vide) OU liste_des_instructions
liste_des_instructions = une_instruction OU une_instruction fin_de_ligne liste_des_instructions
(on utilise la récursivité pour accepter n'importe quel nombre d'instructions)
Ensuite, il suffit de définir ce quoi doit contenir la règle "une_instruction" (en décomposant chaque cas : déclaration de variable ou de fonction, appel de fonction, boucle, etc)
Une fois ce modèle établi, il faut préciser ce que tu veux faire pour chaque cas.
Je précise que la méthode que je décris là n'est qu'une méthode de parsing parmi d'autres (méthode LR(1), utilisée par bison, par défaut), c'est à dire qu'avec cette méthode, chaque token analysé dépend du précédent (on avance à un pas de 1).
Bref, tout ça pour dire qu'il ne faut pas non plus se lancer à l'aveuglette, il y a pas mal de boulot derrière, en plus il faut ensuite se décider sur la méthode de création : langage interprété ? compilé directement ? converti dans un langage compilable puis compilé ? etc...
Mais je répète que ce n'est pas innaccissble, pour ma part il m'a fallut moins de 2 semaines pour "apprendre" tout ça.
A titre d'exemple, voici un modèle structurel d'un code, il est vieux, moche et foireux (sous bison par exemple, il ne passe pas (trop d'erreurs)), mais je l'avais fait au début sur papier, avant de coder quoi que ce soit :
/************************************************************
Valeurs
************************************************************/
value : exp
| string
;
/* Chaines de caractères */
string : QSTRING
| VARNAME ASTRING
| id_string
| call_fct
| string PLUS string
;
id_string : STRING_EOL
;
/* Expressions numériques */
exp : INT
| FLOAT
| VARNAME
| call_fct
| exp PLUS exp
| exp MOINS exp
| exp MULT exp
| exp DIV exp
| exp MOD exp
| exp POW exp
| PAR_O exp PAR_F
| MOINS exp %prec MOINS
| exp OR exp
| exp AND exp
| exp IS_EQUAL exp
| exp IS_LE exp
| exp IS_GE exp
| exp MINUS exp
| exp MAXUS exp
| exp IS_NOT_EQUAL exp
;
/************************************************************
Appels de fonctions
************************************************************/
call_fct : FCT PAR_O list_call_param PAR_F
;
list_call_param : value
| value EOP list_call_param
;
/************************************************************
Affectations
************************************************************/
affect : VARNAME AFFECT value
;
/************************************************************
Déclarations
************************************************************/
type : NBR
| TEXT
;
/* Déclarations de variables */
dec_var : type list_dec_var
;
list_dec_var : VARNAME
| VARNAME EOP list_dec_var
| affect
| affect EOP list_dec_var
;
/* Déclarations de fonctions */
dec_fct : type VARNAME PAR_O list_dec_param PAR_F
;
list_dec_param : type VARNAME
| type VARNAME EOP list_dec_param
;
/************************************************************
Programme
************************************************************/
porgram : list_instr
;
/* Ensemble des instructions */
list_instr : eol
| eol instr list_instr
;
eol : /*VIDE*/
| EOL eol
;
/* Liste des instructions élémentaires */
instr : dec_var EOI
| dec_fct EOI
| affect EOI
| call_fct EOI
| ACC_O list_instr ACC_F
| if
| if ELSE ACC_O list_instr ACC_F
| TANTQUE PAR_O list_cond PAR_F ACC_O list_instr ACC_F
| POUR ACC_O affect EOI list_cond EOI instr PAR_F ACC_O list_instr ACC_F
if : IF PAR_O list_cond PAR_F ACC_O list_instr ACC_F
;
list_cond : exp
| string IS_EQUAL string
;
ouahidiyounes
Messages postés
10
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
17 mars 2010
1
24 déc. 2009 à 15:17
24 déc. 2009 à 15:17
oui c'est totalement possible mon amie
mais c vraiment dure et il te faut 5 ans de travail c pas un petit logiciel:
1 - chercher sur la configuration d'un compilateur (comme devcpp) mais vraiment c pas pro alors il faut que tu développe un nouveau
un compilateur c'est le coeur du votre logiciel (il transforme votre langage en langage machine 'binaire').
2 - tu doit creer un analyseur syntaxique c un dexieme logiciel qui connais votre language (la gestion des syntaxes, les erreurs, etc..)
il connais les syntaxe des boucles et des conditions.
il connais les erreurs (par exemple "multiplier un string avec int")
3 - creer l'interface de votre logiciel comme par exemple 'visual studio ou nodepad++ etc..)
mais je te conseil te travailler premièrement sur un "langage console" comme "algorithme de turbo pascal.
et bon courage.
mais c vraiment dure et il te faut 5 ans de travail c pas un petit logiciel:
1 - chercher sur la configuration d'un compilateur (comme devcpp) mais vraiment c pas pro alors il faut que tu développe un nouveau
un compilateur c'est le coeur du votre logiciel (il transforme votre langage en langage machine 'binaire').
2 - tu doit creer un analyseur syntaxique c un dexieme logiciel qui connais votre language (la gestion des syntaxes, les erreurs, etc..)
il connais les syntaxe des boucles et des conditions.
il connais les erreurs (par exemple "multiplier un string avec int")
3 - creer l'interface de votre logiciel comme par exemple 'visual studio ou nodepad++ etc..)
mais je te conseil te travailler premièrement sur un "langage console" comme "algorithme de turbo pascal.
et bon courage.
"Salut,
Certes j'ai un peu de retard, mais je voulais réagir (pour ceux qui, comme moi, tomberaient sur ce topic par hasard).
J'ai lu vos 3 pages de coms, et je n'ai lu (pour la plupart d'entre vous) qu'un ramassis de conneries. "
===> OUEP, tu as tout a fait raison. Franchement, ce sont des gens qui ont du temps a perdre, ou bien qui connaissent un ou deux language, pensant tout savoir vient se laminer sur le premier qui pose une question anodine. ;)
Sinon moi, je cherche une réponse pour ma culture général (ce que les pauv' gars qui ont répondu, n'ont surement pas).
Par ou démarrer ? Comment démarrer pour créer un langage totalement indépendant (et non un framework comme PHP l'était) ? Tout se passe ou ? J'aimerai bien avoir une réponse claire.
Certes j'ai un peu de retard, mais je voulais réagir (pour ceux qui, comme moi, tomberaient sur ce topic par hasard).
J'ai lu vos 3 pages de coms, et je n'ai lu (pour la plupart d'entre vous) qu'un ramassis de conneries. "
===> OUEP, tu as tout a fait raison. Franchement, ce sont des gens qui ont du temps a perdre, ou bien qui connaissent un ou deux language, pensant tout savoir vient se laminer sur le premier qui pose une question anodine. ;)
Sinon moi, je cherche une réponse pour ma culture général (ce que les pauv' gars qui ont répondu, n'ont surement pas).
Par ou démarrer ? Comment démarrer pour créer un langage totalement indépendant (et non un framework comme PHP l'était) ? Tout se passe ou ? J'aimerai bien avoir une réponse claire.
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
8 janv. 2010 à 09:09
8 janv. 2010 à 09:09
Il suffit de lire la réponse 4 donnée en 2005: https://forums.commentcamarche.net/forum/affich-1921275-comment-creer-un-langage-de-programmation?entiere#4
Tous les langages de programmation sont basés sur ces outils.
https://fr.wikipedia.org/wiki/Compilateur_de_compilateur
lex/yacc ou flex/bison sont typiquement les outils utilisés pour créer des langages de programmation.
Avant d'insulter les "pauv' gars", commencez par lire les réponses qui ont été données (et qui répondent déjà à la question) et prendre deux minutes pour faire une petite recherche et un peu de lecture (c'était trop dur de chercher lex/yacc sur Google ? Visiblement oui puisque j'ai dû vous copier-coller le lien vers Wikipedia).
Tous les langages de programmation sont basés sur ces outils.
https://fr.wikipedia.org/wiki/Compilateur_de_compilateur
lex/yacc ou flex/bison sont typiquement les outils utilisés pour créer des langages de programmation.
Avant d'insulter les "pauv' gars", commencez par lire les réponses qui ont été données (et qui répondent déjà à la question) et prendre deux minutes pour faire une petite recherche et un peu de lecture (c'était trop dur de chercher lex/yacc sur Google ? Visiblement oui puisque j'ai dû vous copier-coller le lien vers Wikipedia).
ouahidiyounes
Messages postés
10
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
17 mars 2010
1
17 mars 2010 à 10:59
17 mars 2010 à 10:59
si vous voulez des cours de flex et bison ou lex et yacc je peut te les donne avec plaisir mon ga
on sais que sais comca mais on ne va pas dir a notre amie qui début dans le dommaine de lire ca
ce sont des compilateur base sur le language d'assemblage qui transfer en direct les instruction donner en binaire
une autre fois je te consai mon amie de lire le modèle de compilation de 4eme année de ingénieure en informatique c pour débuter de créer un petit langage console
je te consai de ne pas entendu se que dise ses gent par ce que se sont des débutants il voyant que sais impossible et bla bla, par ce que le php a débuter par un test comca
et je crois que si ta demander sa a un informaticien (mathématicien) il va te dire c possible
et je crois que si bill gates a rencontrer comme ses gent on n'aurai pas l'honneur de connaitre MICROSOFT et GOOGLE et SUN et ADOBE etc...
il posant des question sur comment créer un moteur de recherche ils ont disse aussi que sais impossible et oublie ca (hhhhhhhhhhhhhhhhh)
se site s'appelle comment ca marche ca veut dire si on sais comment ca marche on répond sinon pas besoin de dire que sais impossible (pardonner moi pour ma francais je prefaire l'anglais)
en parlant de l'anglais si tu cherche avec tu trouve se que tu veux.
bon courage
on sais que sais comca mais on ne va pas dir a notre amie qui début dans le dommaine de lire ca
ce sont des compilateur base sur le language d'assemblage qui transfer en direct les instruction donner en binaire
une autre fois je te consai mon amie de lire le modèle de compilation de 4eme année de ingénieure en informatique c pour débuter de créer un petit langage console
je te consai de ne pas entendu se que dise ses gent par ce que se sont des débutants il voyant que sais impossible et bla bla, par ce que le php a débuter par un test comca
et je crois que si ta demander sa a un informaticien (mathématicien) il va te dire c possible
et je crois que si bill gates a rencontrer comme ses gent on n'aurai pas l'honneur de connaitre MICROSOFT et GOOGLE et SUN et ADOBE etc...
il posant des question sur comment créer un moteur de recherche ils ont disse aussi que sais impossible et oublie ca (hhhhhhhhhhhhhhhhh)
se site s'appelle comment ca marche ca veut dire si on sais comment ca marche on répond sinon pas besoin de dire que sais impossible (pardonner moi pour ma francais je prefaire l'anglais)
en parlant de l'anglais si tu cherche avec tu trouve se que tu veux.
bon courage
DrNitro
Messages postés
681
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
5 janvier 2015
99
30 mars 2014 à 16:36
30 mars 2014 à 16:36
<tr> <lol>
Ah non La "Grande rigueur dans la syntaxe et la grammaire" y'a pas de doute c'est l'Allemand
pour les expert y'a bien le langage SMS mais l'absence de grammaire et de rigueur dans la syntaxe le rend très difficile d'accès, c'est bien pour cela qu'il est utilisé pour crypter des télécommunications imperméables a la surveillance même de la cia!!!
</tr> </lol>
Ah non La "Grande rigueur dans la syntaxe et la grammaire" y'a pas de doute c'est l'Allemand
pour les expert y'a bien le langage SMS mais l'absence de grammaire et de rigueur dans la syntaxe le rend très difficile d'accès, c'est bien pour cela qu'il est utilisé pour crypter des télécommunications imperméables a la surveillance même de la cia!!!
</tr> </lol>
Bon, je suis en retard mais j'ai une réponse :
Un langage entier et un compilateur, si tu n'est pas super calé en informatique, c'est possible, mais c'est long... très long. Preuve en est que j'ai essayé.
Ce qui est faisable beaucoup plus facilement c'est de créer ton langage en te basant sur un langage existant : C/C++ notament. Tu définis une syntaxe particulière à ton langage et tu crée un simple programme en C/C++ qui te servira d'éditeur, de parser (remplacer les expressions de ton langage par celles du C/C++ => regarde du coté des expression régulières REGEX) et qui compilera le C/C++.
Bonne Chance pour la suite !
Un langage entier et un compilateur, si tu n'est pas super calé en informatique, c'est possible, mais c'est long... très long. Preuve en est que j'ai essayé.
Ce qui est faisable beaucoup plus facilement c'est de créer ton langage en te basant sur un langage existant : C/C++ notament. Tu définis une syntaxe particulière à ton langage et tu crée un simple programme en C/C++ qui te servira d'éditeur, de parser (remplacer les expressions de ton langage par celles du C/C++ => regarde du coté des expression régulières REGEX) et qui compilera le C/C++.
Bonne Chance pour la suite !
Utilisateur anonyme
11 juin 2010 à 16:43
11 juin 2010 à 16:43
Tu veut des conseil sur la syntaxe ou sur comment t'y prendre pour le créer ? Je suppose que tu sais comment t'y prendre mais sinon... :
Le principe d'un langage de programmation c'est de faire un langage compréhensible par le programmateur, mais ça n'ai pas lisible directement par la machine il faut un compilateur qui traduit le langage de programmation en langage machine.
(je sais, tout le monde sais ça. Vous énerver pas je vous prend pas pour des débile ! j'explique pour les débutant qui sont curieux ).
Donc pour créer ton langage de programmation... il faut créer ton compilateur !
Il faut qu'il soit programmer:
-soit en binaire (bonne chance ;) )
-soit en ASM [Assembleur] (c'est plus raisonnable) :
https://fr.wikipedia.org/wiki/Assembleur
Quelques tuto sympa :
https://asm.developpez.com/cours/
Bonne chance !
Le principe d'un langage de programmation c'est de faire un langage compréhensible par le programmateur, mais ça n'ai pas lisible directement par la machine il faut un compilateur qui traduit le langage de programmation en langage machine.
(je sais, tout le monde sais ça. Vous énerver pas je vous prend pas pour des débile ! j'explique pour les débutant qui sont curieux ).
Donc pour créer ton langage de programmation... il faut créer ton compilateur !
Il faut qu'il soit programmer:
-soit en binaire (bonne chance ;) )
-soit en ASM [Assembleur] (c'est plus raisonnable) :
https://fr.wikipedia.org/wiki/Assembleur
Quelques tuto sympa :
https://asm.developpez.com/cours/
Bonne chance !
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
11 juin 2010 à 16:53
11 juin 2010 à 16:53
dans la mesure ou ton compilateur est un programme, qui tu vas créer depuis un autre langage de programmation, tu peux bien le faire en n'importe quel langage. Par contre, ton compilo devra générer de l'ASM, du binaire, ou du C++, enfin un langage plus proche de la machien que celui que tu utilises. Rien ne t'empèche de faire un "compilo" qui te génèrera du code C par exemple, et ensuite tu fera passer un compilo C pour finir le travail.
Un langage est "abouti" lorsque tu aura créé un compilo programmé dans ce meme langage... bref, quand il se suffit entièrement à lui meme et n'est plus dépendant d'un compilateur écrit dans un langage tiers... mais bon, on peut très bien créer le langage nabla++ ayant un compilateur en C
Un langage est "abouti" lorsque tu aura créé un compilo programmé dans ce meme langage... bref, quand il se suffit entièrement à lui meme et n'est plus dépendant d'un compilateur écrit dans un langage tiers... mais bon, on peut très bien créer le langage nabla++ ayant un compilateur en C
ThyB45
Messages postés
9
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
11 juin 2010
11 juin 2010 à 22:33
11 juin 2010 à 22:33
Pour faire un langage de programmation, il y a plusieurs manière de s'y prendre.
Mais bon déjà faudrait qu'il y ai une utilité à faire de nouveau langage donc lance toi pas dans un projet comme ca sans avoir un but réel, c'est très long.
Donc déjà pour faire un langage faut que tu définisse la grammaire du langage. Apres il y a plusieurs type de langage:
Langage interprété (type bash) : ta un logiciel (interpréteur) qui lis le code source de ton programme écrit dans ton nouveau langage, et le programme va juste exécuter se que demande de faire ton programme suivant la grammaire que tu lui auras donnée
Langage compilé (type c/c++) : ta un logiciel (compilateur) qui lis le code source de ton programme écrit dans ton nouveau langage et va le transformé en passant par plein d'étape en langage assembleur. le langage assembleur est pas du tout portable (c'est pour sa que quand tu passe de windows a linux, t obligé de recompilé ton programme), donc faut que ton programme soit assez souple pour pouvoir supporter plusieurs format de sortie pour les différentes architectures. Si tu regarde gcc, il supporte énormément de langage de sortie.
Langage semi-compilé (type java/C#) : ta un espèce de compilateur qui va transformer ton langage de départ en un langage encore portable mais pas exécutable directement par la machine. c'est pour sa que pour lancer un programme java, ta besoin d'installé le jre, il faut passé par une vm qui exécutera le code semi compilé.
Pour faire un nouveau langage, il suffit de faire sont compilateur/interpreteur associé. pour en faire un, regarde du coté des parser et des ast, t'en aura besoin :)
Mais bon déjà faudrait qu'il y ai une utilité à faire de nouveau langage donc lance toi pas dans un projet comme ca sans avoir un but réel, c'est très long.
Donc déjà pour faire un langage faut que tu définisse la grammaire du langage. Apres il y a plusieurs type de langage:
Langage interprété (type bash) : ta un logiciel (interpréteur) qui lis le code source de ton programme écrit dans ton nouveau langage, et le programme va juste exécuter se que demande de faire ton programme suivant la grammaire que tu lui auras donnée
Langage compilé (type c/c++) : ta un logiciel (compilateur) qui lis le code source de ton programme écrit dans ton nouveau langage et va le transformé en passant par plein d'étape en langage assembleur. le langage assembleur est pas du tout portable (c'est pour sa que quand tu passe de windows a linux, t obligé de recompilé ton programme), donc faut que ton programme soit assez souple pour pouvoir supporter plusieurs format de sortie pour les différentes architectures. Si tu regarde gcc, il supporte énormément de langage de sortie.
Langage semi-compilé (type java/C#) : ta un espèce de compilateur qui va transformer ton langage de départ en un langage encore portable mais pas exécutable directement par la machine. c'est pour sa que pour lancer un programme java, ta besoin d'installé le jre, il faut passé par une vm qui exécutera le code semi compilé.
Pour faire un nouveau langage, il suffit de faire sont compilateur/interpreteur associé. pour en faire un, regarde du coté des parser et des ast, t'en aura besoin :)
Funds84
Messages postés
1
Date d'inscription
dimanche 17 novembre 2013
Statut
Membre
Dernière intervention
17 novembre 2013
17 nov. 2013 à 20:35
17 nov. 2013 à 20:35
Salut a tous je m'appelle funds84 je suis en 5eme, j'adore coder (j'essaie de faire des mods ) et je suis fort en informatique.
Comme certains moteurs de jeux sont trops complexes (blender) j'aimerait créer mon language puis mon moteur de jeu qui sera plus simple.
Merci de m'aider ;)
Funds84
Comme certains moteurs de jeux sont trops complexes (blender) j'aimerait créer mon language puis mon moteur de jeu qui sera plus simple.
Merci de m'aider ;)
Funds84
Ben c possible de le faire:
- Tu chire un doctorat, idéale, c'est de la recherche!!
Puis je crois qu'avec langage xml, tu as la possiblité de t'en faire un
- Tu chire un doctorat, idéale, c'est de la recherche!!
Puis je crois qu'avec langage xml, tu as la possiblité de t'en faire un
jcodeunpeu
Messages postés
365
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
2 décembre 2006
6
17 nov. 2005 à 05:48
17 nov. 2005 à 05:48
ah ouais, je pensais pas,
ouais mais bon, ou alors y faut un bon docteur non ?
ouais mais bon, ou alors y faut un bon docteur non ?
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
17 nov. 2005 à 09:10
17 nov. 2005 à 09:10
Pour créer un langage, voir du côté des 2 outils classiques: Lexx et Yacc (ou leurs dérivés).
--> voir google.
--> voir google.
Salut,
bien pour la création d'un language de programmation il te faut créer un syntaxe, un compilateur et un editeur de code
Syntaxe : La forme du code et la façon avec la quelle en ecrir avec ton language
Editeur de code : C'est le programme qui sert à ecrire t*avec ton language, et qui peut (et c'est en options) de corriger les fautes de syntaxe
Compilateur : C'est un autre programme qui va traduire ton code ecrit a l'aide de l'editeur en bytes = 1 & 0
bien pour la création d'un language de programmation il te faut créer un syntaxe, un compilateur et un editeur de code
Syntaxe : La forme du code et la façon avec la quelle en ecrir avec ton language
Editeur de code : C'est le programme qui sert à ecrire t*avec ton language, et qui peut (et c'est en options) de corriger les fautes de syntaxe
Compilateur : C'est un autre programme qui va traduire ton code ecrit a l'aide de l'editeur en bytes = 1 & 0
kouki1000
Messages postés
108
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
5 novembre 2010
9
11 juin 2010 à 17:42
11 juin 2010 à 17:42
Pas confondre bytes et bits! 1 Byte = un octet = 8 bits (huit 0 ou 1) ! Un bit, lui en revanche n'est constitué que d'une valeur binaire (ou booléenne pour les adeptes de la programmation), 0 ou 1.
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
11 juin 2010 à 18:07
11 juin 2010 à 18:07
histoire de mettre mon grain de sable:
1 byte n'est pas (forcement) un octet. Un byte est un ensemble de bits. Si votre processeur travaille avec des instructions en 9 bits, 1 byte = 9 bits .... il y a une légère différence peu connue et qui n'est plus forcement d'actualité.
et quant au post d'odin: meme si tu crées un langage, t'es pas du tout obligé de créer un editeur de code: pour la pluspart des langages un simple editeur de texte suffit! (pour les langages graphiques, c'est différent)
1 byte n'est pas (forcement) un octet. Un byte est un ensemble de bits. Si votre processeur travaille avec des instructions en 9 bits, 1 byte = 9 bits .... il y a une légère différence peu connue et qui n'est plus forcement d'actualité.
et quant au post d'odin: meme si tu crées un langage, t'es pas du tout obligé de créer un editeur de code: pour la pluspart des langages un simple editeur de texte suffit! (pour les langages graphiques, c'est différent)
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
4 oct. 2006 à 16:49
4 oct. 2006 à 16:49
Pour faire suite à Odin.
L'éditeur je ne pense pas que cela soit obligatoire.
Le premier pas, c'est en effet de créer la syntaxe, les spécifications etc...
Mais pour que cela est de l'intéret, il faut que ce langage est un intéret particulier par rapport à ceux existant. Soit en révolutionnant la façon de programmer (genre prog objet) soit en ayant des avantage de portabilité (Java?) et d'utilisation (prog super facile pour interface graphique ou utilisation joystick etc.) soit tout autre chose.
Moi je verrai un bien un langage qui gère nickel chrome les exeptions sans que l'utilisateur n'ai besoin de s'en chargé. (try catch fastidieux)
ensuite, il ne reste plus qu'a faire le compilateur qui va avec.
L'éditeur je ne pense pas que cela soit obligatoire.
Le premier pas, c'est en effet de créer la syntaxe, les spécifications etc...
Mais pour que cela est de l'intéret, il faut que ce langage est un intéret particulier par rapport à ceux existant. Soit en révolutionnant la façon de programmer (genre prog objet) soit en ayant des avantage de portabilité (Java?) et d'utilisation (prog super facile pour interface graphique ou utilisation joystick etc.) soit tout autre chose.
Moi je verrai un bien un langage qui gère nickel chrome les exeptions sans que l'utilisateur n'ai besoin de s'en chargé. (try catch fastidieux)
ensuite, il ne reste plus qu'a faire le compilateur qui va avec.
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
4 oct. 2006 à 17:15
4 oct. 2006 à 17:15
OU ca un try/catch fastidieux?? ca n'est jamais fastidieux, et tu pourrais tout aussi bien chosir d'ignorer les exceptions, menfin cela permet quand meme de savoir ou ca plante si ca plante ( serveur introuvable,fichier inexistant ) . après sinon ca devient un programme intelligent.
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
5 oct. 2006 à 08:41
5 oct. 2006 à 08:41
et pourquoi pas ?
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
8 août 2011 à 14:41
8 août 2011 à 14:41
En fait, mon idée (que j'ai peut être mal exprimé ici ou de manière réduite) existe et est aparemment opérationnel. Comme quoi elle n'était pas si conne. C'est la programmation orienté aspect : http://web-serv.univ-angers.fr/docs/etudquassi/MP09_10.pdf
ça permet de séparer la partie "utile" du code de la gestion des erreurs.
ça permet de séparer la partie "utile" du code de la gestion des erreurs.
zaabour
Messages postés
18
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
15 février 2010
1
19 janv. 2007 à 20:16
19 janv. 2007 à 20:16
Salut !!
1èrement : webert, je te salut pour penser à ça !
2èmement : flowerpower, Char Snipeur a raison !
3èmemnet : C'est simple de parler mais C'est dur de faire, webert pour débuter ton long trajet je te conseille un petit raccourci. Essaye de voir les codes sources des languages "GNU/GPL" comme PHP par exemple !
Tu veux l'innovation !? Ok c pas mal ! Essaye ce que je suis entrain de faire (encore sous conception :p) ! Tout simplement enguage toi de créer le premier language de programmation avec une syntaxe en français !! moi j'essaye de le faire mais en arabe :)
On peut faire une équipe :p ! et n'oubli jamais qu'il faut perdre le match plusieurs fois avant de gagner !!
à vous de jouer !!
1èrement : webert, je te salut pour penser à ça !
2èmement : flowerpower, Char Snipeur a raison !
3èmemnet : C'est simple de parler mais C'est dur de faire, webert pour débuter ton long trajet je te conseille un petit raccourci. Essaye de voir les codes sources des languages "GNU/GPL" comme PHP par exemple !
Tu veux l'innovation !? Ok c pas mal ! Essaye ce que je suis entrain de faire (encore sous conception :p) ! Tout simplement enguage toi de créer le premier language de programmation avec une syntaxe en français !! moi j'essaye de le faire mais en arabe :)
On peut faire une équipe :p ! et n'oubli jamais qu'il faut perdre le match plusieurs fois avant de gagner !!
à vous de jouer !!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
>
Mohamed Amine
9 avril 2007 à 13:27
9 avril 2007 à 13:27
Salut,
moi chui en 2eme année ingeniaurat informatique et jme poser la meme question est-ce qu'on peut créer son language de progamation?
Je ne veux pas être méchant :-), mais d'après toi, les langages qui existent ont été crée par qui?!
Bien sûr que c'est possible. La question sera peut être comment le créer et ça ne sera pas suffisant. Il faudra aussi qu'il soit reconnu et ensuite utilisé.
Perso je crois qu'il y a trop des langages. Si tu veux créer encore un, essaie de le faire meilleur que les autres.
Tu peux poser la question à Brian Kernighan ou Dennis Ritchie, ou Larry Wall
Si je comprends bien, bientôt tu seras ingénieur, alors au boulot :-))), la société a besoin des bons ingénieurs :-)
Bonne chance.
moi chui en 2eme année ingeniaurat informatique et jme poser la meme question est-ce qu'on peut créer son language de progamation?
Je ne veux pas être méchant :-), mais d'après toi, les langages qui existent ont été crée par qui?!
Bien sûr que c'est possible. La question sera peut être comment le créer et ça ne sera pas suffisant. Il faudra aussi qu'il soit reconnu et ensuite utilisé.
Perso je crois qu'il y a trop des langages. Si tu veux créer encore un, essaie de le faire meilleur que les autres.
Tu peux poser la question à Brian Kernighan ou Dennis Ritchie, ou Larry Wall
Si je comprends bien, bientôt tu seras ingénieur, alors au boulot :-))), la société a besoin des bons ingénieurs :-)
Bonne chance.
preityzinta
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
21 oct. 2008 à 15:12
21 oct. 2008 à 15:12
enfin quelqu'un de sensé !
les gens qui se moquent de ce genre de question sont totalement débiles ! les langages de programation n'ont pas été inventés par des aliens !
les gens qui se moquent de ce genre de question sont totalement débiles ! les langages de programation n'ont pas été inventés par des aliens !
Personnellement, je ne suis pas sûr qu'il soit réellement possible d'atteindre un aussi haut degré d'ultimité(nom qui vient de ultime ?) que celui du C++. Ce langage est tout simplement parfait, et même si il manquait quelquechose, il serait rajouté par la suite, tout simplement parce qu'étant le langage le plus utilisé pour les projets CONSEQUANTS (je ne parle pas des jeux sur navigateur), il a droit a l'équipe d'intellectuels les plus performants en la matière. Ce langage, à moins qu'un certain Albert Einstein 2 naisse, est et restera toujours au TOP.
Tout ça pour ça. ><
Tout ça pour ça. ><
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
19 janv. 2007 à 20:38
19 janv. 2007 à 20:38
Salut,
pour webert
comment creer un langage de programmation webert (mercredi 16 novembre 2005 à 21:00:00)
Aujoud'hui le 19 janvier 2007, tu en est où avec ton projet?!
pour webert
comment creer un langage de programmation webert (mercredi 16 novembre 2005 à 21:00:00)
Aujoud'hui le 19 janvier 2007, tu en est où avec ton projet?!
zaabour
Messages postés
18
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
15 février 2010
1
20 janv. 2007 à 10:35
20 janv. 2007 à 10:35
Bonjour !
webert, n'oublie jamais que le kilomètre commence avec un pas !
:)
webert, n'oublie jamais que le kilomètre commence avec un pas !
:)
Ben c'est parfait, on y est presque!
voici un petit forum pour vous aider: http://www.forums-altamesoft.c.la
voici un petit forum pour vous aider: http://www.forums-altamesoft.c.la
je croix que c'est fesable, tout de même le langage "Python" utilisé pour le développement du llogiciel libre de conception 3D "blender" a été créé en C
Je viens juste de m'y mettre je travaille sur un language d'automatisation en français en Borland Delphi
son but
au biais de ligne de code
créer une application qui simule le clavier souris et autre pour qu'après
les chose les plus fréquemment faite par l'utilisateur soit en un racourci éxécuter
un telle projet et déjà en cours mais en C++
je précise que je suis tous se qu'il y a de plus débutant et pourtant je te dirais
tu veux créer un language de programmation controle déjà un style (basic, delphie, cpp, asm...et bien d'autre)
et base toi sur ton language (basic, delphie, cpp, asm...)pour créer le tiens
son but
au biais de ligne de code
créer une application qui simule le clavier souris et autre pour qu'après
les chose les plus fréquemment faite par l'utilisateur soit en un racourci éxécuter
un telle projet et déjà en cours mais en C++
je précise que je suis tous se qu'il y a de plus débutant et pourtant je te dirais
tu veux créer un language de programmation controle déjà un style (basic, delphie, cpp, asm...et bien d'autre)
et base toi sur ton language (basic, delphie, cpp, asm...)pour créer le tiens
salut tout le monde !
On pourrait me dire comment on fait pour faire bouger un contrôle avec un bouton du clavier ?
Merci d avance ! (chu qu un debutant, je viens a peine de commencer .)
On pourrait me dire comment on fait pour faire bouger un contrôle avec un bouton du clavier ?
Merci d avance ! (chu qu un debutant, je viens a peine de commencer .)
Petite correction sur ce qui a été dis plus haut : il existe des langages entièrement en français : WINDEV !
( qui en un click peut convertir toute la syntaxe en anglais : rien de plus pratique ! )
( qui en un click peut convertir toute la syntaxe en anglais : rien de plus pratique ! )
serieux
c'est cool çà
si c'est le cas ou peut ton télécharger se petit bijou stp
sa me seras bien utile de comprendre se language pour mon projet
merci pour l'info
c'est cool çà
si c'est le cas ou peut ton télécharger se petit bijou stp
sa me seras bien utile de comprendre se language pour mon projet
merci pour l'info
Aprés les vaccances, plus que deux personnes travail sur le projet, tout le monde à préféré la plage et les belle nans, alors on a besoin de participants, veillez passer sur le site http://www.forums-altamesoft.c.la pour poster vos CV et voir ce qu'on peux faire ensemble!
N.B : C'est pas important que vous soyez un pro de la programmation, l'essentiel c'est de bien vouloir aider les autres à apprendre, que le projet boot ou non, c'est pas important, mais quand meme on va apprendre.
Si vous voulez travailler sur un nouveau OS, vous êtes les bienvenues!!
N.B : C'est pas important que vous soyez un pro de la programmation, l'essentiel c'est de bien vouloir aider les autres à apprendre, que le projet boot ou non, c'est pas important, mais quand meme on va apprendre.
Si vous voulez travailler sur un nouveau OS, vous êtes les bienvenues!!
Le plus simple:
Creer un language exportant en Batch
-Tu crees un fichier Liste des comandes.txt contenant par exemple
Changer de titre de fenetre= Titre (Syntaxe =Titre [TITRE])
-Tu telecharges switch.exe que tu places dans le dossier de Liste des commandes.txt
http://powerusers.info/modules.php?op=modload&name=Downloads&file=index&req=getit&lid=5
-Tu crees editeur.txt ou tu ecris:
@echo off
edit 1.[extension du language]
exit
-Tu le renomme en editeur.bat
-Tu crees Compilateur.txt
tu ecris:
@echo off
switch "1.[extension du language]" "Titre" Title
ren "1.[extension du language]" 1.bat
exit
-Tu le rennome en Compilateur.bat
Et voila tu peut mettre des titres dans un batch !!!
A adapter
Creer un language exportant en Batch
-Tu crees un fichier Liste des comandes.txt contenant par exemple
Changer de titre de fenetre= Titre (Syntaxe =Titre [TITRE])
-Tu telecharges switch.exe que tu places dans le dossier de Liste des commandes.txt
http://powerusers.info/modules.php?op=modload&name=Downloads&file=index&req=getit&lid=5
-Tu crees editeur.txt ou tu ecris:
@echo off
edit 1.[extension du language]
exit
-Tu le renomme en editeur.bat
-Tu crees Compilateur.txt
tu ecris:
@echo off
switch "1.[extension du language]" "Titre" Title
ren "1.[extension du language]" 1.bat
exit
-Tu le rennome en Compilateur.bat
Et voila tu peut mettre des titres dans un batch !!!
A adapter
crer un langage de programmation c'est pas du gâteau et ce que tu vieux de poster jio15 n'est pas aussi facile qu'il en a l'air et encore ce n'est qu'un fragment de ce qu'il faut faire, ce n'est que le début !
mais ceci dit sa peut bien servir
ps : désolé pour le double post mais j'ai pa pu éditer mon message (je suis pas inscrit)
ps : désolé pour le double post mais j'ai pa pu éditer mon message (je suis pas inscrit)
Oui, je sais bien que ce n'est ABSOLUMENT PAS un vrai language de programmation, car, premierement, c'est en batch, et ca ne fonctionne QUE sous windows (ou avec BootCamp et cmd.exe sous MAC - Wine avec cmd.exe sous linux)
mais ca aide a comprendre que juste en remplacant un bout de code par un autre ca marche, par exemple, pour nos "C++odeurs et les Codeurs ", on ferait un C en francais avec par exemple:
SDL_Init(Video);
SDL_Creer.objet_couleur('255','255','255');
SDL_Creer.objet_position('0','0');
SDL_Creer.objet_taille('12','13','12','13');
C'est clair:
Un rectangle blanc en haut a gauche de l'ecran !!!
Et on peut faire un language uniquement WINDOWS (en y revenant)
Exemple (par moi) le A9 (dès l'IDE télechargé, mettez a jour le compilateur et glissez le contenu dans le dossier de l'IDE):
IDE: (inclus des trucs pour apprendre, le systeme de mises a jour et l'editeur: multilangue
https://www.118712.fr/sortir.html
Mettre a jour le compilateur MANUELLEMENT (au cas ou depuis le logiciel ca marche pas):
https://www.118712.fr/sortir.html
Voici le Hello world en A9:
{z=A9}@@{z.fun=function.load}@@{c=#init}@@{a=tt:Hello world!}@@{a=txt:Hello world!}@
{z.fun=function.xyz}@@{y=stop}@@{x=#sinit}@@{z=exit}@{a=txt:169}@
mais ca aide a comprendre que juste en remplacant un bout de code par un autre ca marche, par exemple, pour nos "C++odeurs et les Codeurs ", on ferait un C en francais avec par exemple:
SDL_Init(Video);
SDL_Creer.objet_couleur('255','255','255');
SDL_Creer.objet_position('0','0');
SDL_Creer.objet_taille('12','13','12','13');
C'est clair:
Un rectangle blanc en haut a gauche de l'ecran !!!
Et on peut faire un language uniquement WINDOWS (en y revenant)
Exemple (par moi) le A9 (dès l'IDE télechargé, mettez a jour le compilateur et glissez le contenu dans le dossier de l'IDE):
IDE: (inclus des trucs pour apprendre, le systeme de mises a jour et l'editeur: multilangue
https://www.118712.fr/sortir.html
Mettre a jour le compilateur MANUELLEMENT (au cas ou depuis le logiciel ca marche pas):
https://www.118712.fr/sortir.html
Voici le Hello world en A9:
{z=A9}@@{z.fun=function.load}@@{c=#init}@@{a=tt:Hello world!}@@{a=txt:Hello world!}@
{z.fun=function.xyz}@@{y=stop}@@{x=#sinit}@@{z=exit}@{a=txt:169}@
Avant de vouloir créer un language, il serait judicieux de définir une algebre, ( voir meme un nouveau groupe qui permettrait de definir les operations elementaires. il est plus facile de créer un nouveau language en partant sur du calcul matriciel, car celui-ci vous permettrez de créer une architecture assez rapidement pourvu que le groupe que vous aurez construit permette de réaliser toutes les opérations utiles, et ce, avec le moin de syntaxe possible ) . pour débuté je vous conseille de lire les documents qui ont trait à l'algebre de boyle.
kouki1000
Messages postés
108
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
5 novembre 2010
9
11 juin 2010 à 17:44
11 juin 2010 à 17:44
eXact! Faut toujours commencer par le début...
VOici un Bouquin... qui en parle un peu...en tout cas qui devrait aider les plus motivés d'entre vous à démarrer.
http://www.charlesen.fr/mon-blog/36-news/82-comment-creer-son-propre-langage-de-programmation
C'est sûr après, que pour créer un pur langage, il va falloir se plonger un peu plus dans les maths :
http://www.charlesen.fr/mon-blog/36-news/82-comment-creer-son-propre-langage-de-programmation
C'est sûr après, que pour créer un pur langage, il va falloir se plonger un peu plus dans les maths :
Salut a tous
Je peu vous dire que faire un language Interprète c'est très compliqué
Bref
en tous cas je peu dire que je suis en bonne voit
Je viens de créer un programme entier avec mon language
LevelScript
le programme et un petit CrackMe rien de bien Méchant
le script donne :
voilà et pour tester le programme:
http://www.megaupload.com/fr/?d=U2NSEC9K
voilà le Bon Serial est g1f6d54gdf
pour plus d'info
http://coding.xooit.org
@++
Je peu vous dire que faire un language Interprète c'est très compliqué
Bref
en tous cas je peu dire que je suis en bonne voit
Je viens de créer un programme entier avec mon language
LevelScript
le programme et un petit CrackMe rien de bien Méchant
le script donne :
debut titre "LvlMe" h: !100! w: !230! t: !250! l: !250! label "Mot de passe:" labl: !10! labt: !15! edit "" edtl: !10! edtt: !25! edtw: !130! bouton "Analyser" btnl: !150! btnt: !25! btnw: !50! btnh: !22! btnclick: $=$ +edtxt+ -Password- @Good!!@ |Bad!!| fin
voilà et pour tester le programme:
http://www.megaupload.com/fr/?d=U2NSEC9K
voilà le Bon Serial est g1f6d54gdf
pour plus d'info
http://coding.xooit.org
@++
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
15 avril 2008 à 15:23
15 avril 2008 à 15:23
tiens, on dirait un peu ça ton script :
https://fr.wikipedia.org/wiki/Malbolge
Tu peux faire concurence peut être.
https://fr.wikipedia.org/wiki/Malbolge
Tu peux faire concurence peut être.
Oulà c'est pas tous fait çà
malgré que la syntaxe soit très légèrement similaire et encore......
faire concurrences pourquoi pas mais pour çà
il faudrait que l'on boss a plusieurs
pour le moment je suis Tous seul a galérer avec çà
http://coding.xooit.org/t9-Delphi-Level-Script.htm
http://coding.xooit.org/t249-Proposition-Le-Crackme-ConceptScrypt.htm
et pour Linux
http://coding.xooit.org/t235-src-Linux-LevelScript.htm
malgré que la syntaxe soit très légèrement similaire et encore......
faire concurrences pourquoi pas mais pour çà
il faudrait que l'on boss a plusieurs
pour le moment je suis Tous seul a galérer avec çà
http://coding.xooit.org/t9-Delphi-Level-Script.htm
http://coding.xooit.org/t249-Proposition-Le-Crackme-ConceptScrypt.htm
et pour Linux
http://coding.xooit.org/t235-src-Linux-LevelScript.htm
Bon aujourd'hui j'ai bossé sur pas mal de truc.
En particulier les sauts.
Là j'ai fait autrement .En gros chaque saut c'est un script différent
Je c'est on va me dire que j'aurais put faire autrement..... :?
ensuite j'ai bossé sur une Pseudo-Compilation....Hola....
Je ne c'est même pas si je peu appeler çà comme çà :D
Bon j'ai fait un tutoriel sur çà syntaxe et mis a disposition
Le binaire et la source
sur un page Html :wink: for Kef...lol
http://www.trackerfind.hbg.fr/Craft-Koderz/lvlscript.html
@++
En particulier les sauts.
Là j'ai fait autrement .En gros chaque saut c'est un script différent
Je c'est on va me dire que j'aurais put faire autrement..... :?
ensuite j'ai bossé sur une Pseudo-Compilation....Hola....
Je ne c'est même pas si je peu appeler çà comme çà :D
Bon j'ai fait un tutoriel sur çà syntaxe et mis a disposition
Le binaire et la source
sur un page Html :wink: for Kef...lol
http://www.trackerfind.hbg.fr/Craft-Koderz/lvlscript.html
@++
Salut, je regardais les messages et j'ai trouvé ça intéressant. Pour commencer, je trouve qu'à la longue l'utilisation du clavier et de la souris prend trop de temps surtout si on peut substituer ce qu'on fait avec un language. Je sais que ça à l'air idiot, mais cette idée m'est venue en jouant à des jeux: POUR AVANCER DESFOIS C'EST TROP LONG OU TROP RÉPÉTItIF. Bon je sais il existe déjà des bot pour faire tout ça mais ils sont trop spécialisés ou pas assez. Il faudrait créer un éditeur de bot pour qu'il soit simple de les créer. Le mieux ce serait de maker un language qui enregistrerait toute les actions que l'on fait durant les temps qu'on voudrait puis de pouvoir éxécuter cet enregistrement en appuyant seulement sur une touche. Je cherche du monde pour mettre en place ce projet.
Je ne sais pas vous mais avant de se lancer dans la création d'un langage il faudrait peut-être savoir créer un blog ^^ parce que xoiit.... Mais tout le monde a sa chance je ne dit pas mais bon. et puis les gens qui créer des languages ont fait un minimum d'études en informatique, à mon avis il ne sont pas en troisième...
jcodeunpeu
Messages postés
365
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
2 décembre 2006
6
16 nov. 2005 à 21:12
16 nov. 2005 à 21:12
c'est une blague non ?
remarque, pourquoi pas ...
Essaie de changer de nom alors, avec James Gosling, c'est plus facile.
remarque, pourquoi pas ...
Essaie de changer de nom alors, avec James Gosling, c'est plus facile.
lol
la je suis totalement mort de rire
Et dire qu'il y a même des gens qui essaie de donner des réponses sérieures.
Honnétement, tous ceux qui on essayé de répondre, vous pensez une seule seconde que le mec qui a posé la question à une chance de réussir?
Le gas qui pause une question comme ça, soit il se moque de vous, soit il a rien compris à l'informatique et il ferait mieux de changer de métier.
:))))
C'est vraiement trop drole de tomber sur des questions comme ça.
(enfin c'est surtout la façon de pauser la question)
la je suis totalement mort de rire
Et dire qu'il y a même des gens qui essaie de donner des réponses sérieures.
Honnétement, tous ceux qui on essayé de répondre, vous pensez une seule seconde que le mec qui a posé la question à une chance de réussir?
Le gas qui pause une question comme ça, soit il se moque de vous, soit il a rien compris à l'informatique et il ferait mieux de changer de métier.
:))))
C'est vraiement trop drole de tomber sur des questions comme ça.
(enfin c'est surtout la façon de pauser la question)
15 août 2010 à 14:18
8 sept. 2010 à 18:05
8 mai 2011 à 14:28
10 août 2011 à 18:13
Par exemple, tu peux t'inspirer du php ( langage de programmation open-source )
lien du code source -> http://www.php.net/get/php-5.3.6.tar.bz2/from/a/mirror
ou python perl ect...
Et pour un langage compilé il faut écrire le langage + le compilateur, la tu peux prendre exemple sur FreePascal .
Bon courage !!!