This page has been validated.
|
Sent 12/7/78 | ADA 061996 |
REPORT DOCUMENTATION PAGE | READ INSTRUCTIONS BEFORE COMPLETING FORM | ||||||||||||
1. | REPORT NUMBER | 2. | GOVT ACCESSION NO. | 2. | RECIPIENT'S CATALOG NO. | ||||||||
TR474 | |||||||||||||
4. | TITLE (and Subtitles) | 5. | TYPE OF REPORT & PERIOD COVERED | ||||||||||
RABBIT: A Compiler for SCHEME (A Study in Compiler Optimization) | Technical Report | ||||||||||||
6. | PERFORMING ORG. REPORT NUMBER | ||||||||||||
7. | AUTHORS(s) | 8. | CONTRACT OR GRANT NUMBERS | ||||||||||
Guy Lewis Steele | N00014-75-C-0643 | ||||||||||||
9. | PERFORMING ORGANIZATION NAME AND ADDRESS | 10. | PROGRAM ELEMENT, PROJECT, TASK AREA & WORK UNIT NUMBERS | ||||||||||
Artificial Intelligence Laboratory 545 Technology Square | |||||||||||||
11. | CONTROLLING OFFICE NAME AND ADDRESS | 12. | REPORT DATE | ||||||||||
Advanced Research Projects Agency 1400 Wilson Blvd |
May 1978 | ||||||||||||
13. | NUMBER OF PAGES | ||||||||||||
272 | |||||||||||||
14. | MONITORING AGENCY NAME & ADDRESS(if different from Controlling Office) | 15. | SECURITY CLASS (of this report) | ||||||||||
Office of Naval Research Information Systems |
UNCLASSIFIED | ||||||||||||
15a. | DECLASSIFICATION/DOWNGRADE SCHEDULE | ||||||||||||
16. | DISTRIBUTION STATEMENT (of this Report) | ||||||||||||
Distribution of this document is unlimited. | |||||||||||||
17. | DISTRIBUTION STATEMENT (of the abstract entered in Block 20, if different from Report.) | ||||||||||||
18. | SUPPLEMENTARY NOTES | ||||||||||||
None | |||||||||||||
19. | KEY WORDS (Continue on reverse side if necessary and identify by block number) | ||||||||||||
| |||||||||||||
18. | ABSTRACT (Continue on reverse side if necessary and identify by block number) | ||||||||||||
We have developed a compiler for the lexically-scoped dialect of LISP known as SCHEME. The compiler knows relatively little about specific data manipulation primitives such as arithmetic operators, but concentrates on general issues of environment and contral. Rather than having specialized knowledge about a large variety of control and environment constructs, the compiler handles only a small basis set which reflects the semantics of lambda-calculus. All of the traditional imperative constructs, such as sequencing, assignment, looping, GOTO, as well as many standard (cont'd) |
DD | FORM |
1473 | EDITION OF 1 NOV 63 IS OBSOLETE S/N 0:02-014-6601 |
|