- Added installation instructions related to the new LLVM module. - Completely removed *beaconing*. - Added support for tox testing (with Python 3.7, 3.8, and 3.9).
1.4.0alpha
-------------------------
- Added an experimental LLVM module to support IR code generation. - AnnotatedTreeWalker.TREE_CATCHALL does not collect None subtrees. - AnnotatedTreeWalker.register decorator trims ending _ (to allow builtin named keys). - AnnotatedTreeWalker.register optionally takes the function name. - Annotated trees now have an attr attribute defined as a AttrDict wrapping the root dict. - Added AttrDict in liblet.utils. - ANTLR.context and ANTLR.tree accept a antlr_hook parameter that allows complete configuration of the underlying lexer and parser. - Stack and Queue now support reversed iteration.
1.3.8alpha
-------------------------
- The ANTLR and AnnotatedTreeWalker object can be serialized (suing the load/save methods). - Added pyast2tree method to get a Tree from a Python ast. - Annotated Tree rich display ignores dictionary keys starting with '_thread_'.
1.3.6alpha
-------------------------
- Added src key to annotated trees produced by the tree method of ANTLR objects. - Improved hash sign readability (defined the HASH constant equal to '\u266F', replacing previous '\uFF03') - Derivation can now start from any nonterminal.
1.3.3alpha
-------------------------
- The display.side_by_side now accepts a single argument (and iterates over it).
1.3.2alpha
-------------------------
- Now TopDownInstantaneousDescription.match skips epsilon on the stack. - Added the suffixes commodity function in utlis package. - Minimal docs improvements.