User:Popcorndude/Recursive Transfer

From Apertium
< User:Popcorndude
Revision as of 00:45, 5 March 2019 by Popcorndude (talk | contribs) (use real example)
Jump to navigation Jump to search


Coding Challenge

All my code is on GitHub at https://github.com/mr-martian/GSoC19-recursive

So far (as of 3/4/19) I have reimplemented the Python script from the prototype and added support for attribute categories and parameterized nodes.

Example:

gender = m f;
#noun $gender -> #(n.$gender);
#adj $gender -> #(adj.$gender);
NP $gender -> noun adj { 2 1 } ;

The defines a category "gender" consisting of <m> and <f>. The lexical categories "noun" and "adj", matching things of the form "word<n><C>" and "word<adj><C>", respectively, where C is <m> or <f>. The last line defines a non-terminal node "NP" which matches a noun followed by an adjective of the same gender, so "carro<n><m>/car<n> rojo<adj><m>/red<adj>" would become "rojo<adj><m>/red<adj> carro<n><m>/car<n>" but "carro<n><m>/car<n> roja<adj><f>" would not be matched.