Présentation PB: Project Builder avec compilateur C en ligne
Posted: 18 Mar 2016, 21:30
Depuis sa création, TI-Planet met en avant la programmation, surtout sur les calculatrices TI, à travers un grand nombre de news, de présentations et tests de programmes, de tutoriaux, de concours etc.
Nous sommes ravis désormais de pouvoir lancer (en beta) une plateforme en ligne, et donc d'autant plus accessible à tous facilement, permettant d'aller encore plus loin dans cet effort de promotion de la programmation, que nous appelons le "Project Builder" (PB).
Le Project Builder, qu'est-ce que c'est ?
Simplement, c'est un "sous-site" de TI-Planet proposant à travers une interface simplifiée un ensemble d'outils ("modules"), comme par exemple des IDE (environnement de développement) pour créer, par soi-même ou à plusieurs, du contenu à travers des programmes pour calculatrices.
L'architecture modulaire du PB permet de gérer plusieurs types de projets, eux-mêmes contenant plusieurs éléments le cas échéant. Pour l’instant, le PB n'en est qu'à ses débuts, et le seul type de projet "prêt" est le compilateur C pour calculatrices CE (TI-83 Premium CE et TI-84 Plus CE), dont nous allons donner plus de détails dans la partie suivante.
En fait, on vous parlait déjà de ce Project Builder et son module de compilateur C depuis quelques temps (septembre 2015 !) dans le topic associé concernant ce module - ce n'est donc pas une véritable surprise
Par ailleurs, dans le futur, on peut imaginer des modules comme des éditeurs de :
Revenons un peu plus en détail sur la mention, plus haut, de la création "à plusieurs". En effet, le PB présente un aspect social et multi-utilisateurs :
Nous espérons que ces efforts aideront à populariser la programmation auprès des collégiens, lycéens et étudiants, en leur fournissant une plateforme simple mais complète
Nous sommes par ailleurs fiers d'annoncer que le Project Builder est open-source, et même libre (GPLv3), pour permettre la contribution dans l’esprit de la communauté - il est conçu de telle sorte que son fonctionnement n'est pas verrouillé sur l’infrastructure du site. Nous encourageons (et remercions d'avance) toute personne intéressée à contribuer, pour rajouter des choses, corriger des bugs, etc. Le lien vers le code est disponible en bas de cet article.
Le compilateur C pour calculatrices CE, un module du PB
Ce n'est pas nouveau, depuis l'arrivée de la gamme "CE" des calculatrices TI en 2015, le nouveau matériel plus puissant les composant (CPU eZ80 plus rapide que le z80, davantage de RAM, etc.) permet de faire des choses bien plus intéressantes que sur les modèles d'avant, y compris donc de la programmation "native", en C, bien plus attrayante que de l'assembleur, et utilisée souvent sur ordinateur ou autres plateformes.
Le Project Builder intègre donc ce module "compilateur C pour CE", dont le back-end est basé sur les travaux de "MateoConLechuga" (que nous remercions bien) au niveau de la toolchain.
Fonctionnalités:
Relatifs au back-end (compilateur)
Relatifs au front-end (interface utilisateur)
Spécifiques aux calculatrices CE
Fonctionnalités prévues dans le futur...:
En plus d'améliorations diverses du GUI pour une meilleure expérience utilisateur, sont normalement prévues:
Liens
Une question ? Une idée ? Un bug ? N'hésitez pas à participer sur ce topic !
Nous sommes ravis désormais de pouvoir lancer (en beta) une plateforme en ligne, et donc d'autant plus accessible à tous facilement, permettant d'aller encore plus loin dans cet effort de promotion de la programmation, que nous appelons le "Project Builder" (PB).
Le Project Builder, qu'est-ce que c'est ?
Simplement, c'est un "sous-site" de TI-Planet proposant à travers une interface simplifiée un ensemble d'outils ("modules"), comme par exemple des IDE (environnement de développement) pour créer, par soi-même ou à plusieurs, du contenu à travers des programmes pour calculatrices.
L'architecture modulaire du PB permet de gérer plusieurs types de projets, eux-mêmes contenant plusieurs éléments le cas échéant. Pour l’instant, le PB n'en est qu'à ses débuts, et le seul type de projet "prêt" est le compilateur C pour calculatrices CE (TI-83 Premium CE et TI-84 Plus CE), dont nous allons donner plus de détails dans la partie suivante.
En fait, on vous parlait déjà de ce Project Builder et son module de compilateur C depuis quelques temps (septembre 2015 !) dans le topic associé concernant ce module - ce n'est donc pas une véritable surprise
Par ailleurs, dans le futur, on peut imaginer des modules comme des éditeurs de :
- TI-Basic z80/eZ80 (séries 82/83/84)
- TI-Nspire Lua
- images/sprites
- ...
Revenons un peu plus en détail sur la mention, plus haut, de la création "à plusieurs". En effet, le PB présente un aspect social et multi-utilisateurs :
Nous espérons que ces efforts aideront à populariser la programmation auprès des collégiens, lycéens et étudiants, en leur fournissant une plateforme simple mais complète
Nous sommes par ailleurs fiers d'annoncer que le Project Builder est open-source, et même libre (GPLv3), pour permettre la contribution dans l’esprit de la communauté - il est conçu de telle sorte que son fonctionnement n'est pas verrouillé sur l’infrastructure du site. Nous encourageons (et remercions d'avance) toute personne intéressée à contribuer, pour rajouter des choses, corriger des bugs, etc. Le lien vers le code est disponible en bas de cet article.
Le compilateur C pour calculatrices CE, un module du PB
Ce n'est pas nouveau, depuis l'arrivée de la gamme "CE" des calculatrices TI en 2015, le nouveau matériel plus puissant les composant (CPU eZ80 plus rapide que le z80, davantage de RAM, etc.) permet de faire des choses bien plus intéressantes que sur les modèles d'avant, y compris donc de la programmation "native", en C, bien plus attrayante que de l'assembleur, et utilisée souvent sur ordinateur ou autres plateformes.
Le Project Builder intègre donc ce module "compilateur C pour CE", dont le back-end est basé sur les travaux de "MateoConLechuga" (que nous remercions bien) au niveau de la toolchain.
Fonctionnalités:
Relatifs au back-end (compilateur)
- Compilation C pour CE via utilisation transparente de la toolchain C89/ANSI de ZDS (outil Zilog officiel)
- Intégration d'includes (headers) standards améliorés
- Link automatique des bibliothèques que vous utilisez dans votre code source le cas échéant (include dans lib/ce/)
- Analyse statique automatique via cppcheck (avec présentation intégrée à l'éditeur)
Relatifs au front-end (interface utilisateur)
- Coloration syntaxique
- Auto-complétion semi-intelligente
- Support de projets multi-fichiers
- Console affichant la sortie du Makefile (log de build, link, etc.)
- Indicateur d'état de build et timestamp associé
- Affichage inline des warnings et erreurs
- Exemples/templates intégrés pour pouvoir partir d'une base existante
- "Goodies" divers sur l'éditeur
- Auto-indentation, Sélections/curseurs multiples, Code folding...
- Search&Replace intégré (avec option RegExp)
- Ctrl/Cmd + survol de la souris sur une variable/fonction pour voir sa définition, ou clic pour aller à sa définition
- Ctrl/Cmd + survol de la souris sur un nombre en base 10 pour le voir en base 16, ou clic pour le transformer en base 16
Spécifiques aux calculatrices CE
Fonctionnalités prévues dans le futur...:
En plus d'améliorations diverses du GUI pour une meilleure expérience utilisateur, sont normalement prévues:
Show/Hide spoilerAfficher/Masquer le spoiler
- Intégration du coeur de l'émulateur CEmu pour pouvoir tester et débugger ses programmes en temps-réel
- Gestion du partage plus approfondie (en plus du read/write actuel, possibilité de choisir des utilisateurs spécifiques ayant accès)
- Auto-complétion et aide inline pour les fonctions relatives à la CE
- Liste dynamique/intéractive des fonctions du fichier en cours
- Meilleure intégration des features de CodeMirror au niveau du multi-fichiers
- Choix de compilation avec optimisation orienté vitesse (actuellement le cas) ou en taille
- Choix du .8xp pour mettre le programme par défaut en RAM ou en Archive
- Intégration de versioning (Git etc.)
- Import/Export de projets
- Intégration de la toolchain LLVM eZ80 quand celle-ci sera prête
- Un thème sombre
- Vos idées ?
Liens
- Project Builder: https://tiplanet.org/pb (beta)
- Code source: sur GitHub. Notez que le repo se remplit petit à petit…
Une question ? Une idée ? Un bug ? N'hésitez pas à participer sur ce topic !
Since its beginning, TI-Planet has promoted programming, especially on TI calculators, through many news, program features and reviews, tutorials, contests etc.
We are now proud to launch, in beta, a new online platform (online so as to be more easily accessible), to push even further this programming promotional effort. This online tool is called the "Project Builder" (PB).
What's the "Project Builder"?
Simply put, it's a "subsite" of TI-Planet, that offers a simplified interface through a set of tools ("modules"), such as an IDE, for creating, by oneself or with other people, content like programs, for calculators.
The modular architecture of the PB allows for multiple types of projects themselves possibly containing several elements. For now, the PB is still veyr young, and the only "ready" project type / module is the C compiler for the CE calculators (TI-84 Plus CE and TI-83 Premium CE), on which we will give more details in the next section.
In fact, we had already told you a bit about the PB and its C Compiler some time ago (September 2015!) in another topic, so it might not be much of a surprise
Moreover, in the future, we can imagine other modules like:
Let's go back in a little more detail on the reference above, creating things "with other people". Indeed, the PB has social / multi-user features:
We hope that these efforts will help popularize programming among high school and university students, providing a simple yet comprehensive platform
We are also glad to announce that the Project Builder is open-source, and even free as in freedom (GPLv3), to enable the contribution in the spirit of the community - it is designed in such a way that its operation is not locked on a specific site infrastructure. We encourage (and thank in advance) anyone interested in contributing and helping in general, adding things, fixing bugs, etc. A link to the code is available at the bottom of this article.
The C Compiler for the CE calculators - a module of the PB
This isn't new - since the release of the CE calculators series in 2015, their new more powerful hardware (eZ80 CPU, faster than the Z80, more RAM, etc.) allows much more interesting things than on prior models, including indeed "native" C programming, much more attractive than assembly, and often used on PC or other platforms.
The Project Builder thus has a "CE C compiler" module, whose back-end is based on the toolchain work by "MateoConLechuga" (who we thank very much).
Features:
Relative to the back-end (compiler)
Relative to the front-end (user interface)
Specific to CE calculators
Features planned for the future...:
In addition to various improvements on the GUI for a better user experience, the following are on the TODO list:
Links
A question? An idea? A bug report? Feel free to reply in this topic!
We are now proud to launch, in beta, a new online platform (online so as to be more easily accessible), to push even further this programming promotional effort. This online tool is called the "Project Builder" (PB).
What's the "Project Builder"?
Simply put, it's a "subsite" of TI-Planet, that offers a simplified interface through a set of tools ("modules"), such as an IDE, for creating, by oneself or with other people, content like programs, for calculators.
The modular architecture of the PB allows for multiple types of projects themselves possibly containing several elements. For now, the PB is still veyr young, and the only "ready" project type / module is the C compiler for the CE calculators (TI-84 Plus CE and TI-83 Premium CE), on which we will give more details in the next section.
In fact, we had already told you a bit about the PB and its C Compiler some time ago (September 2015!) in another topic, so it might not be much of a surprise
Moreover, in the future, we can imagine other modules like:
- TI-Basic z80/eZ80 (82/83/84 series)
- TI-Nspire Lua
- images/sprites
- ...
Let's go back in a little more detail on the reference above, creating things "with other people". Indeed, the PB has social / multi-user features:
We hope that these efforts will help popularize programming among high school and university students, providing a simple yet comprehensive platform
We are also glad to announce that the Project Builder is open-source, and even free as in freedom (GPLv3), to enable the contribution in the spirit of the community - it is designed in such a way that its operation is not locked on a specific site infrastructure. We encourage (and thank in advance) anyone interested in contributing and helping in general, adding things, fixing bugs, etc. A link to the code is available at the bottom of this article.
The C Compiler for the CE calculators - a module of the PB
This isn't new - since the release of the CE calculators series in 2015, their new more powerful hardware (eZ80 CPU, faster than the Z80, more RAM, etc.) allows much more interesting things than on prior models, including indeed "native" C programming, much more attractive than assembly, and often used on PC or other platforms.
The Project Builder thus has a "CE C compiler" module, whose back-end is based on the toolchain work by "MateoConLechuga" (who we thank very much).
Features:
Relative to the back-end (compiler)
- Compiling C for the CE via a transparent usage of the C89/ANSI ZDS-powered toolchain (using official Zilog tools)
- Integrates enhanced standard include files (headers)
- Automatic linking of libraries that you use in your source code (include in lib/ce/)
- Automatic static code analysis via cppcheck (with built-in inline editor display)
Relative to the front-end (user interface)
- Syntax coloring
- Half-smart auto-completion
- Multi-file project support
- Console showing the Makefile output (build log, link log, etc.)
- Build status indicator with associated timestamp
- Inline display of compilation warning and errors
- Embedded examples/templates so as to start from an existing base
- Various editor "Goodies"
- Auto-indentation, multiple selections/cursors, Code folding...
- Built-in search&replace (with RegExp possibility)
- Ctrl/Cmd + mouse-over on a variable/function to see its definition, and click to jump to it
- Ctrl/Cmd + mouse-over on a base 10 number to see base 16 representation, and click to make it written in base 16
Specific to CE calculators
Features planned for the future...:
In addition to various improvements on the GUI for a better user experience, the following are on the TODO list:
Show/Hide spoilerAfficher/Masquer le spoiler
- Integration of the CEmu emulator core in order to try and debug programs in real-time
- Deeper sharing options (in addition to read/write currently, possibility to choose specific user access)
Auto-completion and inline help for CE-specific functionsDoneDynamic/Interactive function list in the current fileDone- Improved integration of CodeMirror features for multi-file projects
Choice of compiling optimization towards speed (current setting) or sizeDoneChoice for the .8xp to be set by default in RAM or in ArchiveNo need anymore, archive ftw- Versioning integration (Git etc.)
Project Import/ExportDoneIntegrating the LLVM eZ80 toolchain when it is readyDoneA dark themeDone- Your ideas?
Links
- Project Builder: https://tiplanet.org/pb (beta)
- Source code: on GitHub. Note that the repo's content is coming along bit by bit...
A question? An idea? A bug report? Feel free to reply in this topic!