Skip to content
MichaelGoodman edited this page Jul 23, 2013 · 15 revisions

ACE Frequently Asked Questions

  • When I try to compile my grammar with ACE, I see a lot of errors.

You may inadvertently be using a very old copy of ACE. If you have installed the LOGON distribution, there is probably an ace binary on your PATH which dates to roughly 2005. Try invoking a modern copy of ACE by its full path. Modern versions of ACE support the -V command-line option to report the version; if your ACE does not recognize the -V option, it is too old to be useful.

  • Why are the compiled grammar images so big?

The ACE precompiler prepares a complete image of the initial contents of memory that will be needed for runtime processing. For complex grammars, this can be a few hundred megabytes. The advantage of this is that ACE can start up and be ready to parse or generate in a matter of a few milliseconds, if the file is in cache.

  • Why isn't ACE stripping punctuation like the LKB or PET?

The LKB and PET have their own idiosyncratic methods for stripping punctuation. For example, in Jacy's pet/japanese.set file:

 punctuation-characters := "!\"!&'()*+,-−./;<=>?@[\]^_`{|}~。!?…. ○●◎*☆★◇◆" 

ACE uses the REPP tokenizer (see ReppTop) to accomplish this. The above can be made into a REPP rule as follows (where → is a tab character and ▁ is a space):

 ![!"&'()*+,-−./;<=>?@[\]^_`{|}~。!?…. ○●◎*☆★◇◆]→   →       ▁ 

Clone this wiki locally