Lichen

Graph

(0) -300 -100 -60 +60 +100 +300 tip
Added help text and reordered some statements.
Added support for independently building and running tests.
Moved iconv-specific helper functions into the iconv module implementation.
Replaced errno usage with specialised exceptions because error numbers differ
Improved the string representation of OSError.
Encode non-ASCII values to avoid C compiler reinterpretation of string literals.
Expanded the documentation and added initial cross-compilation support.
Renamed the default output executable filename to _main.
Removed superfluous AST nodes no longer produced by the parser.
Fixed handling of "bad" tests, renaming the list comprehension test.
Removed if expression support from the grammar.
Handle syntax errors produced by pyparser.
Removed a superfluous error class.
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
(0) -300 -100 -60 +60 +100 +300 tip