π
<-
Chat plein-écran
[^]

[Projet] Underbasic

Assembleur, Axe, C/C++, ICE...

Votre avis

Ce projet est intéressant
9
50%
Ce projet est inutile
4
22%
J'aimerais prendre part au projet
2
11%
Je n'ai pas tout compris
2
11%
L'UnderBasic est trop complexe pour moi
1
6%
 
Nombre total de votes : 18

Re: [Projet] Underbasic

Message non lude Clément.7 » 25 Sep 2015, 20:30

@Epharius : Ça m'intéresserait effectivement mais lorsque j'aurais plus avancé dans le projet. Après l'un des principaux objectifs du projet c'est d'être accessible aux débutants alors on compilera en passant par les paramètres par exemple...
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Projet] Underbasic

Message non lude Clément.7 » 01 Oct 2015, 17:52

UPDATE !

- Added optional arguments
- Added default value for optional arguments
- Added assignment support (e.g. "A = 3" become "3->A")
- Added assignment checker to verify if an assignment is valid
- Translation packages can translate functions' name
- Translated function's name can be "un-camel-cased" (e.g. "inverserPixel" become "inverser_pixel")
- Improved translation system : Make a translation pack is easier now (using a simple parameters system)
- Added #unquote directive to remove the quotes at the beginning and the end of a string to include it in another string without using concatenation
Misc. improvements
- Added notices to check problems encountered during compilation
- Fixed bug : Bug in errors display for "Missing argument for function..."


En français :

- Les fonctions acceptent désormais des arguments optionnels (c'est-à-dire que vous n'êtes pas obligé de les passer à la fonction). Dans ce cas-là, vous pouvoir choisir ou non d'inclure une portion de code selon si tel argument a bien été spécifié.
- Les arguments optionnels peuvent avoir une valeur par défaut. Cela signifie que si vous ne les spécifiez pas, la valeur par défaut sera attribuée à l'argument. Cependant, vous pourrez toujours ou non inclure certaines lignes selon si l'argument a été spécifié.
- Support des assignements : Le code 'A = 2' sera converti en '2->A'. Le compilateur vérifiera également que vous n'assignez pas une liste à un nombre, par exemple.
- Les noms des fonctions peuvent être traduites dans le pack de traduction
- Les noms de fonctions traduites peuvent être dé-camel-case-ée, c'est à dire que 'inverserPixel' deviendra 'inverser_pixel' ce qui permets une meilleur lisibilité dans certains cas.
- La création d'un pack de traduction est désormais plus facile grâce à leur nouveau format.
- La directive #unquote a été rajoutée pour enlever les guillemets d'une variable :

Code: Tout sélectionner
function hello(string name) {
    print "Bonjour "+{{name}}
}
hello("Jacques")

devient
Code: Tout sélectionner
function hello(string name) {
    #unquote name
    print "Bonjour {{name}}"
}
hello("Jacques")

1 - Ça permets d'avoir un code plus clair
2 - Le compilateur sortira "Bonjour Jacques" au lieu de "Bonjour "+"Jacques", ce qui permets de gagner quelques octets ^^

P.S. : Je ferai un tutoriel sur ce langage, sur les bases et les manipulations avancées, lorsque j'aurai terminé le compilateur (ce qui est presque le cas)
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Projet] Underbasic

Message non lude Clément.7 » 01 Oct 2015, 19:01

[Désolé je fais un double post pour plus de lisibilité]

Bon la version bêta 0.5 est finie également :) !

- Added multiple files support
- Added auto-save feature
- Added mini-config editor ('#' icon in the toolbar)
- Added #include directive to include an other file
Misc. improvements
- Fixed bug : Due v0.4, functions' name were no longer translated
- Removed unused CodeMirror's files


Et en français :

- Ajout du support des fichiers : Vous pouvez maintenant, via une barre d'outils, créer et supprimer des fichiers. En cliquant sur le nom de l'un d'eux, vous accédez à son contenu. Le tout est sauvegardé en mémoire en temps réel.
- Ajout d'un auto-sauveur : Par défaut, lorsque vous modifiez n'importe quel fichier, son contenu est sauvegardé en temps réel sur votre ordinateur, si votre navigateur supporte localStorage, ce qui est le cas de tous les navigateurs récents
- Ajout de la directive #include : Vous pouvez inclure le contenu d'un fichier dans un autre en utilisant la directive #include. Par exemple, dans le fichier main, si vous mettez '#include test' le contenu du fichier 'test' sera importé à cet endroit.
- Suppression de fichiers inutiles, correction d'un bug...
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Projet] Underbasic

Message non lude Clément.7 » 02 Oct 2015, 15:22

Le compilateur est en ligne, à la dernière version (v0.5 beta) : Compilateur UnderBasic

Tapez votre code dans le cadre de gauche et il sortira, compilé, dans le cadre de droite. Vous pouvez quitter la page à n'importe quel moment sans copier votre code, lorsque vous y reviendrez le code que vous aviez saisi sera restauré (tant que vous utilisez un navigateur récent)

EDIT : J'essaye actuellement d'implémenter un émulateur de TI dans le site, mais j'ai quelques problèmes. Je posterais à nouveau ici quand j'aurais terminé !
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Projet] Underbasic

Message non lude Clément.7 » 17 Avr 2016, 18:57

Après 6 mois d'arrêt, le projet reprend ! J'ai décidé de continuer ce compilateur et d'y implémenter de nouvelles choses.
Au programme :
- Une bibliothèque de fonctions
- Ajouter l'utilisation "naturelle" des variables (ex: Disp test) qui n'est pour l'instant pas supporté

À propos de la compilation : Est-il possible de convertir un programme TI-Basic z80 (texte) en fichier .8xp en passant par Ti-Planet ? (via de l'Ajax par exemple)
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Projet] Underbasic

Message non lude Adriweb » 17 Avr 2016, 21:56

Clément.7 a écrit:À propos de la compilation : Est-il possible de convertir un programme TI-Basic z80 (texte) en fichier .8xp en passant par Ti-Planet ? (via de l'Ajax par exemple)

Pas directement.

Cependant, il est relativement simple de faire ça en JS pur, si ça t'intéresse.
( https://github.com/adriweb/tivars_lib_cpp se compile en C++ ; particulièrement je pourrais faire juste la partie qui serait requise ici, en JS emscripten )

Le problème éternel reste cependant quel formatage on veut utiliser, pour les tokens non représentables textuellement directement - et encore, il reste des ambiguités compliquées à gérer sans un input parfaitement speccé en amont ; critor me citait l'exemple du 'r²', interprétable de 3 façon différentes: lettre 'r' au carré (erreur de syntaxe, certes, mais techniquement valide), symbole 'r' (statistique) au carré, symbole 'r²' (statistique))
En effet, côté utilisateur, c'est ""simple"" de mettre en place une interface pour choisir exactement les bons tokens pour lever les ambiguités, mais sous une API, c'est déjà plus compliqué (du moins, il faut avoir fait le travail de désambiguitéifications (joli mot) en amont)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 78.4%
 
Messages: 14670
Images: 1118
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Projet] Underbasic

Message non lude Clément.7 » 18 Avr 2016, 07:52

Pour ce qui est dans ambiguïtés, je me base sur la syntaxe de TokenIDE.
Exemples : LSUITE correspond à la liste "SUITE" (donc le L est le petit L de liste).

Tu penses qu'il est possible de faire ça en JS pur ? Il y a de la manipulation de données hexa et de tokens, tout de même. En PHP ça doit pouvoir se faire en tout cas. Si tu penses pouvoir porter l'outil en JS ça m'aiderait beaucoup en effet :)
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Projet] Underbasic

Message non lude Adriweb » 18 Avr 2016, 17:16

Logiquement, si l'utilisateur utilise bien tous les tokens spéciaux et leur bonne représentation, ca devrait être bon...

Mais bref, sinon oui, en JS pur c'est faisable (y compris télécharger le fichier généré, avec les nouveaux APIs HTML5).
Je te dirai quand j'aurais une version utilisable (bientôt, espérons :P)

Pour du PHP, j'ai ça aussi: https://github.com/adriweb/tivars_lib

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 78.4%
 
Messages: 14670
Images: 1118
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Projet] Underbasic

Message non lude Clément.7 » 18 Avr 2016, 19:45

Pour télécharger le fichier j'ai déjà une petite fonction toute prête qui utilise l'API Blob (code piqué sur StackOverflow :p).
Emscripten me semble bien compliqué à utiliser donc j'utilisais cette fameuse API que tu développes :)
En attendant je vais sans doute utiliser du bon vieux PHP pour convertir les codes ;)
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
Avatar de l’utilisateur
Clément.7
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 29.5%
 
Messages: 348
Inscription: 12 Juin 2013, 15:02
Localisation: Près de Nantes
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: IUT Informatique en 2017-2019
GitHub: ClementNerma

Re: [Projet] Underbasic

Message non lude Adriweb » 18 Avr 2016, 19:49

Emscripten, ce serait moi qui m'en occupe (pas compliqué une fois qu'on sait l'utiliser :P), au final ca devrait être relativement petit et simple à utiliser quand j'aurais fait les bons bindings/APIs.

Et en effet, c'est via des Blob, pour les téléchargements.

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 78.4%
 
Messages: 14670
Images: 1118
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

PrécédenteSuivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 2024
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1426 utilisateurs:
>1409 invités
>12 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)