Hola,
Primero, déjame intentar convencerte de que no construyas un compilador …
Esto será un gran desperdicio de su tiempo, lo hará sentir miserable y no servirá de nada para mejorar las habilidades que necesitará como programador, a menos que quiera ocupar puestos de trabajo y roles muy específicos. Si ha estado “jugando” durante 3 años, supongo que su futuro no está en el mundo ultra-hardcore del desarrollo del lenguaje de programación, el diseño de hardware o la informática profunda. Si realmente ha puesto sus esperanzas en cualquiera de estas cosas, salte la siguiente sección y diríjase al bit de “cómo hacer” al final.
Pero por ahora … esto solo te hará infeliz o loco, o ambos. Si quieres ser un buen desarrollador y ganar un montón de dinero en la construcción de aplicaciones, este es el mejor método …
- ¿Qué cosas debo hacer para aprender cosas nuevas cada día?
- ¿Cuál es el mejor sitio web para aprender inglés para principiantes?
- ¿Debo aprender F2L intuitivo o F2L algorítmico?
- ¿Cuánto tiempo me llevará aprender SQL y VBA si estoy bien con Excel?
- ¿Cuáles son las principales cosas que debes aprender mientras estás en la escuela secundaria?
- Obtenga información acerca de las bases de datos: el 99% de todas las aplicaciones comerciales dependen del acceso a la base de datos, y un buen 50% del rendimiento de la aplicación depende realmente de la base de datos en lugar del código C ++ de Hella-awesome (su código C ++ pasará la mayor parte de su vida esperando datos
- Aprenda sobre los seres humanos: el 99% de los problemas con las aplicaciones se deben al desarrollador que no entiende lo que el cliente quería, a menudo porque el cliente no estaba del todo seguro de lo que quería, o luchó por describirlo
- Aprender sobre metodologías de desarrollo – especialmente ágil. Trabajar en un proyecto casi siempre significa ser parte de un equipo, aprender sobre lo que significa desarrollarse conjuntamente, cumplir con los plazos, planificar su trabajo y participar en un grupo es una habilidad clave para aprender.
Escribir un compilador te ayudará con NINGUNA de estas cosas, así que, por favor, por el amor de todas las cosas buenas y puras, detén esta cosa “compilador” descabellada y concéntrate en adquirir habilidades que te sean útiles.
CÓMO…
Primero, realmente necesita dominar Assembler: el lenguaje ensamblador es prácticamente el “código de máquina” que los microprocesadores entienden. El trabajo de un compilador es tomar las instrucciones que ha escrito en el idioma que elija e incluirlas en Assembler. C es un lenguaje ostentoso para iniciar un viaje de compilación, ya que los enunciados en C se insertan muy naturalmente en las instrucciones de ensamblaje.
Pruebe primero con el ensamblador. Es posible que desee probar suerte con algunos procesadores muy simples. Consulte Microchip y la familia de procesadores PIC. Estos pequeños tienen una pequeña cantidad de instrucciones y serían un buen lugar para comenzar a aprender a escribir ensambladores.
Cuando realmente estés cambiando de forma cómoda con el ensamblador, consulta los libros que Mohammed Isam enumeró en su respuesta … si Crafting A Compiler: Charles N. Fischer, Ron K. Cytron, Richard J. LeBlanc Jr .: 9780136067054: Amazon.com: ¡Los libros no te asustan mucho, sino que te llenan las botas y te dan más poder!