2016-10-11 7 views
1

Je suis intéressé par la façon dont un langage de niveau supérieur (semblable à Java) pourrait être construit à partir d'un langage basé sur une pile (de type Forth). Quelqu'un peut-il recommander de la littérature, de préférence un livre? Dans le cas où cela est utile: L'application est la construction d'un langage de niveau supérieur à partir du script de Bitcoin.Langage de niveau supérieur à partir d'un langage basé sur une pile

+0

Pour répondre à la question, un peu d'histoire en informatique est nécessaire. Ada Lovelace a publié dans son journal un algorithme appelé "Note G" qui utilise le moteur analytique en tant que stackmachine pour écrire un programme de haut niveau. Sous la condition préalable que le moteur analytique était réel, il est possible d'utiliser la notation polonaise pour construire des programmes informatiques. [Visualisation du moteur analytique semblable à un jeu] (https://rclab.de/rclab/_media/analyticalengine/ae-game-v1.1.pdf) –

+0

Voici un Lisp écrit dans Forth: http: // forums. parallax.com/discussion/160027/lisp-technically-scheme-written-in-forth – AshleyF

+0

Les langages Java et .NET sont compilés dans une machine à pile (JVM, CLR, ...) – AshleyF

Répondre

1

Le langage de script utilisé par Bitcoin n'a pas de boucle et n'est pas complet à Turing. Voir https://en.bitcoin.it/wiki/Script

Il n'est pas possible d'écrire un interpréteur ou un compilateur pour un langage Turing complet dans ce langage.