tutoriales de programación | grupocodesi.com

Cómo ChocoPy usa Python y RISC-V para la creación de compiladores

Cómo ChocoPy usa Python

Como ChocoPy usa python utiliza un lenguaje y una plataforma modernos y conocidos para la instrucción en ciencias de la computación, evitando el legado de las plataformas CISC obsoletas. Si bien los lenguajes de alto nivel como C ++, Go y Python simplifican enormemente la programación en el día a día, estas son abstracciones fundamentalmente necesarias: los procesadores fundamentalmente solo funcionan en un ensamblador, con compiladores necesarios para reducir el código fuente de alto nivel al ensamblaje.

Si bien la capacidad de escribir en ensamblado es un requisito menos práctico en el hardware moderno, la capacidad de leer ensamblado y una comprensión práctica de los compiladores pueden ayudar enormemente a los programadores a comprender el funcionamiento interno de los procesadores y usar esa información para escribir programas más eficientes, incluyendo los desarrollos en Python.

En el caso de ChocoPy, que es un subconjunto restringido de Python 3, fue diseñado para su uso en CS164 (Lenguajes de programación y compiladores) en UC Berkeley. Si bien ChocoPy es un subconjunto de Python, los diseñadores utilizaron un toque ligero: el objetivo era que el lenguaje "fuera lo suficientemente expresivo para escribir programas no triviales", según el documento técnico del proyecto. También menciona que, en particular, querían apoyar un paradigma orientado a objetos con la complejidad suficiente para ilustrar los matices importantes de la verificación de tipos estáticos y la generación eficiente de código.

Por esa razón y muchas otras más no menos importantes, es que te recomendamos este curso de python profesional, el cual lo imparten de manera presencial o en linea, con instructores expertos en este lenguaje de programación.

Como se relaciona ChocoPy con Python

Como se relaciona ChocoPy con Python

Empezaremos por mencionar que Python se usó como base ya que los creadores querían usar un lenguaje cuya sintaxis, reglas de verificación de tipos y semántica operativa estabueran formalmente especificadas, ya que estos conceptos vinculan el componente teórico enseñado en clase con aspectos prácticos del desarrollo del compilador. Al usar la sintaxis de Python, los editores de código con soporte para resaltado de sintaxis ya deberían ser compatibles con ChocoPy para una máxima legibilidad.

Por otro lado, RISC-V, específicamente RV32IM, es el lenguaje ensamblador de destino para ChocoPy. El uso de un lenguaje ensamblador moderno es mucho más práctico para los estudiantes fuera del aula. El ensamblaje Z80, 6502 o 68K en el que las generaciones anteriores de programadores cortaron sus dientes no son relevantes para la informática moderna, mientras que el ensamblaje x86 está sujeto a décadas de cambios para incorporar instrucciones adicionales. (Los cuatro, como conjuntos de instrucciones CISC, son herramientas de aprendizaje menos que óptimas en términos de programación de aprendizaje en lugar de aprender una arquitectura).

necesitas una pagina web

Versatilidad de Python

Para mostrar la versatilidad de Python, un simulador de RISC-V basado en la web proporciona un entorno de prueba y un depurador paso a paso. El simulador está escrito en Kotlin y se puede compilar en JavaScript (para la versión de la GUI web) y en la JVM, para que lo utilice nuestro autocalificador basado en Java.

Como ChocoPy usa python conservando el soporte para enteros, booleanos, cadenas, clases definidas por el usuario, listas (incluidas las listas anidadas), herencia de clases y sobrecarga de métodos, y funciones anidadas que pueden acceder a variables no locales, características comunes en Python. El proyecto estuvo fuertemente influenciado por COOL, un proyecto anterior para enseñar la construcción de compiladores.

Articulos Relacionados a la tecnología Java

Seguridad de Java Java para Android Applets Java Juegos en Java Web Services Java Servidor Java Java 8 Fundamentos de Java 8 Java 3D Curso de Java

Articulos Relacionados a la tecnología Python

Algunas diferencias entre Java y Python Introducción a los lenguajes de programación: Python Fundamentos de la comunidad de desarrolladores de Python Algunas ventajas y desventajas de Python Python o Java, cuál debes elegir Arreglos en Python Clases en Python Importancia de Python Python para Android Pydroid 3 Tutorial Entorno Virtual en Python Fundamentos de Python Caracteristicas de Python Compatibilidad de python con versiones anteriores Importancia de escribir codigo limpio en python Probar Aplicaciones de Python en nevegadores Python para Proyecto de la NASA Aplicaciones creadas con Python Maquinas de Desarrollo en Python Características técnicas del equipo de desarrollo de Python Cómo ChocoPy usa Python y RISC-V para la creación de compiladores Cómo construir un producto fintech con Python

Diseño Web Grupo Codesi