Text.Pandoc.Definition.Pandoc is written in Haskell syntax, so arguably that's already BNF-like..? Which appraoch/tool to use really depends on what you want to do with the tree after that.. On Sunday, April 25, 2021 at 8:19:59 PM UTC+2 ros...-ee4meeAH724@public.gmane.org wrote: > Does anybody have a BNF-style grammar that presents > the AST structure of Text.Pandoc.Definition.Pandoc? > > Something generally like: > > Pandoc = Meta (Block)* > Meta = (Text → MetaValue)* > MetaValue = MetaMap | MetaList | MetaBool | MetaString | MetaInlines > |MetaBlocks > MetaMap = (Text → MetaValue)* > MetaList = (MetaValue)* > MetaBool = Bool > MetaString = Text > MetaInlines = (Inline)* > MetaBlocks = (Block)* > Block = … > > and so on. Each producti0n is a data constructor application. > Basic stuff like Map and List would get their own BNF-style > syntax. > > Or maybe a railway graph? I started to make a cheat-sheet, > but surely such a thing has already been done. > > TIA, > — John > > P.S. Also, someone has surely written an interpreter, > maybe a framework, that starts something like this: > > ```{.lua-exec #thatOne} > return 42 > ``` > neutral content > ```{.lua-exec #thisOne} > print(thatOne) > ``` > > Any hints on where such a thing might be? -- You received this message because you are subscribed to the Google Groups "pandoc-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/d7407dfb-c6ee-42b7-a4cd-b1500b228962n%40googlegroups.com.