- Leer ” Estructura e interpretación de programas informáticos”. El Capítulo 4 requiere que escribas un intérprete de Scheme usando Scheme – un evaluador de metaciclo. Enseña muchos conceptos de programación.
- Revisa estos cursos. Se trata de “cómo pensar acerca de los lenguajes de programación” en lugar de enseñar algunos lenguajes X. SML, Racket y Ruby se usan para enseñar. La Parte B requiere que escribas un intérprete simple en Racket.
- Lenguajes de programación, Parte A – Universidad de Washington | Coursera
- Lenguajes de programación, Parte B – Universidad de Washington | Coursera
- Lenguajes de programación, Parte C – Universidad de Washington | Coursera
- Estudio sobre varios lenguajes de programación que ya están disponibles. Pero recuerda que gran parte de lo básico es lo mismo. De esa manera usted puede decidir qué características incluir o no. Aquí están algunas…
- ¿Tu lenguaje usa un recolector de basura como Java? ¿O es responsabilidad del programador como en C? ¿O utilizas el recuento de referencias como en Swift? De otra manera, revisa la propiedad de Rust y pide semántica prestada.
- Mecanografiado estáticamente o dinámicamente? ¿Tiene un sistema de Inferencia de Tipo? Compare los sistemas de tipos de C ++, Haskell, Scala, Java, etc.
- Apoyo a la concurrencia. Echa un vistazo a la rutina Go de Golang y las características del canal, el modelo de actor de Erlang.
- En la parte frontal: ¿planea incluir macros, coincidencia de patrones? ¿Qué pasa con la sintaxis y la gramática asociada? Manténgalo simple para que pueda usar generadores de analizador sin mucha molestia.
- Creo que sabes sobre herramientas como lex y yacc, flex y bison y sus contrapartes para otros idiomas. Usalos, usalos a ellos.
- Creo que conoces el famoso ” Libro del Dragón”. Además de eso, echa un vistazo a ” El libro de Tiger” – Implementación de compilador moderno . Creo que esto ayuda. Parece que el libro está dirigido a estudiantes que toman cursos de compilación. Se da un resumen y los detalles de la implementación se dejan como ejercicio. No es tan grande como el libro del Dragón, pero es práctico.
Dicho esto, escribe primero un intérprete para tu idioma. Es simple.
No he trabajado con eso, pero he oído hablar de la infraestructura de compilador LLVM que también se usa en muchos compiladores de calidad de producción. Si encuentra buenos recursos, por favor, deje un mensaje.
Buena suerte 🙂