Práctica: Analizador Léxico para Un Subconjunto de JavaScript (Variante de antigua p4-t2-lexer)

Práctica: Analizador Léxico para Un Subconjunto de JavaScript (Variante de antigua p4-t2-lexer)

Vamos a trabajar a partir de este repo de Douglas Crockford:

Descripción:

  • tdop.html contains a description of Vaughn Pratt’s Top Down Operator Precedence, and describes the parser whose lexer we are going to write in this lab. Is a simplified version of JavaScript.
  • The file index.html parses parse.js and displays its AST.
  • The page depends on on parse.js and tokens.js.
  • The file parse.js contains the Simplified JavaScript parser.
  • tokens.js produces an array of token objects from a string.

Requisitos

  1. Douglas Crockford escribió este analizador léxico sin usar expresiones regulares. Reescriba el analizador léxico en tokens.js usando expresiones regulares.
  2. Evite que se hagan copias de la cadena siendo procesada. Muévase dentro de la misma cadena usando lastIndex. Quizá usar la opción sticky le ayude. Tiene una solución dada por el profesor en
  3. Modifique la solución de Crockford usado regexps en tokens.js
  4. Añada un server (vea aquí un ejemplo) para el HTML y haga el despliegue de su aplicación en la máquina virtual del iaas o en Heroku
  5. Opcional: Use sessions para controlar quien accede a la aplicación. Puede ver un ejemplo de como hacerlo en los ficheros:
  6. En el README.md escriba un tutorial con lo que ha aprendido en esta práctica
  7. Cuando haga la entrega indique los enlaces a los repos (analizador) así como a los despliegues. Ponga también el enlace al despliegue en el README de su repo.

Recursos

Notas para el Profesor

[~/srcPLgrado/lexical_analysis_top_down_operator_precedence(gh-pages)]$ pwd -P
/Users/casiano/local/src/javascript/PLgrado/lexical_analysis_top_down_operator_precedence
[~/campus-virtual/1819/pl1819/introduccion/tema2-expresiones-regulares-y-analisis-lexico/practicas/p4-t2-lexer/pl1718-solutions(master)]$ pwd -P
/Users/casiano/local/academica/centros/ETSII/GRADO/PL/campus-virtual/tema2-regexp-y-lexico/practica-analisis-lexico-tdop/solutions