Using brag as a submodule

When I was using ragg in class, I could use something like

(module grammar1 ragg/sexp/lang
dog: sentence+

sentence: BARK+ "."
)

(require (prefix-in grammar1: (submod "." grammar1)))

to embed a brag grammar inside e.g. a "#lang racket" driver. This was useful because it allowed me to stick with single files and avoid handin-server complications.

Is there some way to have similar embedding with brag? I understand brag/sexp/lang is not a thing. I looked at the brag test suite, and it seems to have all the grammars in external files (except where it uses what looks like syntax-parse output).

P.S. Apologies if this appears multiple times. I've been having troubles
with mailing list mode.

1 Like