IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques, systèmes et outils C Discussion :

Compilateur C qui génère un byte code "facile" à interpréter


Sujet :

Bibliothèques, systèmes et outils C

  1. #1
    Membre confirmé
    Avatar de Captain'Flam
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 273
    Points : 455
    Points
    455
    Billets dans le blog
    1
    Par défaut Compilateur C qui génère un byte code "facile" à interpréter
    Bonjour,

    tout est dans le titre...

    Je cherche (à tâtons) à savoir s'il existe un compilateur de C (standard) qui génère un byte code indépendant de la plateforme et "facile" à interpréter.
    Par "facile" à interpréter, j'entends que l'interpréteur de ce byte code soit simple à écrire en C.
    (grosso modo, une grosse fonction avec un gros switch/case dedans)

    J'ai regardé LLVM mais le byte code est encore trop compliqué à mon goût.
    Un générateur de p-code serait plus proche de mes attentes, mais il ne semble pas y avoir de compilateur C -> p-code.

    Donc si par hasard, quelqu'un connaît un machin qui ressemble à ça...

    Merci d'avance !
    Captain'Flam
    anciennement Sopsag, aka Hadrien
    Win seven x64 & Win 10 / Visual 2017 / Python 2.7 / Eclipse

  2. #2
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Bonjour,

    je suppose que tu as plusieurs solutions. gcc accepte des plugins, tu peux en développer un pour «générer» ton propre bytecode ; clang est peut-être plus adapté ?
    Sinon tu as le backend MMIX de gcc qui génère du code MMIX qui est l'assembleur pseudo-code utilisé par Knuth dans le TAOCP (nouvelle version).

    Tu veux faire quoi ? ok, compiler un source C en byte code pour l'interpréter, mais pour en faire un langage plus simple que tu utiliserais dans une autre application ?

  3. #3
    Membre confirmé
    Avatar de Captain'Flam
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 273
    Points : 455
    Points
    455
    Billets dans le blog
    1
    Par défaut
    Merci picodev,

    mon but est de réaliser une toute petite machine virtuelle embarquée dans un logiciel.
    Ça me permettrait d'avoir une partie variable dans mes algos...
    Captain'Flam
    anciennement Sopsag, aka Hadrien
    Win seven x64 & Win 10 / Visual 2017 / Python 2.7 / Eclipse

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Et tu as besoin que cette partie variable soit interprétée à la volée? C'est à dire que le code soit donné pendant l'exécution du programme?
    Ne pourrais-tu pas simplement utiliser un système de plugins?

    Si vraiment tu as besoin d'une interprétation, tu pourrais passer par python, lua, perl, ou d'autres langages de ce type, qui fournissent déjà les interpréteurs.

    Autre suggestion: si c'est limité à un domaine spécifique, comme du calcul mathématique, par exemple, tu peux peut-être définir toi même ton format d'entrée, et construire ton interpréteur.
    Selon les cas, ca peut être assez simple.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Sinon, tu peux regarder google("C interpreter")[0]
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

Discussions similaires

  1. Code html qui génère une erreur javascript
    Par AyManoVic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2011, 11h31
  2. Réponses: 3
    Dernier message: 29/08/2007, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo