PQCC
The Production Quality Compiler-Compiler Project (or PQCC) was a long-term project led by William Wulf at Carnegie Mellon University to produce an industrial-strength compiler-compiler. PQCC would produce full, optimizing programming language compilers from descriptions of the programming language and the target machine. Though the goal of a fully automatic process was not realized, PQCC technology and ideas were the basis of production compilers from Intermetrics, Tartan Laboratories, and others.William Wulf, ''The Design of an Optimizing Compiler'', Elsevier Science Ltd, 1980. . Describes Wulf's BLISS-11 compiler, which included some PQCC ideas. Objective The focus of the project was on the semantics and machine-dependent phases of compilation, since lexical and syntactic analysis were already well understood. Each phase was formalized in a manner that permits expression in table-driven form. The automatic construction of the compiler then consists of deriving these tables fr ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Compilers
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 that translate source code from a high-level programming language to a low-level programming language (e.g. assembly language, object code, or machine code) to create an executable program. Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman - Second Edition, 2007 There are many different types of compilers which produce output in different useful forms. A ''cross-compiler'' produces code for a different CPU or operating system than the one on which the cross-compiler itself runs. A ''bootstrap compiler'' is often a temporary compiler, used for compiling a more permanent or better optimised compiler for a language. Related software include, a program that translates from a low-level language to a ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
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 that translate source code from a high-level programming language to a low-level programming language (e.g. assembly language, object code, or machine code) to create an executable program. Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman - Second Edition, 2007 There are many different types of compilers which produce output in different useful forms. A ''cross-compiler'' produces code for a different CPU or operating system than the one on which the cross-compiler itself runs. A ''bootstrap compiler'' is often a temporary compiler, used for compiling a more permanent or better optimised compiler for a language. Related software include, a program that translates from a low-level language to a h ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Compiler-compiler
In computer science, a compiler-compiler or compiler generator is a programming tool that creates a parser, interpreter, or compiler from some form of formal description of a programming language and machine. The most common type of compiler-compiler is more precisely called a parser generator. It only handles syntactic analysis. The input of a parser generator is a grammar file, typically written in Backus–Naur form (BNF) or extended Backus–Naur form (EBNF) that defines the syntax of a target programming language. The output is the source code of a parser for the programming language. The output of the (compiled) parser source code is a parser. It may be either standalone or embedded. This parser takes as an input the source code of the target programming language source and performs some action or outputs an abstract syntax tree (AST). Parser generators do not handle the semantics of the AST, or the generation of machine code for the target machine."A Syntax Directed ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Tartan Laboratories
Tartan Laboratories, Inc., later renamed Tartan, Inc., was an American software company founded in 1981 and based in Pittsburgh, Pennsylvania, that specialized in programming language compilers, especially for the language Ada. It was based on work initially done at Carnegie Mellon University and gradually shifted from a focus on research and contract work to being more product-oriented. It was sold to Texas Instruments in 1996. Part of it was later acquired by DDC-I in 1998. Company founding and initial history Tartan was founded 1981 by Carnegie Mellon University computer science professors and husband and wife William A. Wulf and Anita K. Jones, with the goal of specializing in optimizing compilers. He was chair, president, and CEO while she was vice president of engineering. The professors left the university as part of this action, but still kept a reference to it, as "Tartan" is the name associated with Carnegie Mellon's athletic teams and school newspaper. A third CMU profe ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
William Wulf
William Allan Wulf (born December 8, 1939) is a computer scientist notable for his work in programming languages and compilers. Until June 2012, he was a university professor and the AT&T Professor of Engineering and Applied Sciences in the Department of Computer Science at the University of Virginia. Early life and education Born in Chicago, he attended the University of Illinois Urbana-Champaign, receiving a Bachelor of Science (B.S.) in engineering physics in 1961 and an Master of Science (M.S.) in electrical engineering in 1963. He then achieved the first Doctor of Philosophy (Ph.D.) in computer science from the University of Virginia in 1968. Career In 1970, while at Carnegie Mellon University (CMU), he designed the BLISS programming language and developed a groundbreaking optimizing compiler for it. From 1971–1975, as part of CMUs C.mmp project, he worked on an operating system (OS) microkernel named Hydra which is capability-based, object-oriented, and designed to ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Carnegie Mellon University
Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology in 1912 and began granting four-year degrees in the same year. In 1967, the Carnegie Institute of Technology merged with the Mellon Institute of Industrial Research, founded in 1913 by Andrew Mellon and Richard B. Mellon and formerly a part of the University of Pittsburgh. Carnegie Mellon University has operated as a single institution since the merger. The university consists of seven colleges and independent schools: The College of Engineering, College of Fine Arts, Dietrich College of Humanities and Social Sciences, Mellon College of Science, Tepper School of Business, Heinz College of Information Systems and Public Policy, and the School of Computer Science. The university has its main campus located 5 miles (8 km) from Downto ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
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 language is usually split into the two components of syntax (form) and semantics (meaning), which are usually defined by a formal language. Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant implementation that is treated as a reference. Some languages have both, with the basic language defined by a standard and extensions taken from the dominant implementation being common. Programming language theory is the subfield of computer science that studies the design, implementation, analysis, characterization, and classification of programming languages. Definitions There are many considerations when defini ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Intermetrics
AverStar (formerly Intermetrics, Inc.) was a software company founded in Cambridge, Massachusetts in 1969 by several veterans of M.I.T.'s Instrumentation Laboratory who had worked on the software for NASA's Apollo Program including the Apollo Guidance Computer. The company specialized in compiler technology. It was responsible for the design and implementation of the HAL/S programming language, used to write the Space Shuttle PASS (Primary Avionics Software System). It participated in the design effort leading to the Ada programming language, designed the Red language, one of the finalists in the design competition, and wrote one of the first production-quality Ada compilers. The large-scale Ada 95 revision of the language was designed at Intermetrics. Intermetrics merged with Whitesmiths Ltd. in December 1988. In 1997, Intermetrics merged with computer game developer Looking Glass Studiosbr> In 1998, Intermetrics acquired Pacer Infotec, and changed its name to 'AverStar'. A ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
The Design Of An Optimizing Compiler
''The Design of an Optimizing Compiler'' (Elsevier Science Ltd, 1980, ), by William Wulf, Richard K. Johnson, Charles B. Weinstock, Steven O. Hobbs, and Charles Geschke, Charles M. Geschke, was published in 1975 by Elsevier. It describes the BLISS optimizing compiler for the PDP-11, written at Carnegie Mellon University in the early 1970s. The compiler ran on a PDP-10 and was one of the first to produce well-optimized code for a minicomputer. Because of its elegant design and the quality of the generated code, the compiler and book remain classics in the compiler field. Although the original book has been out of print for many years, a print on demand version remains available from University Microfilms International. Reception ''Software: Practice and Experience'' said compiling experts would benefit the most with ''The Design of an Optimizing Compiler''. References External links''The Design of an Optimizing Compiler'' - Online version at CMU Computer programming books C ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Semantics
Semantics (from grc, σημαντικός ''sēmantikós'', "significant") is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy Philosophy (from , ) is the systematized study of general and fundamental questions, such as those about existence, reason, knowledge, values, mind, and language. Such questions are often posed as problems to be studied or resolved. Some ..., linguistics and computer science. History In English, the study of meaning in language has been known by many names that involve the Ancient Greek word (''sema'', "sign, mark, token"). In 1690, a Greek rendering of the term ''semiotics'', the interpretation of signs and symbols, finds an early allusion in John Locke's ''An Essay Concerning Human Understanding'': The third Branch may be called [''simeiotikí'', "semiotics"], or the Doctrine of Signs, the most usual whereof being words, it is aptly enough ter ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Machine-dependent
Machine-dependent software is software that runs only on a specific computer. Applications that run on multiple computer architectures are called machine-independent, or cross-platform. Many organisations opt for such software because they believe that machine-dependent software is an asset and will attract more buyers. Organizations that want application software to work on heterogeneous computers may port that software to the other machines. Deploying machine-dependent applications on such architectures, such applications require porting. This procedure includes composing, or re-composing, the application's code to suit the target platform. Porting Porting is the process of converting an application from one architecture to another. Software languages such as Java are designed so that applications can migrate across architectures without source code modifications. The term is applied when programming/equipment is changed to make it usable in a different architecture. Code that ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Lexical Analysis
In computer science, lexical analysis, lexing or tokenization is the process of converting a sequence of characters (such as in a computer program or web page) into a sequence of ''lexical tokens'' (strings with an assigned and thus identified meaning). A program that performs lexical analysis may be termed a ''lexer'', ''tokenizer'', or ''scanner'', although ''scanner'' is also a term for the first stage of a lexer. A lexer is generally combined with a parser, which together analyze the syntax of programming languages, web pages, and so forth. Applications A lexer forms the first phase of a compiler frontend in modern processing. Analysis generally occurs in one pass. In older languages such as ALGOL, the initial stage was instead line reconstruction, which performed unstropping and removed whitespace and comments (and had scannerless parsers, with no separate lexer). These steps are now done as part of the lexer. Lexers and parsers are most often used for compilers, but ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |