UNCOL
   HOME

TheInfoList



OR:

UNCOL (Universal Computer Oriented Language) is a universal intermediate language for
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
s. The idea was introduced in 1958, by a SHARE ad-hoc committee. It was never fully specified or implemented; in many ways it was more a concept than a language. UNCOL was intended to make compilers economically available for each new
instruction set In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ...
architecture Architecture is the art and technique of designing and building, as distinguished from the skills associated with construction. It is both the process and the product of sketching, conceiving, planning, designing, and constructing buildings ...
and
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
, thereby reducing an N×M problem to N+M. Each machine architecture would require just one compiler back end, and each programming language would require one compiler front end. This was a very ambitious goal because compiler technology was in its infancy, and little was standardized in computer hardware and software.


History

The concept of such a universal intermediate language is old: the SHARE report (1958) already says "
t has T, or t, is the twentieth letter in the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''tee'' (pronounced ), plural ''tees''. It is deri ...
been discussed by many independent persons as long ago as 1954." Macrakis (1993) summarizes its fate: UNCOL is sometimes used as a generic term for the idea of a universal intermediate language. The Architecture Neutral Distribution Format is an example of an UNCOL in this sense, as are various
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
systems such as
UCSD Pascal UCSD Pascal is a Pascal programming language system that runs on the UCSD p-System, a portable, highly machine-independent operating system. UCSD Pascal was first released in 1977. It was developed at the University of California, San Diego (U ...
's p-code, and most notably
Java bytecode In computing, Java bytecode is the bytecode-structured instruction set of the Java virtual machine (JVM), a virtual machine that enables a computer to run programs written in the Java programming language and several other programming langua ...
.John English, ''Introduction to Operating Systems: Behind the Desktop'', Palgrave MacMillan 2005, , p. 10


See also

*
LLVM LLVM is a set of compiler and toolchain technologies that can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate repre ...
* GIMPLE


Notes


References

*{{cite journal, last1=Conway, first1=Melvin E., title=Proposal for an UNCOL, journal=Communications of the ACM, date=1 October 1958, volume=1, issue=10, pages=5–8, doi=10.1145/368924.368928 , issn=0001-0782 * Jean E. Sammet, ''Programming Languages: History and Fundamentals'', Prentice-Hall, 1969. Chapter X.2: UNCOL (Significant Unimplemented Concepts), p. 708. * SHARE ''Ad-Hoc'' Committee on Universal Languages (J. Strong, J. Olsztyn, J. Wegstein, O. Mock, A. Tritter, T. Steel), "The Problem of Programming Communication with Changing Machines", ''Communications of the ACM'' 1:8:12–18 (August 1958) and 1:9:9–15 (September 1958). * Stavros Macrakis, "From UNCOL to ANDF: Progress in Standard Intermediate Languages", White Paper, Open Software Foundation Research Institute, RI-ANDF-TP2-1, January, 1992. Available a
CiteSeer
* T.B. Steel, Jr., "UNCOL: Universal Computer Oriented Language Revisited", ''Datamation'' (Jan/Feb 1960), p. 18. * T.B. Steel, Jr., "A First Version of UNCOL", ''Proc. Western Joint Computer Conference'' 19:371 (Los Angeles, May 9–11, 1961). * T.B. Steel, Jr., "UNCOL: The Myth and the Fact", ''Annual Review in Automatic Programming'' 2:325 (1961). Compilers