Régulièrement je compile quelques exercices sur les circuits (venant d’examen ou de td) pour mes formations (en vrac, avec des redondances, désolé) : ALM_Exercices, ExerciceEtHistoireEnALM, ALM_1, ALM_Circuits.
Archive for DenisB
Circuits
Des interpréteurs javascript …
(rédaction initale en Juin 2007)
Quelle surprise il y a quelques semaines quand j’ai cherché sur le web si, par hasard, il existait un interpréteur C écrit en javascript qui pourrait tourner dans une fenêtre web. Bon, pour l’insant je n’ai pas trouvé ce que je voulais (j’ai tout de même fait connaissance avec CINT (http://root.cern.ch/root/Cint.html) et Ch (http://www.softintegration.com/), et c’est déjà une bonne chose), mais j’ai découvert plein d’autres langages possédant sur le web un interpréteur javascript (ou au moins une version web), en particulier ProLog ! :
par ordre alphabétique (pour les plus connus) :
- Basic : http://www.quitebasic.com/
- CAML : http://pagesperso-orange.fr/jacques.rouable/mic/ac.htm
- Forth : http://forthfreak.net/jsforth.html
- Javascript (il y en a beaucoup, avec juste ‘eval’) : http://mochikit.com/examples/interpreter/ mais pas http://mxr.mozilla.org/mozilla/source/js/narcissus/ (self-interpreter !) ou https://github.com/jterrace/js.js (obtenu avec https://github.com/kripken/emscripten) voir aussi l’avancement de s-mr
- Lisp (il y en a d’autres) : http://www.joeganley.com/code/jslisp.html
- Logo : http://www.logowiki.net/ ou http://www.calormen.com/Logo/ ou …
- Mix : http://www.recreationalmath.com/mixal/
- ML : http://darknoon.com/orc/
- Pdf : http://logand.com/sw/wps/index.html
- Php : http://code.google.com/p/phype/
- PostScript : http://logand.com/sw/wps/index.html
- ProLog (il y en a d’autres) : http://ioctl.org/logic/prolog-latest
- Python : http://syntensity.com/static/python.html
- Ruby : http://coderepos.org/share/wiki/JSRuby
- Scheme : http://www.crockford.com/javascript/scheme.html
- Smalltalk : http://www.cs.ucla.edu/~awarth/ometa/ometa-js/
- TCL : http://wiki.tcl.tk/17972
- X86 : http://www.xpounded.netfirms.com/jasm/jasm.html
- 6502 : http://6502asm.com/
quelques uns moins connus :
- Arc : http://jonathan.tang.name/files/arclite/index.html
- Aheui : http://puzzlet.org/doc/aheui/jsaheui_en.html
- Ambi : http://code.google.com/p/ambi/
- Befalse : http://www.quirkster.com/iano/js/befalse.html
- Befunge : http://www.quirkster.com/js/befunge.html
- Biota : http://c2.com/cybords/files/biota.html
- BF : http://www.iwriteiam.nl/Ha_bf_online.html
- BrainClub : http://esolangs.org/wiki/BrainClub
- Brainfuck : http://justice.loyola.edu/~mcoffey/pr/5k/i.html
- BrainSpace : http://code.google.com/p/brainspace/
- CAT : http://www.cat-language.com/interpreter.html
- Esoteric languages : http://www.safalra.com/programming/esoteric-languages/interpreters
- F# : http://fswebtools.codeplex.com/
- False : http://www.quirkster.com/iano/js/false-js.html
- Kemuri : http://www.nishiohirokazu.org/files/python4js.html
- Paintfuck : http://www.formauri.es/personal/pgimeno/temp/esoteric/paintfuck/paintfuck.php
- PushScript : http://www.spiderland.org/PushScript/
- SNUSP : http://www.quirkster.com/iano/snusp/snusp-js.html
et enfin, quelques interpréteurs de pseudo-code :
- Java : (je n’ai plus l’adresse)
- OCaml : http://www.pps.jussieu.fr/~canou/obrowser/tutorial/
- Python : http://code.google.com/p/pejs/
- Ruby : http://www.infoq.com/news/2008/03/hotruby-ruby-yarv-in-javascript
(et il y a aussi des machines amiga / zx / hp / Apple II / … qui sont émulées et des langages visuels Lily, … )
d’autres : http://del.icio.us/search/?all=javascript%20interpreter (ou faire une requête interpreter in javascript)
Attention : il s’agit bien de langage interprété par javascript, et pas le contraire (il y a aussi beaucoup d’interpréteur de javascript dans des langages différents et variés, en particulier en C)
Associé à un éditeur texte web un peu performant, j’imagine des pages possédant un editeur de texte, un interpreteur, et un peu de logique pour analyser/diagnostiquer les productions d’élèves, cela donnerait une page web facile à intégrer à toute plateforme de e-learning et aussi puissante que les rares LispTutor (Elm-Art : http://www.psychologie.uni-trier.de/projects/ELM/elmart.html), et autres rares tuteurs disponibles sur le web (pour un coût beaucoup moindre) … J’imagine même des composants génériques pour le diagnostic/analyse des langages de programmation.
Pour les éditeurs web de textes, il y a ce qu’il faut sur le web :
- http://marijn.haverbeke.nl/highlight/index.html
- http://codepress.sourceforge.net/index.php
- http://helene.muze.nl/ariadne/loader.php/helene/demo/
- http://demo.aboutedit.com/
- https://bespin.mozilla.com/
- …
Il reste à produire les outils d’analyse/diagnostic génériques et lier le tout … (le tout en javascript, biensur)
Bien à vous,
Denis.
ps : Si quelqu »un connait un autre interpréteur javascript d’un langage, qu’il l’ajoute, en particulier pour C, je cherche encore. Et si vous avez des exemple de pages web ou des interpréteurs sont utilisées à des fins éducatives, je suis aussi interressé.
MAJ 2012 :
Pour ARM, voila un début d’interptéteur écrit en javascript : http://bdenis.pbworks.com/w/page/50436980/mini%20interpreteur%20ARM
Pour le projet de plateforme d’edition, d’interprétation, d’analyse de code voila : http://edba.imag.fr
2011-2012 : examen première session
Sujet d’examen de 2011-2012 : première session (avec éléments de solution) : ALM_L3_Examen_Session1_Dec2009_Miage
Liste des enseignements
- Architecture des ordinateurs
- 1 : rep. info, asm, proc.
- 2 (resp.) : rep. info, circuits, proc.
- Programmation logique avec contrainte (resp.)
- Algorithmique impérative
- Projet
Hello world!
Welcome to WordPress.com. After you read this, you should delete and write your own post, with a new title above. Or hit Add New on the left (of the admin dashboard) to start a fresh post.
Here are some suggestions for your first post.
- You can find new ideas for what to blog about by reading the Daily Post.
- Add PressThis to your browser. It creates a new blog post for you about any interesting page you read on the web.
- Make some changes to this page, and then hit preview on the right. You can always preview any post or edit it before you share it to the world.