No such letter error stops art

Ace produces the following error when parsing my Nuuchahnulth item file:
ERROR: morpho: no such letter set as `a’

pydelphin reports the error and moves on to the next sentence. art stops altogether.

First what is the cause of this error?

Second is there a way to tell art to skip it and keep going?

PyDelphin moves on because it detected ACE’s error and (probably after restarting ACE) ignores the item and tries to finish processing the rest of the profile. This is a difference from ‘art’, which will (by default) just crash. While I haven’t attempted it myself, supposedly you can put a more robust ACE command in the -a option to art to make it do something similar. E.g.:

art -a ' -g mygram.dat' myprofile/

…where is some script or command that wraps ACE.

The cause of the error appears to be that !a appears in a morphological rule, but !a is not defined as a letter-set. Recall that letter-sets are defined like this, e.g., in irules.tdl (although this example comes from the ERG’s inflr.tdl):

%(letter-set (!v aeiou))

That defines the letter set !v which can be used in rules like the following:

v_pst_olr :=
%suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced)
v_pst_inflrule &
[ ND-AFF +,
  SYNSEM.LOCAL past_or_subj_verb,
  RNAME lvpt ].

So check the inflectional rules. You may have !a in one without having some %(letter-set (!a ...)). But I’m surprised you don’t get an error message during compilation of the grammar.

1 Like

Thanks for the explanation of the problem.
So the easy solution is to just replace the ! character with something else so these sentences will actually parse. (I’ve tested that this works and my coverage is much better than before when pydelphin was skipping these).

@goodmami pointed a probable error in the grammar, not in the input text.