You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
beautiful-racket/beautiful-racket-demo/basic-demo/main.rkt

15 lines
609 B
Racket

8 years ago
#lang br/quicklang
8 years ago
(require "parser.rkt" "tokenizer.rkt" brag/support)
8 years ago
8 years ago
(module+ reader (provide read-syntax))
8 years ago
(define (read-syntax path port)
(define-values (line col pos) (port-next-location port))
(define port+newline (input-port-append #f port (open-input-string "\n")))
(port-count-lines! port+newline)
(set-port-next-location! port+newline line col pos)
8 years ago
(with-handlers ([exn:fail:parsing? (λ (exn) (displayln "Sorry!") (raise exn))])
(define parse-tree (parse path (make-tokenizer port+newline)))
(strip-bindings
#`(module basic-mod basic-demo/expander
#,parse-tree))))