Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RACR-meta: meta instantiation #62

Open
christoff-buerger opened this issue Jun 27, 2016 · 0 comments
Open

RACR-meta: meta instantiation #62

christoff-buerger opened this issue Jun 27, 2016 · 0 comments
Assignees

Comments

@christoff-buerger
Copy link
Owner

When using a RACR-based compiler to analyse, compile and apply RACR specifications, the system becomes dependent on itself. As a consequence, attribute evaluation results in non-termination or circular attribute dependencies of non-circular attributes. The runtime extension when an abstract syntax graph representing a specification is queried for information required to evaluate a respective attribute instance is infinite since its analyse queries itself.

This meta-circularity can be broken by means of attribute cache hits. The claim is, that the RACR specification representing RACR specifications (i.e., the meta-language) is correct. It can be manually set-up by imperatively instantiating the abstract syntax tree, attribute instances and their cache values of the meta-language.

This instantiation has not to be complete. It is sufficient if the abstract syntax tree parts and attribute instances required to instantiate and analyse the specification language in itself are pre-configured. If so, the specification language can be properly instantiated using the pre-configured setup, yielding a complete representation. The initial manually setup presentation can be garbage collected afterwards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant