Grako Compatibility

TatSu is routinely tested over major projects developed with Grako. The backwards-compatibility suite includes (at least) translators for COBOL, Java, and (Oracle) SQL.

Grako grammars and projects can be used with 竜 TatSu, with these caveats:

  • The AST type retuned when a sequence of elements is matched is now tuple (instead of a descendant of list). This change improves efficiency and avoids unwanted manipulations of a value that should be inmutable.

  • The Python module name changed to tatsu.

  • ignorecase no longer applies to regular expressions in grammars. Use (?i) in the pattern to enable re.IGNORECASE

  • Left recursion is enabled by default because it works and has zero impact on non-recursive grammars.

  • Deprecated grammar syntax is no longer documented. It’s best not to use it, as it will be removed in a future version of 竜 TatSu.