Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
UNCOL
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
'''UNCOL''' ('''Universal Computer Oriented Language''') is a universal [[intermediate language]] for [[compiler]]s. The idea was introduced in 1958, by a [[SHARE (computing)|SHARE]] ad-hoc committee.<ref>{{cite journal |last1=Strong |first1=J. |last2=Wegstein |first2=J. |last3=Tritter |first3=A. |last4=Olsztyn |first4=J. |last5=Mock |first5=O. |last6=Steel |first6=T. |title=The Problem of Programming Communication with Changing Machines: A Proposed Solution |journal=Communications of the ACM |date=August 1958 |volume=1 |issue=8 |pages=12β18 |doi=10.1145/368892.368915 |doi-access=free }}</ref> 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]] [[computer architecture|architecture]] and [[programming language]], thereby reducing an NΓM problem to N+M.<ref>{{cite mailing list |url=https://mailarchive.ietf.org/arch/msg/dmarc/mWIrFuomDC50hxgPi4QvO8VM6yQ |title=UNCOL and Reversing modifications from mailing lists |date=23 November 2021 |access-date=24 November 2021 |mailing-list=dmarc-ietf |author=[[John Levine]]}}</ref> 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 (computing)|SHARE]] report (1958) already says "[it has] been discussed by many independent persons as long ago as 1954." Macrakis (1993) summarizes its fate: {{quote|UNCOL was an ambitious effort for the early 1960s. An attempt to solve the compiler-writing problem, it ultimately failed because language and compiler technology were not yet mature. In the 1970s, [[compiler-compiler]]s ultimately contributed to solving the problem that UNCOL set itself: the economical production of compilers for new languages and new machines.}} 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]] systems such as [[UCSD Pascal]]'s [[p-code machine|p-code]], and most notably [[Java bytecode]].<ref>John English, ''Introduction to Operating Systems: Behind the Desktop'', Palgrave MacMillan 2005, {{isbn|0230374085}}, p. 10</ref> ==See also== *[[LLVM]] *[[GIMPLE]] ==Notes== <references/> ==References== <!-- from Macrakis 1993 (inserted by Macrakis, 2006) --> *{{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|doi-access=free}} * Jean E. Sammet, ''Programming Languages: History and Fundamentals'', Prentice-Hall, 1969. Chapter X.2: UNCOL (Significant Unimplemented Concepts), p. 708. * [[SHARE (computing)|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 at [http://citeseer.ist.psu.edu/macrakis93from.html 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). [[Category:Compilers]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite journal
(
edit
)
Template:Cite mailing list
(
edit
)
Template:Isbn
(
edit
)
Template:Quote
(
edit
)