Differences
This shows you the differences between two versions of the page.
teaching:cc4101:tareas:2022-1:tarea2:parte0 [2022/05/04 15:55] – created tdiaz | teaching:cc4101:tareas:2022-1:tarea2:parte0 [2022/05/04 16:02] (current) – [Los lenguajes SL y CL] tdiaz | ||
---|---|---|---|
Line 13: | Line 13: | ||
Un programa SL se ejecuta mediante una transformación a CL. En el código entregado, esta transformación es bastante trivial: convierte los nodos del AST del programa SL en nodos del AST de un programa CL. Su único rol es borrar la información de tipado, y convertir el '' | Un programa SL se ejecuta mediante una transformación a CL. En el código entregado, esta transformación es bastante trivial: convierte los nodos del AST del programa SL en nodos del AST de un programa CL. Su único rol es borrar la información de tipado, y convertir el '' | ||
- | Los archivos que les entregamos incluyen: | + | Los archivos que les entregamos incluyen: |
- | * para SL: definición de la sintaxis, AST, parser, typechecker | + | |
* para CL: definición de la sintaxis, AST, parser, e intérprete | * para CL: definición de la sintaxis, AST, parser, e intérprete | ||
+ | * para SL: definición de la sintaxis, AST, parser, typechecker y transformación a CL | ||
Note que el typechecker de SL opera de manera distinta a lo que vimos en la tarea anterior: la información de tipo se hace persistente en cada nodo del AST. Es decir, cada expresión (nodo del AST) lleva consigo información de su tipo, la cual se inicializa al valor ''# | Note que el typechecker de SL opera de manera distinta a lo que vimos en la tarea anterior: la información de tipo se hace persistente en cada nodo del AST. Es decir, cada expresión (nodo del AST) lleva consigo información de su tipo, la cual se inicializa al valor ''# |