Compiler
A program that translates source
code into object code. The compiler derives its name from the way it
works, looking at the entire piece of source code and collecting and
reorganizing the instructions. Thus, a compiler differs from an interpreter,
which analyzes and executes each line of source code in succession, without
looking at the entire program. The advantage of interpreters is that they can
execute a program immediately. Compilers require some time before an executable
program emerges. However, programs produced by compilers run much faster than
the same programs executed by an interpreter.
Every high-level
programming language (except strictly interpretive languages) comes with a
compiler. In effect, the compiler is the language, because it defines which
instructions are acceptable.
Because compilers
translate source code into object code, which is unique for each type of
computer, many compilers are available for the same language. For example,
there is a FORTRAN compiler for PCs and another for Apple Macintosh computers.
In addition, the compiler industry is quite competitive, so there are actually
many compilers for each language on each type of computer. More than a dozen
companies develop and sell C compilers for the PC.

Prolog
Short for Programming
Logic, Prolog is a high-level programming language based on formal logic.
Unlike traditional programming languages that are based on performing sequences
of commands, Prolog is based on defining and then solving logical formulas.
Prolog is sometimes called a declarative language or a rule-based
language because its programs consist of a list of facts and rules. Prolog
is used widely for artificial intelligence applications, particularly expert
systems.