Skip to content

twilight1794/lily

lily

Biblioteca en C99 que implementa un metaensamblador, un metadesensamblador, y un metahipervisor para muchos microprocesadores.

GitHub commit !activity GitHub code size in !bytes

Características

  • Portable: escrito en C99, corre tanto en Windows, en Linux, o incluso en tu navegador.
  • Extensible: añade soporte para un microprocesador describiéndolo con un esquema.
  • Libre: es software libre, puedes usarlo como quieras, e incluso distribuirlo y modificarlo sin otra condición que conservar la misma licencia.
  • Fácil de integrar: se provee una API sencilla, en C y en JavaScript, para la biblioteca compartida.

Instalación

Requerimientos

La biblioteca compartida solo depende de liblua5.4.8. Si usas un sistema de tipoUnix, el script misc/scripts/install-lua instalará los archivos de biblioteca necesarios en tu sistema. Si vas a generar una compilación para web, se recomienda que uses este script en vez de instalar la versión provista por el administrador de paquetes de tu distribución. El cliente CLI requiere además libgettext.

Compilación

Para compilar, necesitas make. La receta tratará de determinar tu sistema operativo automáticamente, así que en general, bastará con hacer make y make install. Para hacer otros ajustes, revisa el Makefile para todas las opciones disponibles.

Contribuciones

Son bienvenidas las contribuciones, especialmente si éstas son esquemas de microprocesador para nuevas arquitecturas, o mejoras de las existentes. Para contribuciones sobre el núcleo, sería buena abrir una incidencia antes para discutir los posibles cambios.

Hay qué tener en cuenta una cosa en cuanto al código: se ha de tratar, en la medida de lo posible, de mantener al mínimo las dependencias necesarias para construir la biblioteca, para mantener simple la compilación y, el tamaño de los objetos generados.

Motivaciones

Este proyecto esta pensado para ser la base independiente de un proyecto PAPIME, HexaCode, que tiene como propósito ofrecer un entorno de desarrollo moderno y amigable (aunque no por ello simple) principalmente para todos los alumnos de las asignaturas de Estructura y programación de computadoras. Mientras que HexaCode no es un programa libre, Lily sí lo es, porque por diversas razones, su autor considera que el software utilizado en la educacion debe ser libre (vease Por qué las escuelas deben usar exclusivamente software libre.

Licencia

Este proyecto es software libre, bajo la licencia GNU GPL versión 3 o posterior. El código fuente en misc/asm, y en test/ tienen licencia Unlicense. La documentación en doc/ tiene licencia GNU Free Documentation License 1.3 o posterior, y la licencia Creative Commons Atribución-CompartirIgual 4.0 o posterior.

About

biblioteca C para el hipervisor Lily

Resources

License

GPL-3.0 and 3 other licenses found

Licenses found

GPL-3.0
COPYING
CC-BY-SA-4.0
COPYING.CCBYSA
GFDL-1.3
COPYING.GFDL
Unlicense
COPYING.UNLICENSE

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors