Map
Index
Random
Help
Topics
th

Topic: compiler

topics > computer science > programming > Group: code generation



Group:
memory management
Group:
programming

Topic:
builtin functions
Topic:
code optimization
Topic:
compiler error checking
Topic:
compile-time execution
Topic:
compiling pseudocode designs
Topic:
conditional compilation
Topic:
incremental compilation
Topic:
intermediate representation of code
Topic:
interpreter
Topic:
just-in-time compilation
Topic:
lexical analysis
Topic:
load-time code generation
Topic:
object code linkers and loaders
Topic:
symbol table
Topic:
syntax analysis
Topic:
system-defined variables
Topic:
Thesa compiler and loader

Summary

A compiler translates a programming language into machine instructions. Compilers translate programs into an internal format for rapid loading and linking. Compilers are typically used with an editor and a linker-loader.

Curiously compilers are seldom subjected to criticism nor to standards. They are an invisible link in the programming process.

Interpreters form the primary alternative to compilers. Other alternatives are throw-away compilation and incremental compilers.

Note the quotation by Mauchly. Like self-modifying code, a compiler represents a long sequence of instructions by transforming a shorter sequence of instructions. (cbb 5/80 3/98)

Subtopic: compilation up

Quote: a compiler translates a program into a sequence of unrecognizable codes that, like magic, has the same execution [»elsoM_1973]
Quote: a compiler translates flow charts into code, compiles any program, includes named flow charts, and allocates memory [»perlAJ4_1957]
Quote: compile statements by symbol pairs invoking a generator; context not needed [»perlAJ4_1957]
Quote: instruction modification is more important than subsequences; allows a short program to carry out a very long sequence of instructions
Quote: with simple hardware, the compiler is complex but program execution is simple and efficient [»hennJ3_1982]

Subtopic: goals up

Quote: compilation time is important because half of throughput can be spent compiling [»flynMJ9_1987]
Quote: a compiler needs exhaustive error checking, fast compilation, and efficient code [»wirtN3_1976]
Quote: efficient object code is important; allows better-structured and clearer programs [»hoarCA_1974]
Quote: a compiler should produce efficient, compact code similar to a resolutely non-clever machine code programmer [»hoarCA_1974]

Subtopic: portability up

Quote: PL.8 was highly portable; most bugs occurred on all machines

Subtopic: testing up

Quote: self-test of compiler by fixed points; compile the compiler, then recompile; the two results should be identical; also recompile the runtime library for each machine [»auslM6_1982]

Subtopic: precompiled code up

Quote: use precompile to save the compiler state after processing any initial segment of a program [»hoarCA_1974]

Subtopic: examples up

Quote: Pascal compiler programmed in Pascal itself; 7000 lines; 63 seconds to compile [»wirtN3_1976]
Quote: PL.8 compiler was written in PL.8 [»auslM6_1982]
QuoteRef: wulfWA12_1971 ;;782 Bliss requires no run-time support
QuoteRef: feldJ2_1968 ;;good review of compilers, covers syntax and semantics
QuoteRef: wulfW_1975 ;;good presentation of an optimizing compiler, from syntax to code generation.
QuoteRef: hoarCA_1972 ;;338 compiler as fast as linker loader, also efficiency and security

Related Topics up

Group: memory management   (11 topics, 367 quotes)
Group: programming   (339 topics, 10149 quotes)

Topic: builtin functions (6 items)
Topic: code optimization (54 items)
Topic: compiler error checking (16 items)
Topic: compile-time execution (17 items)
Topic: compiling pseudocode designs (8 items)
Topic: conditional compilation (1 item)
Topic: incremental compilation (3 items)
Topic: intermediate representation of code (31 items)
Topic: interpreter (59 items)
Topic: just-in-time compilation (20 items)
Topic: lexical analysis (14 items)
Topic: load-time code generation (13 items)
Topic: object code linkers and loaders (31 items)
Topic: symbol table (4 items)
Topic: syntax analysis (29 items)
Topic: system-defined variables (9 items)
Topic: Thesa compiler and loader
(23 items)


Updated barberCB 7/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.