High speed compilation of efficient object code

Charles William Gear

Research output: Contribution to journalArticlepeer-review

9 Scopus citations


A three-pass compiler with the following properties is briefly described: The last two passes scan an intermediate language produced by the preceding pass in essentially the reverse of the order in which it was generated, so that the first pass is the only one which has to read the relatively bulky problem-oriented input. The double scan, one in either direction, performed by the first two passes, allows the compiler to remove locally constant expressions and recursively calculable expressions from loops and to do the important part of common subexpression recognition. Optimization such as the effective use of index registers, although as important, is not discussed since the object code which would be most efficient is highly machine dependent. The discussion is in terms of a FORTRAN-like language, although the technique is applicable to most algebraic languages.

Original languageEnglish (US)
Pages (from-to)483-488
Number of pages6
JournalCommunications of the ACM
Issue number8
StatePublished - Aug 1 1965
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • General Computer Science

Cite this