{"size": 534, "ext": "scrbl", "max_stars_repo_path": "scribblings/generating-meta-interpreter-code.scrbl", "max_stars_repo_name": "v-for-vincent/racket-control-compiler", "max_stars_repo_stars_event_min_datetime": "2017-06-03T19:55:16.000Z", "max_stars_repo_stars_event_max_datetime": "2017-06-03T19:55:16.000Z", "max_issues_repo_path": "scribblings/generating-meta-interpreter-code.scrbl", "max_issues_repo_name": "v-nys/cclp", "max_issues_repo_issues_event_min_datetime": "2017-04-11T08:13:36.000Z", "max_issues_repo_issues_event_max_datetime": "2018-04-18T13:16:06.000Z", "max_forks_repo_path": "scribblings/generating-meta-interpreter-code.scrbl", "max_forks_repo_name": "v-for-vincent/racket-control-compiler", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 1, "max_issues_count": 58, "max_forks_count": null, "avg_line_length": 76.2857142857, "max_line_length": 387, "alphanum_fraction": 0.8033707865}
#lang scribble/manual
@(require scribble/extract)

@title{Generating code for the concrete meta-interpreter.}
In addition to a source program, the meta-interpreter in the companion Prolog code needs a specification of the compiled selection rule in the form of @code{precedence/2} clauses, as well as @code{generalization/2} clauses which it can use to wrap certain concrete atoms inside a concrete multi abstraction. Both can be generated when an interactive abstract analysis has been performed.

@include-extracted["../mi-map.rkt"]