#lang play (print-only-errors) ;===================================== #| Gramática BNF del lenguaje core: ::= {* } ::= {define { *} } ::= | | | {add1 } | {+ } | {- } | { *} |# ;===================================== #| Definiciones de los Tipos de Datos |# (deftype Fundef (fundef name args body)) (deftype Expr (num n) (id s) (bool b) (add1 e) (add l r) (sub l r) (app name args)) (deftype Prog (prog funs body)) #| Parser |# ; parse-fundef :: ... ; ... (define (parse-fundef src) ...) ; parse-expr :: ... ; ... (define (parse-expr src) ...) ; parse-prog :: ... ; ... (define (parse-prog src) ...)