Skip to content

A question about flag diacritics #10

@dobijan

Description

@dobijan

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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions