2 years ago

#69778

test-img

Rodrigo Ribeiro

Trouble in defining languages using racket

I'm learning racket and as a way to consolidate my knowledge I'm trying to build a library for parser expression grammars (PEG). My intention is to build a language to express PEGs and the module should export a function parser that receives a string and tries to parse it using the grammar defined in the language. However, I'm struggling with building this module using the following read function:

(define (peg-read-syntax path port)
    (define grammar (parse port))
    (datum->syntax
     #f
     `(module peg-mod racket
        (provide parser
                 pretty
                 (all-from-out "tree.rkt"))
        (define (parser s)
           (peg-parse ,grammar s))
        (define (pretty t)
          (peg-pretty ,grammar t))))))

and racket returns the following error whenever I try to process a program in #lang peg language:

default-load-handler: expected a `module' declaration, but found something else

Can someone help me with this mistake? The complete project is at the following github repo:

https://github.com/lives-group/peg-parsing

racket

0 Answers

Your Answer

Accepted video resources