Aller au contenu

Chameleon


vfrz
 Share

Recommended Posts

Bonjour tout le monde !

Aujourd'hui je vais vous présentez mon petit projet nommé "Chameleon". Il s'agit d'un langage de programmation interprété qui ressemble beaucoup au BASIC.

L'interpréteur est open source et codé entièrement en C#, mais je vais aussi en faire un en Java pour qu'il soit compatible sur Linux / Mac.

logo.png

 

Fonctionnalités disponibles :

- Déclaration de variable (Nombre ou chaîne de caractères)

- Affichage de message sur la console

- Lire des entrées utilisateur

- Créer des labels et faire des "GOTO"

- Conditions simples ( == , =! , > , < , => , =< )

- Calculs (Additions, multiplications, divisions, soustractions, modulos, puissances)

- Commentaires

- Possibilité de changer le titre de la console

 

Quelques exemples de code :

Le fameux "Hello world" :

PRINT "Hello world"
WAIT

Une calculatrice très rudimentaire :

TITLE "Calculator with Chameleon"
PRINT "Type the first number : "
INPUT num1
PRINT "Type the second number : "
INPUT num2
PRINT "Type operator : "
INPUT op

IF (op == "+") THEN ADD ' Goto ADD
IF (op == "-") THEN REMOVE ' Goto REMOVE
IF (op == "*") THEN MULTIPLY ' Goto MULTIPLY
IF (op == "/") THEN DIVIDE ' Goto DIVIDE
IF (op == "%") THEN MODULO ' Goto MODULO
IF (op == "^") THEN POW ' Goto POW
PRINT "Bad operator"
WAIT
EXIT

ADD:
result = (num1 + num2)
GOTO END

REMOVE:
result = (num1 - num2)
GOTO END

MULTIPLY:
result = (num1 * num2)
GOTO END

DIVIDE:
result = (num1 / num2)
GOTO END

MODULO:
result = (num1 % num2)
GOTO END

POW:
result = (num1 ^ num2)
GOTO END

END:
PRINT "Result : " + result
WAIT
EXIT 

D'autres exemples disponibles ici : https://github.com/EdgeKiller/Chameleon/tree/master/Samples

 

Liens utiles :

• Github (Sources) : https://github.com/EdgeKiller/Chameleon

• Releases (Executable) : https://github.com/EdgeKiller/Chameleon/releases

 

/!\ L'interpréteur n'est pas encore finit, si vous trouvez une erreur merci de me la reporter /!\

 

N'hésitez pas à donner votre avis, ou encore des suggestions, merci !

 

  • Upvote 4
Lien vers le commentaire
Partager sur d’autres sites

J'ai pas réussi à le tester d'ailleurs, j'ai téléchargé l'exécutable mais après ? Quand je lance le .exe il n'y a rien qui s'affiche.

C'est normal c'est un interpréteur, il faut que tu glisses un fichier dessus ;)

Ah d'accord donc ça ne bugguait pas ^^

 

Edit : Le logiciel ne s'exécute plus depuis que j'ai fait la MAJ vers Win10

Modifié par Soulalex
Lien vers le commentaire
Partager sur d’autres sites

Tu n'est pas obligé de le porter en java, juste en Mono :)

C'est de la merde Mono :)

Le C# est de la merde :)

Sinon y'a le complier Rosamachin qui est supposer pouvoir tourner sous Linux

Comment as-tu osé ? C'est bien mieux que le Java ! 

Java a le GBC le plus performant du marché actuellement, et une bien meilleure virtualisation que C# au niveau des appels de méthodes.

De Plus, C# passe par .net, et fait donc des appels constants à des dynlibs, ce qui est très lourd :).

Enfin, j'ai déjà fait une bench de comparaison entre Java et C#, Java est entre 2 à 4x plus performant que C#, surtout sur des utilisations longue durées.

C# a été pensé pour de la bureautique, c'est le but de ce langage, il est fait pour être pensé simple, avec une option de scripting, mais il n'est pas du tout aussi optimisé que ses concurrents.

 

C'était la minute science :).

 

Cdt,

Mog.

  • Upvote 3
Lien vers le commentaire
Partager sur d’autres sites

 Share

×
×
  • Créer...