cdec
cdec copied to clipboard
Unary rules are broken in some cases
The parser does not always apply unary rules in the right order (in particular, when rules are loaded from multiple grammars). This can cause parse failures and missing derivations.
Example:
foo.scfg: [Y] ||| foo ||| foo ||| F=1 [X] ||| [Y] ||| [1] ||| F=1
Will fail, where as foo.scfg: [X] ||| foo ||| foo ||| F=1
will succeed.