Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A question about flag diacritics #10

Open
dobijan opened this issue Nov 27, 2017 · 4 comments
Open

A question about flag diacritics #10

dobijan opened this issue Nov 27, 2017 · 4 comments

Comments

@dobijan
Copy link

dobijan commented Nov 27, 2017

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?

@DavidNemeskey
Copy link
Collaborator

DavidNemeskey commented Nov 27, 2017

And you defined the flag diacritic symbols (inc. the @'s) in Multichar_Symbols? The tags, e.g. [/Adj] should be defined there as well.

@dobijan
Copy link
Author

dobijan commented Nov 27, 2017

Multichar_Symbols *{1}* *{2}* *[/Supl]* *[_Comp/Adj][Nom]* *[/Adj]* *[Acc]* *[Pl]* *[/N]* @U.HARM.FRONT@ @U.HARM.BACK@ @P.SUPERLATIVE.YES@ @P.SUPERLATIVE.NO@ @R.SUPERLATIVE.YES@ @R.SUPERLATIVE.NO@

I first tried with asterisks, as the rest, but then errors were thrown, so i tried removing them, and it worked, at least for vowel harmony. They are all in one line, in case you wonder. The first two are only my tracing tags.

@DavidNemeskey
Copy link
Collaborator

The issue is subtle: flag diacritics are special in many ways, and one of these is that they must appear on both the upper and lower sides. This is something I forgot to mention in the slides; I'll fix it ASAP.

@dobijan
Copy link
Author

dobijan commented Nov 27, 2017

Thank you! I even thought about that, but I rejected it at once, since that would be dumb :D Turns out I should have rewritten the rules that way...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants