3.0.0 • Published 4 months ago

scope-gomez-enrique v3.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 months ago

Open in Codespaces

Lab Hello Compilers

Archivos de la práctica

  • Archivos de código:

    • ast-build.js : Archivo que contiene las funciones que crean los árboles de cada expresión permitida en la calculadora.
    • calc.js : archivo donde jison genera el parser.
    • grammar.jison : archivo que contiene la gramática de la calculadora.
    • lexer.l : archivo que contiene las expresiones regulares para leer los tokens.
    • support-lib.js : archivo que contiene funciones implementadas para realizar operaciones de la calculadora.
    • template.js : archivo con el template para calcular la ruta de donde se encuentra support-lib.js.
    • transpile.js : archivo con la funcion transpile y todas las necesarias para su funcionamiento.
    • calc2js.mjs : arhivo que contiene las opciones y comandos del ejecutable.
  • Archivos de test:

Dentro de la carpeta test se encuentran un archivo test.js que contiene el código para comparar en las pruebas, test-description.js que contiene los datos que se usan para cada prueba que se quiera hacer y una carpeta data que contiene todos los archivos de las 8 pruebas que se realizan para comprobar el correcto funcionamiento del programa.

  • Ejecución:
    • Para compilar el programa se debe de estar en la carpeta principal y ejecutar:
      npm run compile
    • Para ejecutar el programa y que muestre la salida por consola:
      ./bin/calc2js.mjs transpile <fichero>
      Se usa el comando 'transpile', que su finalidad es generar el código javaScript que genera el contenido del fichero que se le pasa. Por ello, se puede hacer un túnel con el comando node para ejecutar el resultado.
      ./bin/calc2js.mjs transpile <fichero> | node
      Si se quiere que la salida de la ejecución sea en un archivo, se usa la opción -o con el nombre del archivo
      ./bin/calc2js.mjs transpile <fichero_entrada> -o <fichero_salida>
      Aunque para hacer las dos cosas a la vez, se puede usar -v para que muestre el código por pantalla también
      ./bin/calc2js.mjs transpile <fichero_entrada> -v -o <fichero_salida>
    • Si se quiere crear todos los tests con los ejemplos que están en la carpeta examples:
      npm createt
    • Para ejecutar los test establecidos:
      npm run test
      Y si se quiere utilizar mocha:
      npm run testw

References