Grammar Engineering Frequently Asked Questions

The LKB seems to be “forgetting” a constraint/definition I’ve coded. Why?

If you’ve coded a constraint in tdl but it isn’t reflected in the LKB (there’s no change to your grammar’s behavior; when you look at an entry–rule, lexical entry, etc.–or a type which should be subject to the constraint using the View menu, you don’t see the constraint), check the following:

  • Have you reloaded the grammar since you made the change?
  • Have you saved the tdl file you added the change to, before loading the grammar?
  • Does the entry you’re considering actually inherit from the type you’ve put the constraint on? (Double check in lexicon.tdl, rules.tdl, irules.tdl, lrules.tdl, whichever is relevant.)
  • Do you have multiple types with the same name? If so, only the last one will “count” – it will overwrite what came before. You can use the search function in emacs to check whether this it the case.
  • Have you misspelled an outermost feature name (e.g., SYSNEM for SYNSEM)?

Back to the Grammar Engineering FAQ.

Last update: 2023-06-30 by EricZinda [edit]