Page 1 of 1

SCA2 question

Posted: Wed Mar 24, 2021 4:04 pm
by ratammer
Sorry if this is the wrong place to ask this, but I'm just playing with SCA2 and I'm not sure why something isn't working the way I expect. It might just be me rather than a bug, though.

I have the categories V=aiou and C=ptkfshlmnyw, and the rule y//#(C)_V. I'm expecting this to cause:
pyara -> para
yara -> ara
because the C is indicated as optional. However, I'm getting:
pyara -> para
yara -> yara

Why isn't the rule affecting "yara"?

Re: SCA2 question

Posted: Wed Mar 24, 2021 4:39 pm
by Vilike
Maybe the <y> is immediately taken to be the optional C (which unfortunately functions as a "greedy"?)
yyara gives yara, lending credence to this hypothesis.

Re: SCA2 question

Posted: Wed Mar 24, 2021 4:42 pm
by ratammer
Ah, that would make sense. Thanks!

Re: SCA2 question

Posted: Wed Mar 24, 2021 5:01 pm
by zompist
I haven't checked the code, but I'm sure vilike is right. SCA2 doesn't do any backtracking, so since y matches C it can't undo that decision.

One way around this is to define an "anything but y" category

K=ptkfshlmnw
y//#(K)_V

Re: SCA2 question

Posted: Sun Mar 28, 2021 10:49 am
by vegfarandi
Or define the semivowels as category Y which may be helpful for other changes as well. Whichever one is more economical for the changes you have planned.