Lichen

Graph

(0) -300 -100 -60 +60 +100 +300 tip
Introduced a specific Lichen grammar, removing various unwanted Python features.
Changed the output directories, added output compilation (enabled by default),
Added a docstring.
Added initial general documentation.
Switched to using dictionaries for symbol and token name-to-index mappings
Introduced a special non-terminal node providing encoding information for
Added a modified version of pyparser (from PyPy) that provides parser module
Added stream flushing to make raw_input work properly.
Added support for readline on streams and the raw_input function.
Added GC_INIT portability call.
Introduced libgc for memory allocation operations.
Added explicit character encoding options for gcc.
Added character access to Unicode objects, moving special item access methods
Import names from the common, encoders and errors modules explicitly.
Broadened the dependency criteria to include initialised classes and functions.
Make function and method initialisation depend on module initialisation.
Filter module-level dependencies, condense dependencies to exclude
Test for the initialisation of the sys module.
Restored module-level non-static dependency identification (in addition to
Added a test of reading locale-configured text.
Introduced dependency tracking involving deduced attributes, special name
Do not inadvertently create deferred references when testing for objects.
Moved _max and _min into the span module.
Identify predefined constant names earlier in order to make them available in
Catalogue the references involved with dependencies.
Added a method to test whether an inter-module dependency applies.
Tidied up origin acquisition in the ancestors method.
Added tests of new string methods.
Added a localised stdin stream employing the preferred encoding from the locale.
Added a getpreferredencoding function.
Implemented the find, index, startswith and endswith methods.
Fixed the NO_END reference.
Identify deduced inter-module dependencies caused by usage of functions with
Raise UnicodeDecodeError instead of propagating OSError with EILSEQ from iconv.
Implemented the join method for Unicode objects, preserving encoding information
Make sure that the test starts out using a byte sequence.
Access method defaults even if the accessor is not yet determined.
Added encoding information to constants so that Unicode literals provide it.
Attempt to interpret plain string literals as Unicode, returning constant types
Encode uninitialised members as None references.
Added a UTF-8 character counting native function to support the __len__ method
Made use of __len__ methods instead of the len built-in function.
Support encoding to streams using the original encoding of Unicode objects if
Initialise the encoding of Unicode constants to None, also introducing generic
Eliminate predefined constant name assignments.
Make sure that Unicode objects result from text-only concatenation.
Added type information to constant records so that Unicode constants can be
Fixed "reversed operands" string addition, imposing constraints on the operands
Propagate the actual text for constant literals from the program code.
Introduced initial support for Unicode constants and literals.
Updated the test runner to handle to presence of dependency references in the
Added encoding attributes and text encoding/decoding support to file streams.
Store module dependencies in the cache so that the module ordering is repeatably
Added initial support for Unicode strings based on byte strings.
Set the current assignment to True rather than to a value that may be undefined.
Fixed the substring length calculation for negative step values.
Added tests of illegal sequences when converting between encodings.
Support incremental conversion of strings, handling incomplete sequences of
Fixed operation encoding for attribute access tests.
Fixed string slicing to produce strings, changing sequences to not provide
(0) -300 -100 -60 +60 +100 +300 tip