PicoLisp JavaScript HTML Batchfile Lua CSS Other
Clone or download
Permalink
Failed to load latest commit information.
dev Dev: Racine a apporté des points Dec 11, 2016
editeurs/scite Nouvelle commande: Racine Dec 9, 2016
emulisp EmuLisp: implement sqrt Oct 22, 2016
ersatz Ersatz: MAJ du 3 avril 2015. Apr 22, 2015
exemples 'valeur_utilisateur' -> 'nombre_demandé' et 'texte_demandé' Nov 1, 2016
features features: ajout de hello.feature. May 6, 2014
install_scripts mv install… et fix… dans install_scripts. May 24, 2014
jar Rhino: ajout du jar et première tentative. Mar 15, 2015
lib Visuels: <xml> devient <xmlq>. Jul 8, 2014
pde/microalg Tortue: attrib de la couleur de contour Mar 9, 2016
visuels Doc: ajout ordre d’exécution. Oct 20, 2015
web Typeset math after execution Nov 25, 2017
.gitattributes Remove Lisp from .gitattributes. Jun 17, 2015
.gitignore Processing: implantation web IDE et desktop Jun 30, 2015
.travis.yml NodeJS: sync-prompt -> readline-sync. Jun 30, 2014
INSTALL.md Install: meilleures instructions Dec 8, 2016
LICENSE Initial commit Mar 27, 2014
README.md Ajout de faq.html Nov 24, 2016
doc.html 80 cols dans la doc Jan 5, 2018
faq.html Ajout de faq.html Nov 24, 2016
ide.html Suggestions: attachTextComplete + load microalg.l Nov 7, 2016
malg v0.4.06 -> v0.4.07 Oct 23, 2016
malg-clj.bat Tooling Windows pour MicroAlg-clj. Jan 16, 2016
malg-j v0.4.06 -> v0.4.07 Oct 23, 2016
malg-j-repl.bat malg-*-repl.bat: point final Oct 27, 2016
malg-j.bat v0.4.06 -> v0.4.07 Oct 23, 2016
malg-njs v0.4.06 -> v0.4.07 Oct 23, 2016
malg-njs-repl.bat malg-*-repl.bat: point final Oct 27, 2016
malg-njs.bat v0.4.06 -> v0.4.07 Oct 23, 2016
malg-rjs v0.4.06 -> v0.4.07 Oct 23, 2016
malg-rjs-repl.bat malg-*-repl.bat: point final Oct 27, 2016
malg-rjs.bat v0.4.06 -> v0.4.07 Oct 23, 2016
microalg-0.3.17.l Web IDE: allow use of microalg.l from 0.3.17. Aug 28, 2015
microalg.l Add a list example for Concatener Jan 5, 2018
microalg_export.l Operations en toutes lettres ("merci" JPR) Oct 22, 2016
microalg_export_arbreninja.l Export CSS ninja: resolution des conflits. Aug 20, 2015
microalg_export_arbresvg.l Export SVG: meilleurs espaces pour atomes. Sep 7, 2015
microalg_export_arbretxt.l Export arbretxt: meilleure gestion des cmds sans arg. Jul 27, 2015
microalg_export_blockly.l Exports: manquait 'Rien' Dec 21, 2016
microalg_export_casio.l Export calto pour Somme Diff Prod Quot Reste Puiss Feb 7, 2017
microalg_export_javascript.l Exports: manquait 'Rien' Dec 21, 2016
microalg_export_microalg.l Exports: manquait 'Rien' Dec 21, 2016
microalg_export_processing.l Exports: manquait 'Rien' Dec 21, 2016
microalg_export_python.l Fix variables export Python Aug 1, 2017
microalg_export_ti.l Export calto pour Somme Diff Prod Quot Reste Puiss Feb 7, 2017
microalg_tests.malg Racine: accepter zéro Mar 9, 2017
microalg_tests.sh Restructuration scripts: MAJ des scripts de test. Mar 15, 2015
microalg_tests_ersatz.bat Restructuration scripts: MAJ des scripts de test. Mar 15, 2015
microalg_tests_ersatz.sh Restructuration scripts: MAJ des scripts de test. Mar 15, 2015
microalg_tests_features.sh Ajout de l’install locale de pil + relevant tests tweaks. May 6, 2014
microalg_tests_nodejs_emulisp.bat Restructuration scripts: MAJ des scripts de test. Mar 15, 2015
microalg_tests_nodejs_emulisp.sh Restructuration scripts: MAJ des scripts de test. Mar 15, 2015
microalg_tests_picolisp.sh Re-Nounouille. May 24, 2014
microalg_tests_rhino_emulisp.bat Restructuration scripts: MAJ des scripts de test. Mar 15, 2015
microalg_tests_rhino_emulisp.sh Restructuration scripts: MAJ des scripts de test. Mar 15, 2015
start_processing.bat Processing: quitter cmd.exe lors de la fermeture de la fenetre. Aug 13, 2015
start_processing.sh Processing: implantation web IDE et desktop Jun 30, 2015
tuto.html Une espace manquait dans tuto.html Jul 24, 2017
tuto_blocs.html Tuto.html et tuto_blocs.html: calcul mental solide Jul 24, 2017
tuto_blocs_2.html tuto blocs: renommage de somme en S Oct 1, 2017
tuto_graphique.html tuto_graphique: tweak pour canal alpha Oct 8, 2017
tuto_rapide.html Tutos texte: meilleure desc du premier programme Jul 24, 2017
tuto_tortue.html Tutos: suppression des </a> rebelles Oct 26, 2016

README.md

Microalg

Langage et environnements dédiés à l’algorithmique.

Site officiel

MicroAlg est une sorte de pseudo-code en français et exécutable sur machine. C’est un langage embarqué dans PicoLisp. Donc :

  • c’est un Lisp, donc il n’y a pas de syntaxe à apprendre, juste des commandes,
  • elle peut tourner sur plusieurs plates-formes :
    • Javascript (navigateurs ou NodeJS) grâce à EmuLisp,
    • là où PicoLisp (ASM, C) peut tourner nativement,
    • la JVM grâce à Ersatz (une implémentation en Java de Picolisp, par l’auteur de Picolisp),
  • il est toujours possible si on se sent limité par ce langage, d’utiliser directement PicoLisp dans du code MicroAlg voir par exemple le fichier de tests microalg_tests.malg.

Voir le site officiel pour plus de détails, dont le code est dans ce dépôt.

Installation

Il est possible d’installer MicroAlg sur sa machine ou sur son site.

Voir le fichier INSTALL.md.

Fichiers

Listés dans l’ordre où ils apparaissent sur GitHub.

  • dev : différents outils pour les développeurs
  • editeurs : fichiers pour l’intégration avec différents éditeurs
    • scite : pour SciTE
      • SciTEGlobal.properties : configuration recommandée et/ou obligatoire pour l’intégration
      • malg.api : contient les signatures des commandes pour les infos-bulles
      • malg_abbrev.properties : permettra de mettre en place une structure en trois ou quatre touches (juste pour voir, relativement vide pour l’instant)
      • malg-*-scite.bat : exécutables permettant d’interpréter un .malg sous Windows et depuis SciTE
      • microalg.lua : le cœur de l’intégration avec l’éditeur (lexer, couleurs, commande pour l’exécution du fichier en cours…)
  • emulisp : implémentation de Picolisp en JS (voir le dépôt semi-officiel, mais attention, la version utilisée ici est une version expérimentale, qui guide le développement de la version semie-officielle)
    • pil-njs* script pour lancer EmuLisp sur Node
    • pil-rjs* script pour lancer EmuLisp sur Rhino
  • ersatz : implémentation de Picolisp en Java, par le créateur de PicoLisp
    • pil-j* script pour lancer Ersatz
  • exemples : quelques fichiers .malg (MicroAlg) ou .l (PicoLisp) en exemples, qui servent aussi pour les tests
  • features : tests de fonctionnalité pour les interpréteurs, rédigés en Gherkin
    • cli.py fait le lien entre les mots-clef des tests Gherkin et les actions à prendre pour exécuter concrètement ces tests
  • install_scripts : scripts d’installation :
    • fix_lettuce.sh : permet d’utiliser lettuce avec du texte comprenant des accents
    • install_picolisp.sh : pour l’interpréteur officiel de PicoLisp écrit en assembleur et C (d’où peut-être le répertoire picolisp qui traîne)
  • jar contient quelques archives Java
    • js.jar Rhino, l’implémentation de Javascript en Java par Mozilla
  • lib : quelques fichiers mi-.l mi-.malg
    • xml.l : bibliothèque en PicoLisp pour la génération de XML
  • pde/microalg/microalg.pde : pour la sortie graphique, avec Processing ou Processing.js
  • pde/microalg.out/ : fichiers générés par Processing
  • visuels : divers fichiers graphiques comme par exemple le logo
  • web : des fichiers de complément pour les .html de ce projet
    • blockly : un extrait des fichiers du projet permettant de programmer avec des pièces de puzzle (Blockly)
    • blockly_microalg.js : les blocs Blockly et leur générateur, correspondant aux mots-clés prédéfinis de MicroAlg
    • css-ninja-tree : pour afficher le code sous forme d’arbre en HTML/CSS
    • ide_injections.js : contient de quoi intégrer MicroAlg dans une page
    • jquery.terminal* : pour la console ou REPL (site officiel)
    • parenedit.* : pour les parenthèses de couleur
    • jquery.textcomplete.* : pour les suggestions
    • processing.*.min.js : Processing pour le web
    • showdown.* : (github)
    • showup.* : (github)
    • style.css : la feuille de style
    • svg-tree-drawer : pour la visualisation du code sous forme d’arbre en SVG
    • tabIndent.js : pour indenter et désindenter avec la touche TAB
  • .gitattributes : fichier de configuration du dépôt git, surtout utilisé pour GitHub
  • .gitignore : spécification des fichiers non versionnés intentionnellement
  • .travis.yml : spécification des tests automatisés via Travis
  • INSTALL.md : documentation complète concernant les différentes manières d’installer MicroAlg.
  • LICENSE : la licence
  • README.md : ce fichier (j’ai toujours rêvé d’écrire ça)
  • doc.html : la documentation de MicroAlg
  • faq.html : la foire aux questions de MicroAlg
  • ide.html : un IDE web de fortune, accessible ici
  • malg : exécutable permettant d’interpréter un .malg avec PicoLisp (ASM/C)
  • malg-clj.bat : exécutable permettant d’interpréter un .malg avec MicroAlg-clj (Clojure), mais le .jar n’est pas fourni car réservé aux utilisateurs avancés
  • malg-j : exécutable permettant d’interpréter un .malg avec Ersatz (Java)
  • malg-j.bat : exécutable permettant d’interpréter un .malg avec Ersatz (Java) sous Windows
  • malg-j-repl.bat : exécutable permettant de travailler avec une console interactive avec Ersatz (Java) sous Windows
  • malg-njs : exécutable permettant d’interpréter un .malg avec Node et Emulisp
  • malg-njs.bat : exécutable permettant d’interpréter un .malg avec Node et Emulisp sous Windows
  • malg-njs-repl.bat : exécutable permettant de travailler avec une console interactive avec Node et Emulisp sous Windows
  • malg-rjs : exécutable permettant d’interpréter un .malg avec Rhino et Emulisp
  • malg-rjs.bat : exécutable permettant d’interpréter un .malg avec Rhino et Emulisp sous Windows
  • malg-rjs-repl.bat : exécutable permettant de travailler avec une console interactive avec Rhino et Emulisp sous Windows
  • microalg.l : implémentation de MicroAlg en PicoLisp, le cœur de ce projet
  • microalg_export*
    • microalg_export.l : fonctions PicoLisp préparant l’export en général
    • microalg_export_arbreninja.l : reprogrammation de MicroAlg pour la visualisation sous forme d’arbre en HTML/CSS
    • microalg_export_arbresvg.l : reprogrammation de MicroAlg pour la visualisation sous forme d’arbre graphique
    • microalg_export_arbretxt.l : reprogrammation de MicroAlg pour la visualisation sous forme d’arbre textuel
    • microalg_export_blockly.l : reprogrammation de MicroAlg pour la mise en place de blocs correspondant à un programme
    • microalg_export_casio.l : reprogrammation de MicroAlg pour l’export d’un programme vers le langage des Casio
    • microalg_export_javascript.l : reprogrammation de MicroAlg pour l’export d’un programme vers JavaScript
    • microalg_export_microalg.l : reprogrammation de MicroAlg pour l’export d’un programme vers MicroAlg
    • microalg_export_processing.l : reprogrammation de MicroAlg pour l’export d’un programme vers Processing
    • microalg_export_python.l : reprogrammation de MicroAlg pour l’export d’un programme vers Python
    • microalg_export_ti.l : reprogrammation de MicroAlg pour l’export d’un programme vers le langage des TI
  • microalg_tests* :
    • microalg_tests.malg : les tests des commandes MicroAlg testables avec PicoLisp/MicroAlg seulement
    • microalg_tests.sh : de quoi lancer les tests sur toutes les plates-formes possibles, features non comprises
    • microalg_tests_*.bat : de quoi lancer les tests avec Windows
    • microalg_tests_*.sh : de quoi lancer les tests autrement qu’avec Windows
    • microalg_tests_features.sh : de quoi lancer les tests de fonctionnalité
  • tuto*.html : pages web interactives pour apprendre MicroAlg, et plus généralement à faire ses premiers pas en algorithmique et en programmation
    • tuto.html : le tuto historique
    • tuto_blocs.html : le tuto avec les blocs (inachevé par manque de blocs)
    • tuto_graphique.html : le tuto sur les commandes ayant une sortie graphique, dont la tortue
    • tuto_rapide.html : le tuto pour les programmeurs avertis