Something wrong with lexical rule sequences in YY-input?

Some of my inputs have sequences of lexical rules in them. Very often, this is for the enclitics such as the Spanish se. For example,

 (5, 4, 5, <14:23>, 1, "agarrar" "agarrarse", 0, "vmn0000" "+pp3cn00", "vmn0000" "+pp3cn00" 1.00000000)

in

(1, 0, 1, <0:1>, 1, "-" "-", 0, "fg", "fg" 1.00000000) (2, 1, 2, <1:2>, 1, "a" "a", 0, "sp", "sp" 0.99877540) (3, 2, 3, <3:6>, 1, "qué" "qué", 0, "pt00000", "pt00000" 0.71251348) (4, 3, 4, <7:13>, 1, "poder" "pueden", 0, "vmip3p0", "vmip3p0" 1.00000000) (5, 4, 5, <14:23>, 1, "agarrar" "agarrarse", 0, "vmn0000" "+pp3cn00", "vmn0000" "+pp3cn00" 1.00000000) (6, 5, 6, <23:24>, 1, "?" "?", 0, "fit", "fit" 1.00000000)

I seem to be getting decent trees with this (there is 8 trees in total):

Screenshot from 2023-06-21 10-46-28

In the two trees above, the clitic lexical rule +PP3CN00 is present in the agarrar chain, and the difference is an additional lexical rule.

However when I try to treebank, no matter what option I choose for agarrarse, I end up with no trees left.

I have 6 choices for agarrarse:

But whichever I choose, I get:

What does it mean and where should I look for the problem?

I wonder if this is a bug in FFTB related to the rule name having a + in it? I notice that in the screenshot you shared, the list of discriminants on the lower right shows the rule name without the +. If that is how FFTB recorded the choice then it makes sense that it can’t find any trees that match it.

1 Like

… looks to me like a yes. The browser side and server side have a disagreement over what escaping conventions to use. The server side is interpreting the + as a space character.

I didn’t come up with a test for this, but please try editing the FFTB file assets/control.js and change the “escape” call on line 3 to call “encodeURIComponent” instead, and let me know if that helps. You shouldn’t need to recompile. Browser cache might possibly need clearing.

1 Like

I believe it does help, @sweaglesw , many thanks! Is this the solution or should something else be done in addition? In other words, do we expect that this change will affect something else?

I believe that is the correct solution, and should not have other negative effects.

1 Like