Sujet : Re: tcl hidden "cruelties"
De : aotto1968 (at) *nospam* t-online.de (aotto1968)
Groupes : comp.lang.tclDate : 20. Oct 2024, 14:01:25
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vf2uv5$dv81$1@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
> git diff --shortstat alc-new-1-lw .
83 files changed, 5214 insertions(+), 5300 deletions(-)
The last step in converting the ALC compiler to the "object" structure has now been completed.
The "attribute database" is the largest and most important database in the ALC architecture because attributes from all other databases are stored there and thus there is a connection to all other databases. The "object"-specific attributes are now stored in the data structure of the "object", which means that, in contrast to the "table" structure, the "access path" to the attribute is now static, which is an *enormous* gain in speed while simplifying the "ALC code".
The ALC compiler consists of three "layers". "frontend", "middleware" and "backend". The "frontend" now uses the "table" structure and the "backend" uses the "object structure". When converting the "backend" from the "table" to the "object" structure, hidden "logic problems" came to light that were also eliminated and at the same time it also helps to consolidate the "layers" themselves because an analysis can only be implemented most efficiently *either* in the "table" structure or only in the "object" structure, which then *necessarily* triggers a certain reorganization of the ALC code.
The "frontend" layer creates the "meta-code" which:
1. implements a "singular" definition of information
2. is "ordered" in terms of structure, which always delivers the same "logic" "output" for "logic"-like "input".
3. is intended to be stored in the *code repository* in order to ultimately secure the API or to centrally verify a change.
4. is human-readable and changeable in order to quickly create "test data" to create or to add your own "meta-code" extensions.
The "middleware" layer creates the "compiler code" which is used *internally* to control the backend very quickly and efficiently. In addition, the "middleware" layer has a basic analysis of the "meta-code" and creates a variety of "access-oriented" data structures from the "singular" "meta-code". The "middleware" layer uses a type of "hibernate" technology to store a "memory dump" on the hard disk after the successful "meta-code analysis". The ALC compiler can also skip the "middleware layer" with the command line switch "-force", which then means that the "backend layer" is controlled directly with the "meta code", which is of course slower but is used for "recursive compilations" (generation of "meta code" from "meta code").
The "backend layer" now creates the desired target, which is then a programming language, a data file or any structured data storage with a defined format.
https://www.facebook.com/permalink.php?story_fbid=pfbid037cZ3kX4yBNxZNv8NQ6vtpq6nomq6YCWsjhKpPoXbyQ5RXxRrc9YnMAfoa9dAAtvVl&id=100069563501101