Grammarium?

Someone asked me if there’s a public facing list of grammars made with the Grammar Matrix they could point students to to show “an example of a grammar architecture being applied consistently to x languages.”

Emily pointed me to this list – DELPH-IN , which provides a list but doesn’t immediately indicate which (if any) started from the Matrix Customization system.

She also suggested I ping @bond about a grammarium?

Yes, happily there is now such a collection Francis and I dubbed the DELPH-IN Grammary, with the public website here:

The Github repository for the Grammar is here:

And a public-facing website with online demos of almost all of these grammars is here:

Francis and I will present a paper/poster on the Grammary at LREC next month.

I think “grammarium” was a term I came up with long ago for a hypothetical resource of grammars. I forget the specifics, and others may have also come up with the same term. For instance, Luis mentions it in the source of his iTELL project.

@ebender has the Language CoLLAGE of 567 grammars, but the website hasn’t been updated for a while.

@bond has the Grammary, which looks like a subset of those from the Grammar Catalogue you linked. (@Dan got there first; see above)

Hi,

just a quick note that the demo server is a bit (a lot) buggy — an issue with the gunicorn workers, it works fine locally. I hope to get it debugged in the next two or three weeks.

Is there a page somewhere with instructions for how to run it locally?

I don’t know if the instructions have been posted someplace yet, but here is what worked for me:

git clone GitHub - delph-in/grammary: A collection of grammars, made as accessible as possible · GitHub

[The scripts will build the LTDB resources for all 19 languages/grammars by default, so if you only want to study, for example, the ERG and its treebanks, then edit the file grammary/grammary.toml to comment out all of the grammars you don’t want to use.]

cd grammary

bash compile.sh

cd etc/ltdb; bash deploy.sh

[then control-click on the link presented, to start the local server and open the local grammary web page]

Thanks Dan, I will try to update the README.

If you are only looking at the ERG, then you can just run the ltdb with that:

python scripts/grm2db.py --outdir web/db --ace path/to/METADATA

If you use uv, it should add any dependencies

uv run python scripts/grm2db.py --outdir web/db --ace path/to/METADATA

Fuller instructions here.

I followed Dan’s instructions to get it running locally (though I needed to change the port to something other than 5000 in wsgi.py because of a conflict):

if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True, port=8001) 

Just in case anyone else has that error.

But, when trying to parse with the demo I get this now:

To help diagnose the source of that error, try testing ACE with the compiled grammar from the command line, where $GRAMMARY is a placeholder for the path to where you installed the grammary directory:

cd $GRAMMARY/build/DBS

ace -g ERG_ERG_(2025).dat

Abrams will hire two competent programmers.

If this fails, perhaps the error message will be informative. If you don’t find the expected .dat file, inspect the compilation log to see what went wrong when trying to compile the .dat file:

more ERG_ERG_(2025)-ace.log

Hopefully there will be clues.