Latest "official" ERG grammar images?

I’ve been using the 2018 ERG grammar image from @sweaglesw’s site: ACE: the Answer Constraint Engine, but I think I’ve heard that there are newer ones available? Are there “official” drops of ERG Grammar images somewhere else? Does the ERG get a “release” every so often? If so, is 2018 the latest?

I’ve seen places that describe how to build my own from sources, but I’m hoping that there are times where someone declares the ERG grammar “stable” and does a build and drops it somewhere.

The only place I know of where anybody distributes prebuilt ERG images for ACE is the website you mentioned, and unfortunately I have not been very quick to update it lately. Building your own is really quite easy, though — you download the ERG sources and run just one command that takes about 15 seconds.

ERG releases are tagged in the SVN repository.

1 Like

More about this at

For grammar compilation

OK, thanks for the help everyone. I am putting together a quick summary of how to do this and doing a pull request for an update to this page for posterity. Below is what I have so far.

Unfortunately, the ace -G grammar.dat -g ./config.tdl command at the end gives me the error :

avm path `lex-pred-path’ not specified in configuration!

@sweaglesw , I would love to know what that one command is…Clearly I don’t have it yet.

Getting the grammar

The ERG grammar files can be obtained via SVN:


$ svn checkout http://svn.delph-in.net/erg/trunk

It is also available as part of the LOGON distribution.

The quickest way to get started using the ERG is with the pre-compiled binary available with the
ACE processor. If you want more recent versions of the grammar to use with ACE, you can create a grammar file by checking out a specific ERG release. ERG releases are tagged in the SVN repository. Choose the version you want and check it out using the tag name like this:

svn checkout http://svn.delph-in.net/erg/trunk@tag_name

Then build the grammar file for ACE like this:

cd trunk/ace
ace -G grammar.dat -g ./config.tdl

Thanks @arademaker. BTW, there continue to be links to http://www.delph-in.net/erg in many different places (here and here are two I’ve seen in the last 15 minutes…). I have never seen that site be up, it has been down for literally years now. Do we have a better top level “home page” for the ERG?

You have the right command. The error is surprising. Can you post the full output, and also verify that there is indeed a lex-pred-path := something line in your copy of ./config.tdl?

-Woodley

I believe we can consider ErgTop · delph-in/docs Wiki · GitHub the current Erg homepage. What do you think @Dan? I edited it now adding a link to one additional demo site, currently more stable. But http://erg.delph-in.net/logon is working for me now.

What version of Ace are you using? The command above works for me in the trunk branch of ERG.

I have checked out the 2020 grammar…I think. This is the first time I’ve used svn. I used the command:

svn checkout http://svn.delph-in.net/erg/trunk@2020

There is not a lex-pred-path specified in the config.tdl. In fact, that string doesn’t appear in any file in the sources that I have from issuing the above command.

My ace version is 0.9.31-osx

Here’s the full output from trying to compile:

ericzinda@Erics-New-MBP Enlistments % cd trunk/ace
ericzinda@Erics-New-MBP ace % ace -G grammar.dat -g ./config.tdl
reading configuration       from `./config.tdl'
avm path `lex-pred-path' not specified in configuration!
ericzinda@Erics-New-MBP ace % 

I think you need:

svn checkout http://svn.delph-in.net/erg/tags/2020
1 Like

Yes, use Guy’s invocation to get the 2020 version of the grammar (that instruction is also on the Github ErgTop page). I agree that we’ll make the Github ErgTop the official reference site for the ERG, and I have now restored some of the related content and links that were on the now-expired www.delph-in.net/erg page. (The CSLI machine serving that content sadly collapsed in the spring of 2020, and won’t be replaced.) I will also see about supplying a link to a pre-compiled ERG binary for the 2020 version for use with ACE.

2 Likes

Yep, that fixed it. Thanks @guyemerson!

@sweaglesw, there are different compiled images for the grammar on your ACE download page, but I’m not seeing anything obvious in the TDL that talks about processor or operating system. What is the difference between the images and how do you build them for the different OS?

I’m currently trying to build a compiled grammar for Ubuntu using a Mac. I tried using the one generated from the Mac OS using the below commands, but it gave errors when used on Ubuntu (“preprocessor: while compiling `{{IAST|([^}]+(?:}[^}]+)*)}}’: Unmatched quantified repeat operator { or {.”).

Any suggestions?

svn checkout http://svn.delph-in.net/erg/tags/2020
cd 2020/ace
ace -G grammar.dat -g ./config.tdl

Edit: I tried simply buiding the grammar image in an Ubuntu container using the same commands from above, but got an error:

root@ef910ea004e5:/2020/ace# ace -G grammar.dat -g ./config.tdl
reading configuration       from `./config.tdl'
reading types               from `./../mtr.tdl'
grammar version             ERG (2020)
multibyte decoding failed: Invalid or incomplete multibyte or wide character
on string `;; and replace tabulators and ‘weird’ spaces with an ASCII space.'
root@ef910ea004e5:/2020/ace# 

Edit: I used @arademaker’s trick from this post to update my container locale like this and now I can build a grammar in the Ubuntu image. This image can be used by ACE on Ubuntu, so that solves my immediate problem. I’m still curious if there is a way to build this image in a “cross-compiling” way (i.e. from the Mac OS):

RUN apt-get -y install locales
RUN locale-gen en_US.UTF-8
ENV LANG C.UTF-8