Journal Tagless-final ou l'art de l'interprétation modulaire.

Posté par . Licence CC by-sa
31
22
nov.
2016

Dans la lignée du journal EDSL et F-algèbres, ce journal présente une méthode pour plonger un langage dans un autre (ici OCaml) qui généralise la précédente et centrée autour de la notion d'interprétation. Contrairement aux méthodes plus courantes pour résoudre cette question, la méthode tagless-final permet également de résoudre le problème de l'extensibilité : étendre un type de donnés, ajouter des opérations dessus, sans avoir à réécrire du code déjà compilé et cela avec la sécurité du (...)

Sortie de Rubinius 2.0

Posté par (page perso) . Édité par ZeroHeure, Florent Zara, patrick_g et Nÿco. Modéré par Florent Zara. Licence CC by-sa
34
7
oct.
2013
Ruby

La version 2.0 de Rubinius vient de sortir ! Pour rappel, Rubinius est une alternative à l'interpréteur du langage Ruby de référence nommé MRI (de l'anglais Matz's Ruby Interpreter). Rubinius est une machine virtuelle qui s'appuie sur LLVM pour compiler dynamiquement du code Ruby en code machine natif. Les nouveautés de cette nouvelle version sont profondes :

  • compatibilité avec Ruby 2.1 (qui n'est pas encore sorti), en plus des versions 1.8 et 1.9 ;
  • transformations de plusieurs couches de Rubinius en gems pour simplifier les mises à jour : compilateur, parser, débogueur, bibliothèque standard Ruby, etc. (tout ça est écrit en Ruby !) ;
  • amélioration des performances et de la stabilité dans le but avoué de rester compétitif face à des langages tels que Go, Clojure, ou encore Node ;
  • traditionnelles corrections de bugs.

Vous pouvez tester cette nouvelle version de Rubinius dès maintenant grâce à RVM, rbenv ou chruby !

Forum Linux.général Fonctionnement interpreteur linux

Posté par .
1
14
fév.
2012

Bonjour,

je travaille sur un projet ou je dois modifier un fichier lors de sa propre exécution (je change les opcodes pendant l'exécution du binaire).

Mon problème et que je charge des opcodes non-valides et que l'interpreteur me renvoie l'exception :

illegal instruction

J'essaie de contourner cette limitation, j'ai pensé à mettre une exception (exit), et de la modifier ensuite en une instruction ne faisant rien.

J'ai remarqué que le processeur charge en cache des groupes d'instruction, ce qui fait (...)

Gambas 3 est sorti le 31 décembre 2011

Posté par (page perso) . Édité par baud123, Xavier Claude et Benoît Sibaud. Modéré par Malicia. Licence CC by-sa
29
1
jan.
2012
Technologie

Après quatre années de développement depuis la dernière version, j'ai le plaisir d'annoncer la sortie de la version 3 de Gambas.

Gambas est un langage de programmation objet et une plate-forme de développement pour Unix basée sur un interpréteur BASIC. Il est distribué sous licence GNU GPL.

Il se compose d'un compilateur, d'un interpréteur, d'un ensemble de modules d'extensions appelés composants, d'un environnement de développement intégré complet, et d'une mascotte.

Forum Programmation.autre petite bêtise juste pour amuser les plus fêlés d'entre nous...

Posté par .
4
20
avr.
2011

Bonjour
donc voilà le code en GFORTH capable d'interpréter du BrainFuck

: array         create 0 do 0 , loop does> swap cells + ;
0 value str
0 value size
variable pos
30000 array mem
variable cur
\ helpers
: incr           1 swap +! ;
: decr          -1 swap +! ;
: goto          1- pos ! ;
: cur-char      str pos @ + c@ ;
: mem-null?     cur @ mem @ 0= ;
: end-of-loop?  cur-char [char] ] = ;
(...)