{"id":241,"date":"2012-02-20T09:58:45","date_gmt":"2012-02-20T09:58:45","guid":{"rendered":"http:\/\/bdenisb.wordpress.com\/?p=117"},"modified":"2012-02-20T09:58:45","modified_gmt":"2012-02-20T09:58:45","slug":"117","status":"publish","type":"post","link":"https:\/\/lig-membres.imag.fr\/denisb\/117\/","title":{"rendered":"Des interpr\u00e9teurs javascript &#8230;"},"content":{"rendered":"<p>(r\u00e9daction initale en Juin 2007)<\/p>\n<p>Quelle surprise il y a quelques semaines quand j&#8217;ai cherch\u00e9 sur le web si, par hasard, il existait un interpr\u00e9teur C \u00e9crit en javascript qui pourrait tourner dans une fen\u00eatre web. Bon, pour l&#8217;insant je n&#8217;ai pas trouv\u00e9 ce que je voulais (j&#8217;ai tout de m\u00eame fait connaissance avec CINT (http:\/\/root.cern.ch\/root\/Cint.html) et Ch (http:\/\/www.softintegration.com\/), et c&#8217;est d\u00e9j\u00e0 une bonne chose), mais j&#8217;ai d\u00e9couvert plein d&#8217;autres langages poss\u00e9dant sur le web un interpr\u00e9teur javascript (ou au moins une <em>version web<\/em>), en particulier ProLog ! :<\/p>\n<p>par ordre alphab\u00e9tique (pour les plus connus) :<\/p>\n<ul>\n<li>Basic : <a href=\"http:\/\/www.quitebasic.com\/\">http:\/\/www.quitebasic.com\/<\/a><\/li>\n<li>CAML : <a href=\"http:\/\/pagesperso-orange.fr\/jacques.rouable\/mic\/ac.htm\">http:\/\/pagesperso-orange.fr\/jacques.rouable\/mic\/ac.htm<\/a><\/li>\n<li>Forth : <a href=\"http:\/\/forthfreak.net\/jsforth.html\">http:\/\/forthfreak.net\/jsforth.html<\/a><\/li>\n<li>Javascript (il y en a beaucoup, avec juste &#8216;eval&#8217;) : <a href=\"http:\/\/mochikit.com\/examples\/interpreter\/\">http:\/\/mochikit.com\/examples\/interpreter\/<\/a> mais pas <a href=\"http:\/\/mxr.mozilla.org\/mozilla\/source\/js\/narcissus\/\">http:\/\/mxr.mozilla.org\/mozilla\/source\/js\/narcissus\/<\/a> (self-interpreter !)\u00a0 ou <a href=\"https:\/\/github.com\/jterrace\/js.js\">https:\/\/github.com\/jterrace\/js.js<\/a> (obtenu avec\u00a0<a href=\"https:\/\/github.com\/kripken\/emscripten\">https:\/\/github.com\/kripken\/emscripten<\/a>) voir aussi l&#8217;avancement de <a href=\"http:\/\/code.google.com\/p\/s-mr\/\">s-mr<\/a> <a href=\"http:\/\/mochikit.com\/examples\/interpreter\/\"><br \/>\n<\/a><\/li>\n<li>Lisp (il y en a d&#8217;autres) : <a href=\"http:\/\/www.joeganley.com\/code\/jslisp.html\">http:\/\/www.joeganley.com\/code\/jslisp.html<\/a><\/li>\n<li>Logo : <a href=\"http:\/\/www.logowiki.net\/\">http:\/\/www.logowiki.net\/<\/a> ou <a href=\"http:\/\/www.calormen.com\/Logo\/\">http:\/\/www.calormen.com\/Logo\/<\/a> ou &#8230;<\/li>\n<li>Mix : <a href=\"http:\/\/www.recreationalmath.com\/mixal\/\">http:\/\/www.recreationalmath.com\/mixal\/<\/a><\/li>\n<li>ML : <a href=\"http:\/\/darknoon.com\/orc\/\">http:\/\/darknoon.com\/orc\/<\/a><\/li>\n<li>Pdf :<a href=\"http:\/\/logand.com\/sw\/wps\/index.html\"> http:\/\/logand.com\/sw\/wps\/index.html<\/a><\/li>\n<li>Php : <a href=\"http:\/\/code.google.com\/p\/phype\/\">http:\/\/code.google.com\/p\/phype\/<\/a><\/li>\n<li>PostScript : <a href=\"http:\/\/logand.com\/sw\/wps\/index.html\"> http:\/\/logand.com\/sw\/wps\/index.html<\/a><\/li>\n<li>ProLog (il y en a d&#8217;autres) : <a href=\"http:\/\/ioctl.org\/logic\/prolog-latest\">http:\/\/ioctl.org\/logic\/prolog-latest<\/a><\/li>\n<li>Python : <a href=\"http:\/\/syntensity.com\/static\/python.html\">http:\/\/syntensity.com\/static\/python.html<\/a><\/li>\n<li>Ruby : <a href=\"http:\/\/coderepos.org\/share\/wiki\/JSRuby\">http:\/\/coderepos.org\/share\/wiki\/JSRuby<\/a><\/li>\n<li>Scheme :<a href=\"http:\/\/www.crockford.com\/javascript\/scheme.html\"> http:\/\/www.crockford.com\/javascript\/scheme.html<\/a><\/li>\n<li>Smalltalk : <a href=\"http:\/\/www.cs.ucla.edu\/%7Eawarth\/ometa\/ometa-js\/\">http:\/\/www.cs.ucla.edu\/~awarth\/ometa\/ometa-js\/<\/a><\/li>\n<li>TCL : <a href=\"http:\/\/wiki.tcl.tk\/17972\">http:\/\/wiki.tcl.tk\/17972<\/a><\/li>\n<li>X86 : <a href=\"http:\/\/www.xpounded.netfirms.com\/jasm\/jasm.html\">http:\/\/www.xpounded.netfirms.com\/jasm\/jasm.html<\/a><\/li>\n<li>6502 : <a href=\"http:\/\/6502asm.com\/\">http:\/\/6502asm.com\/<\/a><\/li>\n<\/ul>\n<p>quelques uns moins connus :<\/p>\n<ul>\n<li>Arc : <a href=\"http:\/\/jonathan.tang.name\/files\/arclite\/index.html\">http:\/\/jonathan.tang.name\/files\/arclite\/index.html<\/a><\/li>\n<li>Aheui : <a href=\"http:\/\/puzzlet.org\/doc\/aheui\/jsaheui_en.html\">http:\/\/puzzlet.org\/doc\/aheui\/jsaheui_en.html<\/a><\/li>\n<li>Ambi : <a href=\"http:\/\/code.google.com\/p\/ambi\/\">http:\/\/code.google.com\/p\/ambi\/<\/a><\/li>\n<li>Befalse : <a href=\"http:\/\/www.quirkster.com\/iano\/js\/befalse.html\">http:\/\/www.quirkster.com\/iano\/js\/befalse.html<\/a><\/li>\n<li>Befunge : <a href=\"http:\/\/www.quirkster.com\/js\/befunge.html\">http:\/\/www.quirkster.com\/js\/befunge.html<\/a><\/li>\n<li>Biota : <a href=\"http:\/\/c2.com\/cybords\/files\/biota.html\">http:\/\/c2.com\/cybords\/files\/biota.html<\/a><\/li>\n<li>BF : <a href=\"http:\/\/www.iwriteiam.nl\/Ha_bf_online.html\">http:\/\/www.iwriteiam.nl\/Ha_bf_online.html<\/a><\/li>\n<li>BrainClub : <a href=\"http:\/\/esolangs.org\/wiki\/BrainClub\">http:\/\/esolangs.org\/wiki\/BrainClub<\/a><\/li>\n<li>Brainfuck : <a href=\"http:\/\/justice.loyola.edu\/%7Emcoffey\/pr\/5k\/i.html\">http:\/\/justice.loyola.edu\/~mcoffey\/pr\/5k\/i.html<\/a><\/li>\n<li>BrainSpace : <a href=\"http:\/\/code.google.com\/p\/brainspace\/\">http:\/\/code.google.com\/p\/brainspace\/<\/a><\/li>\n<li>CAT : <a href=\"http:\/\/www.cat-language.com\/interpreter.html\">http:\/\/www.cat-language.com\/interpreter.html<\/a><\/li>\n<li>Esoteric languages :<a href=\"http:\/\/www.safalra.com\/programming\/esoteric-languages\/interpreters\/\"> http:\/\/www.safalra.com\/programming\/esoteric-languages\/interpreters<\/a><\/li>\n<li>F# : <a href=\"http:\/\/fswebtools.codeplex.com\/\">http:\/\/fswebtools.codeplex.com\/<\/a><\/li>\n<li>False : <a href=\"http:\/\/www.quirkster.com\/iano\/js\/false-js.html\">http:\/\/www.quirkster.com\/iano\/js\/false-js.html<\/a><\/li>\n<li>Kemuri : <a href=\"http:\/\/www.nishiohirokazu.org\/files\/python4js.html\">http:\/\/www.nishiohirokazu.org\/files\/python4js.html<\/a><\/li>\n<li>Paintfuck : <a href=\"http:\/\/www.formauri.es\/personal\/pgimeno\/temp\/esoteric\/paintfuck\/paintfuck.php\">http:\/\/www.formauri.es\/personal\/pgimeno\/temp\/esoteric\/paintfuck\/paintfuck.php<\/a><\/li>\n<li>PushScript : <a href=\"http:\/\/www.spiderland.org\/PushScript\/\">http:\/\/www.spiderland.org\/PushScript\/<\/a><\/li>\n<li>SNUSP : <a href=\"http:\/\/www.quirkster.com\/iano\/snusp\/snusp-js.html\">http:\/\/www.quirkster.com\/iano\/snusp\/snusp-js.html<\/a><\/li>\n<\/ul>\n<p>et enfin, quelques interpr\u00e9teurs de pseudo-code :<\/p>\n<ul>\n<li>Java : (je n&#8217;ai plus l&#8217;adresse)<\/li>\n<li>OCaml : <a href=\"http:\/\/www.pps.jussieu.fr\/%7Ecanou\/obrowser\/tutorial\/\">http:\/\/www.pps.jussieu.fr\/~canou\/obrowser\/tutorial\/<\/a><\/li>\n<li>Python : <a href=\"http:\/\/code.google.com\/p\/pejs\/\">http:\/\/code.google.com\/p\/pejs\/<\/a><\/li>\n<li>Ruby : <a href=\"http:\/\/www.infoq.com\/news\/2008\/03\/hotruby-ruby-yarv-in-javascript\">http:\/\/www.infoq.com\/news\/2008\/03\/hotruby-ruby-yarv-in-javascript<\/a><\/li>\n<\/ul>\n<p>(et il y a aussi des machines amiga \/ zx \/ hp \/ Apple II \/ &#8230; qui sont \u00e9mul\u00e9es et des langages visuels <a href=\"http:\/\/www.lilyapp.org\/\">Lily<\/a>, &#8230; )<\/p>\n<p>d&#8217;autres : <a href=\"http:\/\/del.icio.us\/search\/?all=javascript%20interpreter\">http:\/\/del.icio.us\/search\/?all=javascript%20interpreter<\/a> (ou faire une requ\u00eate interpreter in javascript)<br \/>\nAttention : il s&#8217;agit bien de langage interpr\u00e9t\u00e9 par javascript, et pas le contraire (il y a aussi beaucoup d&#8217;interpr\u00e9teur de javascript dans des langages diff\u00e9rents et vari\u00e9s, en particulier en C)<\/p>\n<p>Associ\u00e9 \u00e0 un \u00e9diteur texte web un peu performant, j&#8217;imagine des pages poss\u00e9dant un editeur de texte, un interpreteur, et un peu de logique pour analyser\/diagnostiquer les productions d&#8217;\u00e9l\u00e8ves, cela donnerait une page web facile \u00e0 int\u00e9grer \u00e0 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\u00fbt beaucoup moindre) &#8230;\u00a0 J&#8217;imagine m\u00eame des composants g\u00e9n\u00e9riques pour le diagnostic\/analyse des langages de programmation.<\/p>\n<p>Pour les \u00e9diteurs web de textes, il y a ce qu&#8217;il faut sur le web :<\/p>\n<ul>\n<li><a href=\"http:\/\/marijn.haverbeke.nl\/highlight\/index.html\">http:\/\/marijn.haverbeke.nl\/highlight\/index.html<\/a><\/li>\n<li><a href=\"http:\/\/codepress.sourceforge.net\/index.php\">http:\/\/codepress.sourceforge.net\/index.php<\/a><\/li>\n<li><a href=\"http:\/\/helene.muze.nl\/ariadne\/loader.php\/helene\/demo\/\">http:\/\/helene.muze.nl\/ariadne\/loader.php\/helene\/demo\/<\/a><\/li>\n<li><a href=\"http:\/\/demo.aboutedit.com\/\">http:\/\/demo.aboutedit.com\/<\/a><\/li>\n<li><a href=\"https:\/\/bespin.mozilla.com\/\">https:\/\/bespin.mozilla.com\/<\/a><\/li>\n<li>&#8230;<\/li>\n<\/ul>\n<p><em>Il reste \u00e0<\/em> produire les outils d&#8217;analyse\/diagnostic g\u00e9n\u00e9riques et lier le tout &#8230; (le tout en javascript, biensur)<\/p>\n<p>Bien \u00e0 vous,<br \/>\nDenis.<\/p>\n<p>ps : Si quelqu&#8221;un connait un autre interpr\u00e9teur javascript d&#8217;un langage, qu&#8217;il l&#8217;ajoute, en particulier pour C, je cherche encore. Et si vous avez des exemple de pages web ou des interpr\u00e9teurs sont utilis\u00e9es \u00e0 des fins \u00e9ducatives, je suis aussi interress\u00e9.<\/p>\n<p>MAJ 2012\u00a0 :<\/p>\n<p>Pour ARM, voila un d\u00e9but d&#8217;interpt\u00e9teur \u00e9crit en javascript : http:\/\/bdenis.pbworks.com\/w\/page\/50436980\/mini%20interpreteur%20ARM<\/p>\n<p>Pour le projet de plateforme d&#8217;edition, d&#8217;interpr\u00e9tation, d&#8217;analyse de code voila : http:\/\/edba.imag.fr<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(r\u00e9daction initale en Juin 2007) Quelle surprise il y a quelques semaines quand j&#8217;ai cherch\u00e9 sur le web si, par [&hellip;]<\/p>\n","protected":false},"author":42,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[91,101,56,105,106,7,41,52,33,20,44,32,77],"tags":[145,175],"class_list":["post-241","post","type-post","status-publish","format-standard","hentry","category-91","category-101","category-algorithmique-recherche","category-algorithmique-de-base","category-arm","category-edba-recherche","category-etat-de-lart","category-html","category-javascript","category-langage-machine","category-lien","category-prolog","category-texte-informel","tag-html-php","tag-version-web"],"_links":{"self":[{"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/posts\/241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/comments?post=241"}],"version-history":[{"count":0,"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/posts\/241\/revisions"}],"wp:attachment":[{"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/media?parent=241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/categories?post=241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lig-membres.imag.fr\/denisb\/wp-json\/wp\/v2\/tags?post=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}