-
Notifications
You must be signed in to change notification settings - Fork 13
Description
This question is somewhat related to #9 . I traced the rules with dummy tags. I realized that flag diacritics are to blame for the two derivations. I'm not sure how that's possible, but both branches of an 'if-else' are being traversed. I have a flag, which signals whether the adjective is superlative (has a (leges*)leg tag). Later down the lexicon chain I test for this flag and depending on this test I either place a -bb prefix for sure, or I place it only optionally. Now, both these branches are traversed, and on both branches the bb prefix can be derived, so I have two derivations. How can this be? Once I set a flag, its value should be determined and only one R test can succeed, or am I completely misunderstanding flag diacritics?
Please consider this partial grammar:
I decide early on whether an adjective is in superlative form and I set the flag with P:
LEXICON Root
@P.SUPERLATIVE.YES@ Exaggerative ;
@P.SUPERLATIVE.NO@ Adj ;
Then, later on I test for this, when I derive the -bb postfix:
LEXICON AdjectiveTag
@R.SUPERLATIVE.YES@[/Adj]:0 Superlative ; ! RULE 1
@R.SUPERLATIVE.NO@[/Adj]:0 SuperlativeConditional ; ! RULE 2
Now, since I traced rule application I am absolutely sure that RULE 1 and RULE 2 are the two forks. Also, i traced the rules under Root, and the branch which sets SUPERLATIVE to NO never runs. So the Require Superlative disregards the value of the SUPERLATIVE flag somehow. What am I doing wrong?