¿Para qué lenguajes de programación reales son fáciles de escribir los intérpretes?

StackOverflow https://stackoverflow.com/questions/1236077

  •  22-07-2019
  •  | 
  •  

Pregunta

¿Para qué lenguajes de programación reales son fáciles de escribir los intérpretes?

" Real " idiomas para mí, son idiomas con los que puedes escribir un proyecto pequeño, no uno de los Lenguajes de programación esotéricos .

(pregunto porque quiero hacer algún proyecto de pasatiempo)

¿Fue útil?

Solución

El Evaluador Metacircular en SICP es un ejercicio para escribir un intérprete de Scheme en Scheme. Es un proyecto común de CS de primer año.

Otros consejos

Es muy fácil escribir un intérprete para la programación idioma Forth (una vez que sepa cómo, pero está bien) documentado). Forth ha estado en uso para problemas del mundo real por más de 40 años.

Quizás sea demasiado fácil, pero aprenderá mucho en el proceso.

Una introducción alegre (en línea) está en capítulo 9 de Leo Brodie's " Starting FORTH ".

El Wirth's Pascal original es un buen candidato, y a menudo se usa como demostración en generadores de analizadores sintácticos. Su gramática es LL (1) y, por lo demás, bastante estricta, por lo que es fácil de analizar. En cuanto a las características, también es bastante limitado.

Sin embargo, es posible que desee jugar un poco con él, p. es posible que desee ignorar los punteros, pero admitir cadenas de primera clase.

Adelante. Bien, ahora solo estoy escribiendo esto porque necesito al menos 15 caracteres en la respuesta, pero las implementaciones más pequeñas de Forth son un par de KB. Es difícil pensar en otro idioma que pueda tener un núcleo tan pequeño. Tal vez el McCarthy 1958 Lisp original, donde las funciones fueron compiladas a mano.

Esquema, o cualquier variante lisp.

En mi clase de sistemas operativos de la universidad, escribimos un intérprete para Db (D-flat). Fue muy simple y bien definido.

Creo que un lenguaje de sintaxis de marcado, Liran. La estructura de sintaxis facilita el análisis, ya que los bloques de código están claramente delineados entre las etiquetas de inicio y fin. Teóricamente, podría crear fácilmente un intérprete de nivel 1 que analice y ejecute el código directamente.

Dicho esto, no hay ningún lenguaje de marcado que haga cosas significativas en el contexto al que parece que estás apuntando (es posible que quieras escribir el tuyo). La siguiente mejor opción sería probablemente lenguajes con una funcionalidad mínima y preferiblemente que no admitan la programación de procedimientos. Un lenguaje como BASIC debería ser fácil de construir para un intérprete de nivel 1.

La siguiente mejor opción es quizás los primeros lenguajes de script que no ofrecían muchos elementos sintácticos y eran bastante cortos en complejidad. Sin embargo, no puedo pensar en ninguno.

Pero quizás la mejor opción de todas es que diseñe su propio idioma. El intérprete se vuelve más fácil de construir porque tiene un conocimiento profundo de la sintaxis del lenguaje y puede gobernar su propia estructura y semántica en el intérprete.

...

La insistencia en el intérprete de nivel 1 se debe a que mencionaste que lo quieres fácil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top