Práctica 5 (5/10)
Orden del día:
- Presentación no-oficial del TPF
- Semánticas formales
- Intervalo?
- Presentación lab 5
- ejercicio 00 lab 5
- Realización del ejercicio 01 + consultas hasta el final de la clase
#
Presentación no oficial del TPFhttps://github.com/compiladores/labs-private/blob/master/TPF.md
#
Targets interesantes (en orden de interés)- LLVM ( https://llvm.org/docs/LangRef.html )
- JVM ( https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html , http://soot-oss.github.io/soot/ )
- webassembly ( https://webassembly.github.io/spec/core/ )
- assembly x86
- LUA bytecode
- Mozart VM ( https://github.com/mozart/mozart2/tree/master/vm )
- assembly arm
- machine code
- Roslyn
#
Herramientas de parsers interesantes (en orden de interés)- https://racket-lang.org/
- https://www.antlr.org/
- https://pegjs.org/
- https://v2.ocaml.org/manual/lexyacc.html
- https://parboiled.org
- https://chevrotain.io/
- https://github.com/jzimmerman/langcc
- https://nearley.js.org/
- https://github.com/Geal/nom
- https://pest.rs/
#
Semánticas formales- (Transformación de predicados)[https://en.wikipedia.org/wiki/Predicate_transformer_semantics]
- (Lógica de Hoare)[https://en.wikipedia.org/wiki/Hoare_logic]
- (Cálculo lambda)[https://en.wikipedia.org/wiki/Lambda_calculus]
- (Semántica denotacional)[http://homepage.cs.uiowa.edu/~slonnegr/plf/Book/Chapter9.pdf]
- (Semántica operacional)[https://en.wikipedia.org/wiki/Operational_semantics]
#
Intervalo?#
Explicación Lab 5 + criterios de corrección- Aceptar el assignment (link ahora o en el mail luego)
- Clonar el assignment YAYAYA
- Puntaje:
- Pasan los test: 6ptos (automático)
- El último commit es previo al martes 18/10 23:59: +2ptos
- Agregar 5 ó más tests que digan "extra" en la descripción (debe ser en otro archivo): +2ptos
- Pasan los tests ejecutados por
make test_while
antes de hoy a las 22: +1 ptos