Lichen

Graph

(0) -300 -100 -60 +60 +100 +300 tip
Reorganised the unit output further.
Make parameters potentially volatile.
Made locals volatile when set within try...except blocks.
Changed instantiators to use normal function parameters, simplifying their normal-function-parameters
Corrected pointer operation usage. normal-function-parameters
Merged changes from the default branch. normal-function-parameters
Make debugging override optimisation correctly.
Fixed argument number tests for empty parameter lists.
Switched to using normal, named function parameters instead of arrays. This normal-function-parameters
Reverted 196988ae83cb: targets may need unwrapping when obtaining functions.
Incorporated __WITHIN within __HASATTR.
Optimise the common case of having all positional parameters as arguments.
Removed superfluous __TEST macro.
Fixed concatenated list size initialisation.
Added a reasonable optimisation level. -O3 may provide slightly better
Targets should not need unwrapping again when obtaining functions.
Avoid unnecessary work by testing for the True value before any bool invocation.
Consolidated usage of basic attribute availability tests.
Added a root class type variable and tidied up slightly.
Moved instruction plan generation into the deducer.
Simplified the constant consolidation process by using the constant values
Added support for explicitly specifying attribute and parameter information in
Produce valid empty allocation locations when allocating attributes/parameters.
Permit the parameterisation of the special instance indicator, making it match
Fixed verbose option detection.
Changed the allocation code to work with potentially-incomplete existing
Detect and report unrecognised options.
Added a note about incremental compilation.
Fixed comments (from "run" to "compile").
Detect changes in structures or signatures that necessitate recompilation of all
Replaced list comprehensions.
Added support for preserving attribute and parameter locations, avoiding
Renamed some variables for clarity and added some commentary.
Added testing of temporary result variable availability.
Remove temporary names used by negation operands.
Added a means of discarding temporary variables from directly-tested results.
Moved translation result classes to a separate module.
Simplified translation result classes.
Removed superfluous brackets and changed the vertical spacing of statements.
Fixed the reset flag by propagating the reset condition to the translator,
Merged result class refinements.
Introduced results for other logical operations, refining common behaviour.
Merged result class changes.
Introduced a logical result that simplifies negation expressions when they are
Removed superfluous base classes from results.
Merged convenience macro changes.
Introduced a convenience macro for initialising attributes with values.
Replaced explicit position values with macro invocations.
Introduced convenience macros shadowing various run-time functions, eliminating
Encode attribute and parameter positions and codes using the provided macros.
Replaced "__pos_attrname" with "__ATTRPOS(attrname)" in native functions.
Removed the "with" statement from the grammar and AST support.
Added constant identifier digest collision testing.
Avoided using temporary target storage when names are used as accessors.
Avoided using temporary accessor variables when names are used as accessors.
Write compilation options to the generator and translator output details,
Merged the attr-strvalue-without-size branch into the default branch.
Merged the method-wrapper-for-context branch into attr-strvalue-without-size. attr-strvalue-without-size
Introduced support for removing superfluous executable sections via an option. method-wrapper-for-context
Changed the working data directory to use a suffixed form of the output method-wrapper-for-context
(0) -300 -100 -60 +60 +100 +300 tip