Question: Compilers that can compile both C and C++

CodeWarrior is an integrated development environment (IDE) published by Freescale Semiconductor for editing, compiling, and debugging software for several microcontrollers and microprocessors (Freescale ColdFire, ColdFire+, Kinetis, Qorivva, PX, Freescale RS08, Freescale S08, and S12Z) and digital signal controllers (DSC MC56F80X and MC5680XX) used in embedded systems.Languages supported are C, C++, and assembly language.Freescale's CodeWarrior for Microcontrollers version 10.5 (September 16, 2013) incorporates the Eclipse IDE version 4.21 (Juno) and Eclipse CDT (C/C++ Development Tooling) version 8.1.1.

POSIX
POSIX (/ˈpɒzɪks/ POZ-iks), an acronym for Portable Operating System Interface, is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines the application programming interface (API), along with command line shells and utility interfaces, for software compatibility with variants of Unix and other operating systems.

Gentoo Linux
Gentoo Linux  (pronounced /ˈdʒɛntuː/ JEN-too) is a computer operating system based on the Linux kernel and built using the Portage package management system. It is distributed as free and open-source software. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer.

Software bug
A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, or in frameworks and operating systems used by such programs, and a few are caused by compilers producing incorrect code.

Apache OpenOffice
Apache OpenOffice (AOO) is an open-source office productivity software suite. It is a successor project of OpenOffice.org and integrates features and improvements from IBM Lotus Symphony. Apache OpenOffice is a close cousin of LibreOffice and NeoOffice.

Debugger
A debugger or debugging tool is a computer program that is used to test and debug other programs (the "target" program). The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be somewhat slower than executing the code directly on the appropriate (or the same) processor.

Reo Coordination Language
{{hangon}}Reo is a domain-specific language for programming and analyzing coordination protocols that compose individual processes into full systems, broadly construed.Examples of classes of systems that can be composed with Reo include component-based systems, service-oriented systems, multithreading systems, biological systems, and cryptographic protocols.Reo has a graphical syntax in which every Reo program, called a connector or circuit, is a labeled directed hypergraph.Such a graph represents the data-flow among the processes in the system.Reo has formal semantics, which stand at the basis of its various formal verification techniques and compilation tools.

Hercules (emulator)
Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers.Although there are other mainframe emulators performing a similar function, Hercules is significant in enabling private individuals to run mainframe computer software on their own personal computers.Hercules runs under multiple parent operating systems including Linux, MS Windows, FreeBSD, Oracle Solaris, and Apple Mac OS X and is released under the open source software license QPL.

Visual Instruction Set
Visual Instruction Set, or VIS, is a SIMD instruction set extension for SPARC V9 microprocessors developed by Sun Microsystems. There are four versions of VIS: VIS 1, VIS 2, VIS 2+, and VIS 3.

Codec
A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. Codec is a portmanteau of coder-decoder or, less commonly, compressor-decompressor.A codec encodes a data stream or signal for transmission, storage or encryption, or decodes it for playback or editing. Codecs are used in videoconferencing, streaming media and video editing applications.

Very long instruction word
Very long instruction word (VLIW) refers to processor architectures designed to take advantage of instruction level parallelism (ILP). Whereas conventional processors mostly allow programs only to specify instructions that will be executed in sequence, a VLIW processor allows programs to explicitly specify instructions that will be executed at the same time (that is, in parallel).


Question: Compilers that can compile both C and C++

Comeau C/C++ is a compiler for C and C++ produced by Comeau Computing.

CDC 160 series
The CDC 160 series was a series of minicomputers built by Control Data Corporation.  The CDC 160 and CDC 160-A were 12-bit minicomputers built from 1960 to 1965; the CDC 160G was a 13-bit minicomputer, with an extended version of the CDC 160-A instruction set, and a compatibility mode in which it did not use the 13th bit. The 160 was designed by Seymour Cray - reportedly over a long three-day weekend.

Text editor
A text editor is a type of program used for editing plain text files. Text editors are provided with operating systems and software development packages, and can be used to change configuration files, documentation files and programming language source code.

Lisp machine
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software language, usually through hardware support. They are an example of a high-level language computer architecture, and in a sense, they were the first commercial single-user workstations.

J (programming language)
The J programming language, developed in the early 1990s by Kenneth E. Iverson and Roger Hui, is a synthesis of APL (also by Iverson) and the FP and FL function-level languages created by John Backus.To avoid repeating the APL special-character problem, J requires only the basic ASCII character set, resorting to the use of the dot and colon as "inflections" to form short words similar to digraphs.

Amstrad CPC
The Amstrad CPC (short for Colour Personal Computer) is a series of 8-bit home computers produced by Amstrad between 1984 and 1990.

Anders Hejlsberg
Anders Hejlsberg (/hɑːlsbɛrɡ/, born December 1960) is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools. He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C# and core developer on TypeScript.

Cross-platform
In computing, cross-platform, multi-platform, or platform independent, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms.

Motorola 68000 series
The Motorola 680x0/m68000/68000/m68k/68k series is a family of 32-bit CISC microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and were the primary competitors of Intel's x86 microprocessors. They were most well known as the processors powering the early Apple Macintosh, the Commodore Amiga, the Sinclair QL,  the Atari ST, the WeatherStar, the Sega Mega Drive/Genesis, and several others.

CATIA
CATIA (Computer Aided Three-dimensional Interactive Application) (in English usually pronounced /kəˈtiə/) is a multi-platform CAD/CAM/CAE commercial software suite developed by the French company Dassault Systèmes directed by Bernard Charlès. Written in the C++ programming language, CATIA is the cornerstone of the Dassault Systèmes software suite.

Nvidia Tesla Personal Supercomputer
The Tesla Personal Supercomputer is a desktop computer (personal supercomputer) that is backed by Nvidia and built by Dell, Lenovo and other companies. It is meant to be a demonstration of the capabilities of Nvidia's Tesla GPGPU brand; it utilizes NVIDIA's CUDA parallel computing architecture and is powered by up to 2688 parallel processing cores per GPGPU, which allow it to achieve speeds up to 250 times faster than standard PCs, according to Nvidia.


Question: Compilers that can compile both C and C++

The computer programming languages C and Object Pascal have similar times of origin, influences, and purposes. Both were used to design (and compile) their own compilers early in their lifetimes.Both C and Pascal are old programming languages: The original Pascal definition appeared in 1969 and a first compiler in 1970. The first version of C appeared in 1972.

GNU nano
GNU nano nano is a text editor for Unix-like computing systems or operating environments using a command line interface. It emulates the  Pico text editor, part of the Pine email client, and also provides additional functionality.In contrast to Pico, nano is licensed under the GNU General Public License (GPL). Released as free software by Chris Allegretta in 1999, today nano is part of the GNU Project.

Very long instruction word
Very long instruction word (VLIW) refers to processor architectures designed to take advantage of instruction level parallelism (ILP). Whereas conventional processors mostly allow programs only to specify instructions that will be executed in sequence, a VLIW processor allows programs to explicitly specify instructions that will be executed at the same time (that is, in parallel).

Pike (programming language)
Pike is an interpreted, general-purpose, high-level, cross-platform, dynamic programming language, with a syntax similar to that of C.  Unlike many other dynamic languages, Pike is both statically and dynamically typed, and requires explicit type definitions.

QuakeC
QuakeC is an interpreted language developed in 1996 by John Carmack of id Software to program parts of the video game Quake. Using QuakeC, a programmer is able to customize Quake to great extents by adding weapons, changing game logic and physics, and programming complex scenarios. It can be used to control many aspects of the game itself, such as parts of the AI, triggers, or changes in the level. The Quake engine was the only game engine to use QuakeC.

Communication engine
A communication engine is a tool that sends user requests to several other communication protocols and/or databases and aggregates the results into a single list or displays them according to their source. Communication engines enable users to enter communication account authorization once and access several communication avenues simultaneously.

OpenVMS
OpenVMS is a computer operating system for use in general purpose computing. It is the successor to the VMS Operating System (VAX-11/VMS, VAX/VMS), that was produced by Digital Equipment Corporation since 1977 for its series of VAX-11 minicomputers and its line of desktop workstations (DEC Alpha). The name VMS is derived from virtual memory system, according to one of its principal architectural features. OpenVMS also runs on the Itanium-based families of computers.

Hercules (emulator)
Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers.Although there are other mainframe emulators performing a similar function, Hercules is significant in enabling private individuals to run mainframe computer software on their own personal computers.Hercules runs under multiple parent operating systems including Linux, MS Windows, FreeBSD, Oracle Solaris, and Apple Mac OS X and is released under the open source software license QPL.

Parser Grammar Engine
The Parser Grammar Engine (PGE, originally the Parrot Grammar Engine) is a compiler and runtime for a Perl 6 rules for the Parrot virtual machine. PGE uses these rules to convert a parsing expression grammar into Parrot bytecode. It is therefore compiling rules into a program, unlike most virtual machines and runtimes, which store regular expressions in a secondary internal format that is then interpreted at runtime by a regular expression engine.

Zelybron Micro Nina
The Zelybron Micro Nina is Zelybron's entrant to the Ultra-Mobile PC (UMPC) market and is aimed to provide a bridge between regular laptops and netbooks. The Micro Nina also is Zelybron's first OEM product.Zelybron's Micro Nina is focussed towards business use and was introduced in November 2008 in Europe, it is available with Microsoft Windows or Zelybron's own FreeBSD variant pre-installed.

OCaml
OCaml (/oʊˈkæməl/ oh-KAM-əl), originally known as Objective Caml, is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez and others in 1996. OCaml extends the core Caml language with object-oriented constructs.OCaml's toolset includes an interactive top level interpreter, a bytecode compiler, a reversible Debugger, a package manager (OPAM), and an optimizing native code compiler.


Question: Compilers that can compile both C and C++

A compiler is a computer program (or a set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language), with the latter often having a binary form known as object code.

Dylan (programming language)
Dylan /ˈdɪlən/ is a multi-paradigm programming language that includes support for functional and object-oriented programming, and is dynamic and reflective while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors.

Cross-platform
In computing, cross-platform, multi-platform, or platform independent, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms.

Visual Instruction Set
Visual Instruction Set, or VIS, is a SIMD instruction set extension for SPARC V9 microprocessors developed by Sun Microsystems. There are four versions of VIS: VIS 1, VIS 2, VIS 2+, and VIS 3.

Superscalar processor
A superscalar CPU architecture implements a form of parallelism called instruction-level parallelism within a single processor. It therefore allows faster CPU throughput than would otherwise be possible at a given clock rate. A superscalar processor executes more than one instruction during a clock cycle by simultaneously dispatching multiple instructions to different functional units on the processor.

C-HTML
C-HTML (short for Compact HyperText Markup Language), also called i-mode-HTML, is a subset of HTML for small information devices, such as first-generation smart phones and PDAs, such as DoCoMo's i-mode mobile phones used in Japan.

INTERCAL
The Compiler Language With No Pronounceable Acronym, abbreviated INTERCAL, is an esoteric programming language that was created as a parody by Don Woods and James M. Lyon, two Princeton University students, in 1972. It satirizes aspects of the various programming languages at the time, as well as the proliferation of proposed language constructs and notations in the 1960s.There are two currently maintained versions of INTERCAL: C-INTERCAL, maintained by Eric S.

PagePlus
PagePlus is a desktop publishing (page layout) program developed by Serif. The first version was released in 1991 as the first commercial sub-£100 DTP package for Microsoft Windows. The latest release is PagePlus X8, which runs on Windows XP, Windows Vista, Windows 7, Windows 8, and Windows 10.

Communication engine
A communication engine is a tool that sends user requests to several other communication protocols and/or databases and aggregates the results into a single list or displays them according to their source. Communication engines enable users to enter communication account authorization once and access several communication avenues simultaneously.

APCB
The APCB (Association de Pilotage des Conférences B, or in English The International B Conference Steering Committee) organizes conferences about the B-Method, one of the leading formal methods, used in high-integrity software engineering.It has organized B meetings and conferences. From 2000, these became the ZB Conference (jointly with the Z notation, co-organized with the Z User Group), and from 2008 the ABZ conference (with Abstract State Machines as well).

Erlang (programming language)
Erlang (/ˈɜrlæŋ/ ER-lang) is a general-purpose, concurrent, garbage-collected programming language and runtime system. The sequential subset of Erlang is almost a functional language (excluding certain built-in functions (BIFs) such as those manipulating the process dictionary), with eager evaluation, single assignment, and dynamic typing. It was originally designed by Ericsson to support distributed, fault-tolerant, soft real-time, highly available, non-stop applications.


Question: Compilers that can compile both C and C++

ConTEXT is a text editor for Microsoft Windows.It has built-in syntax highlighters  for C, C++, Pascal, Delphi, FORTRAN, 80x86 assembler, Java, JavaScript, Visual Basic, Perl, CGI, HTML, SQL, Python, PHP, Tcl, Tk and its own syntax highlighter definition language. Other features are code templates and the ability to work with several document windows using  the Multiple Document Interface.

Lint (software)
In computer programming, lint was the name originally given to a particular program that flagged some suspicious and non-portable constructs (likely to be bugs) in C language source code.  The term is now applied generically to tools that flag suspicious usage in software written in any computer language.  The term lint-like behavior is sometimes applied to the process of flagging suspicious language usage.

ModeFRONTIER
modeFRONTIER  is a multi-objective optimization and design environment, written to couple CAD/computer aided engineering (CAE) tools, finite element structural analysis and computational fluid dynamics (CFD) software. It is developed by ESTECO SpA and provides an environment for product engineers and designers.

Cygnus Solutions
Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore, Michael Tiemann and David Henkel-Wallace to provide commercial support for free software.  Its tagline was: Making free software affordable.For years, employees of Cygnus Solutions were the maintainers of several key GNU software products, including the GNU Debugger and GNU Binutils (which included the GNU Assembler and Linker).

CP/M
CP/M, short for Control Program for Microcomputers, was a mass-market operating system created for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc.

Parrot virtual machine
Parrot is a register-based process virtual machine designed to run dynamic languages efficiently. It is possible to compile Parrot assembly language and PIR (an intermediate language) to Parrot bytecode and execute it. Parrot is free and open source software.Parrot was started by the Perl programming community and is developed with help from the open source and free software communities.

Reo Coordination Language
{{hangon}}Reo is a domain-specific language for programming and analyzing coordination protocols that compose individual processes into full systems, broadly construed.Examples of classes of systems that can be composed with Reo include component-based systems, service-oriented systems, multithreading systems, biological systems, and cryptographic protocols.Reo has a graphical syntax in which every Reo program, called a connector or circuit, is a labeled directed hypergraph.Such a graph represents the data-flow among the processes in the system.Reo has formal semantics, which stand at the basis of its various formal verification techniques and compilation tools.

University of Illinois/NCSA Open Source License
The University of Illinois/NCSA Open Source License, or UIUC license, is a permissive free software license, based on the MIT/X11 license and the 3-clause BSD license. By combining parts of these two licenses, it attempts to be clearer and more concise than either.The license is the result of efforts by a University of Illinois committee set up in 2001.  The intention was to create a new license standard for both NCSA and the worldwide software community in general.

Cactus Framework
Cactus is an open-source, problem-solving environment designed for scientists and engineers. Its modular structure enables parallel computation across different architectures and collaborative code development between different groups.

Bourne shell
The Bourne shell (sh) is a shell, or command-line interpreter, for computer operating systems.The Bourne shell was the default Unix shell of Unix Version 7. Most Unix-like systems continue to have /bin/sh—which will be the Bourne shell, or a symbolic link or hard link to a compatible shell even when other shells are used by most users.Developed by Stephen Bourne at Bell Labs, it was a replacement for the Thompson shell, whose executable file had the same name—sh.

OpenVMS
OpenVMS is a computer operating system for use in general purpose computing. It is the successor to the VMS Operating System (VAX-11/VMS, VAX/VMS), that was produced by Digital Equipment Corporation since 1977 for its series of VAX-11 minicomputers and its line of desktop workstations (DEC Alpha). The name VMS is derived from virtual memory system, according to one of its principal architectural features. OpenVMS also runs on the Itanium-based families of computers.


Question: Compilers that can compile both C and C++

ConceptGCC is a fork of the GNU C++ compiler that implements a preliminary version of the type concepts feature, originally planned for the last ISO standard for the C++ programming language C++11, at that time known as C++0x. Concepts were removed from C++11 in July 2009.

Gnuplot
gnuplot is a command-line program that can generate two- and three-dimensional plots of functions, data, and data fits. It is frequently used for publication-quality graphics as well as education. The program runs on all major computers and operating systems (GNU/Linux, Unix, Microsoft Windows, Mac OS X, and others). It is a program with a fairly long history, dating back to 1986.

Fortran
Fortran (previously FORTRAN, derived from Formula Translating System) is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing.

Spice Lisp
Spice Lisp is a Lisp dialect and its implementation originally written by CMU's Spice Lisp Group which targeted the microcode of the 16-bit PERQ workstation and its Accent operating system; it used that workstation's microcode abilities (it provided microcodes for Pascal, C, and Ada besides) to implement a stack architecture to store its data structures as 32-bit objects and to enable runtime type-checking.

Vi
vi /ˈviːˈaɪ/ is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by (and thus standardized by) the Single Unix Specification and POSIX.The original code for vi was written by Bill Joy in 1976, as the visual mode for a line editor called ex that Joy had written with Chuck Haley.

Berkeley DB
Berkeley DB (BDB) is a software library that provides a high-performance embedded database for key/value data.Berkeley DB is written in C with API bindings for C++, C#, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and many other programming languages. BDB stores arbitrary key/data pairs as byte arrays, and supports multiple data items for a single key.

INTERCAL
The Compiler Language With No Pronounceable Acronym, abbreviated INTERCAL, is an esoteric programming language that was created as a parody by Don Woods and James M. Lyon, two Princeton University students, in 1972. It satirizes aspects of the various programming languages at the time, as well as the proliferation of proposed language constructs and notations in the 1960s.There are two currently maintained versions of INTERCAL: C-INTERCAL, maintained by Eric S.

Dual front
Dual front is a design concept which allows a device to have two distinctive sides, one for each function.  It is most commonly used in camera phones.

AbiWord
AbiWord (/ˈæbiwɜrd/) is a free and open source software word processor written in C++. Since version 3 it is based on GTK+ 3. The name "AbiWord" is derived from the root of the Spanish word "abierto", meaning "open".Abiword was originally started by SourceGear Corporation as the first part of a proposed AbiSuite but was adopted by open source developers after SourceGear changed its business focus and ceased development.

GNUnited Nations
GNUnited Nations is a free program developed by the GNU Project to manage translation of HTML files. It produces a template from a master HTML file, which can be filled in with translations. The program then generates the translated pages, including the markup from the first page unchanged.

Makefile
Makefile(s) are text files written in a certain prescribed syntax. Together with Make Utility, it helps build a software from its source files, a way to organize code, and its compilation and linking.


Question: Compilers that can compile both C and C++

CrossBridge is an open-source toolset developed by Adobe Systems, that cross-compiles C and C++ code to run in Adobe Flash Player or Adobe AIR. Projects compiled with CrossBridge run up to 10 times faster than ActionScript 3 projects. CrossBridge was also known as "Alchemy" and the "Flash Runtime C++ Compiler", or "FlasCC".CrossBridge uses high-performance memory-access opcodes in the Flash Player (known as "Domain Memory") to work with in-memory data quickly.

GNU nano
GNU nano nano is a text editor for Unix-like computing systems or operating environments using a command line interface. It emulates the  Pico text editor, part of the Pine email client, and also provides additional functionality.In contrast to Pico, nano is licensed under the GNU General Public License (GPL). Released as free software by Chris Allegretta in 1999, today nano is part of the GNU Project.

CSV application support
The comma-separated values file format is a very simple data file format that is supported by almost all spreadsheet software such as Excel (although Excel uses the list separator of the current locale settings, which is a semicolon instead of a comma for many locales), Apple Numbers, OpenOffice.org Calc and Gnumeric as well as many online spreadsheet services such as EditGrid and Google Docs & Spreadsheets. Many database management systems support the reading and writing of CSV files.

Bjarne Stroustrup
Bjarne Stroustrup (Danish: [ˈbjɑːnə ˈsdʁʌʊ̯ˀsdʁɔb]; born 30 December 1950) is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language. He is a Distinguished Research Professor and holds the College of Engineering Chair in Computer Science at Texas A&M University, a visiting professor at Columbia University, and works at Morgan Stanley.

MATLAB
MATLAB (matrix laboratory) is a multi-paradigm numerical computing environment and fourth-generation programming language.

Forth (programming language)
Forth is an imperative stack-based computer programming language and programming environment. Language features include structured programming, reflection (the ability to modify the program structure during program execution), concatenative programming (functions are composed with juxtaposition) and extensibility (the programmer can create new commands).

Hercules (emulator)
Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers.Although there are other mainframe emulators performing a similar function, Hercules is significant in enabling private individuals to run mainframe computer software on their own personal computers.Hercules runs under multiple parent operating systems including Linux, MS Windows, FreeBSD, Oracle Solaris, and Apple Mac OS X and is released under the open source software license QPL.

European Union Public Licence
The European Union Public Licence (EUPL) is a software licence that has been created and approved by the European Commission. It is a free software licence.Its first version 1.0 was approved on 9 January 2007. Its latest version is version 1.1, which was approved by the European Commission on 9 January 2009. The licence is available in 22 official languages of the European Union. All linguistic versions have the same validity.

Berkeley DB
Berkeley DB (BDB) is a software library that provides a high-performance embedded database for key/value data.Berkeley DB is written in C with API bindings for C++, C#, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and many other programming languages. BDB stores arbitrary key/data pairs as byte arrays, and supports multiple data items for a single key.

Xalan
Xalan is a popular open source software library from the Apache Software Foundation, originally created by IBM under the name LotusXSL, that implements the XSLT 1.0 XML transformation language and the XPath 1.0 language. The Xalan XSLT processor is available for both the Java and C++ programming languages. A wrapper for the Eiffel language is available.

MAD (programming language)
MAD (Michigan Algorithm Decoder) is a programming language and compiler for the IBM 704 and later the IBM 709, IBM 7090, IBM 7040, UNIVAC 1107, UNIVAC 1108, Philco 210-211, and eventually the IBM S/370 mainframe computers. Developed in 1959 at the University of Michigan by Bernard Galler, Bruce Arden and Robert M. Graham, MAD is a variant of the ALGOL language.


Question: Compilers that can compile both C and C++

DJGPP (DJ's GNU Programming Platform) is a development suite for 386-based IBM PC compatibles which supports DOS-compatible operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the popular GCC compiler, as well as mostly GNU utilities such as Bash, find, tar, ls, Gawk, sed, and ld to DPMI. Languages available include C, C++, Objective-C/C++, Ada, Fortran, and Pascal.

Common Object Request Broker Architecture
The  Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between systems on different operating systems, programming languages, and computing hardware. CORBA has many of the same design goals as object-oriented programming: encapsulation and reuse.

Assembly language
An assembly language (or assembler language) is a low-level programming language for a computer, or other programmable device, in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions.

Very long instruction word
Very long instruction word (VLIW) refers to processor architectures designed to take advantage of instruction level parallelism (ILP). Whereas conventional processors mostly allow programs only to specify instructions that will be executed in sequence, a VLIW processor allows programs to explicitly specify instructions that will be executed at the same time (that is, in parallel).

Apache OpenOffice
Apache OpenOffice (AOO) is an open-source office productivity software suite. It is a successor project of OpenOffice.org and integrates features and improvements from IBM Lotus Symphony. Apache OpenOffice is a close cousin of LibreOffice and NeoOffice.

Spice Lisp
Spice Lisp is a Lisp dialect and its implementation originally written by CMU's Spice Lisp Group which targeted the microcode of the 16-bit PERQ workstation and its Accent operating system; it used that workstation's microcode abilities (it provided microcodes for Pascal, C, and Ada besides) to implement a stack architecture to store its data structures as 32-bit objects and to enable runtime type-checking.

Vim (text editor)
Vim (/vɪm/; a contraction of Vi IMproved) is a clone of Bill Joy's vi editor for Unix. It was written by Bram Moolenaar based on source for a port of the Stevie editor to the Amiga and first released publicly in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface.

Tcsh
tcsh (/ˌtiːˈsiːʃɛl/ "tee-cee-shell", /ˈtiːʃɛl/ "tee-shell", or as an acronym "tee cee ess aitch") is a Unix shell based on and compatible with the C shell (csh). It is essentially the C shell with programmable command-line completion, command-line editing, and a few other features.

LiveScript
LiveScript is a functional language that compiles to JavaScript. It was created by Jeremy Ashkenas—the creator of CoffeeScript—along with Satoshi Muramaki, George Zahariev, and many others. Notably, LiveScript was briefly the name of JavaScript in 1990s.

Bjarne Stroustrup
Bjarne Stroustrup (Danish: [ˈbjɑːnə ˈsdʁʌʊ̯ˀsdʁɔb]; born 30 December 1950) is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language. He is a Distinguished Research Professor and holds the College of Engineering Chair in Computer Science at Texas A&M University, a visiting professor at Columbia University, and works at Morgan Stanley.

Operator overloading
In programming, operator overloading—less commonly known as operator ad hoc polymorphism—is a specific case of polymorphism, where different operators have different implementations depending on their arguments. Operator overloading is generally defined by the language, the programmer, or both.


Question: Compilers that can compile both C and C++

Dev-C++ is a free full-featured integrated development environment (IDE) distributed under the GNU General Public License for programming in C and C++. It is written in Delphi.It is bundled with, and uses, the MinGW or TDM-GCC 64bit port of the GCC as its compiler.

Free software
Free software, software libre, or libre software is computer software that gives users the freedom to run the software for any purpose as well as to study, change, and distribute the software and the adapted versions. The right to study and modify free software gives full access to its source code. For computer programs which are covered by copyright law this is achieved with a software license where the author grants users the aforementioned freedoms.

Computer program
A computer program or app is a sequence of instructions, written to perform a specified task on a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute the instructions.  The same program in its human-readable source code form, from which executable programs are derived (e.g., compiled), enables a programmer to study and develop its algorithms.

Yet another
Among programmers, yet another (often abbreviated ya, Ya or YA in the initial part of an acronym) is an idiomatic qualifier in the name of a computer program, organisation, or event that is confessedly unoriginal.Stephen C. Johnson is credited with establishing the naming convention in the late 1970s when he named his compiler-compiler yacc (Yet Another Compiler-Compiler), since he felt there were already numerous compiler-compilers in circulation at the time.

Tru64 UNIX
Tru64 UNIX is a 64-bit UNIX operating system for the Alpha instruction set architecture (ISA), currently owned by Hewlett-Packard (HP). Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation (DEC), where it was known as Digital UNIX (formerly DEC OSF/1 AXP).As its original name suggests, Tru64 UNIX is based on the OSF/1 operating system.

Shell script
A shell script is a computer program designed to be run by the Unix shell, a command line interpreter. The various dialects of shell scripts are considered to be scripting languages.  The typical Unix/Linux/Posix-compliant installation includes the Korn Shell (ksh) in several possible versions such as ksh88, Korn Shell '93 and others.

Bluetooth stack
A Bluetooth stack is software that refers to an implementation of the Bluetooth protocol stack.Bluetooth stacks can be roughly divided into two distinct categories: General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additional Bluetooth profiles can typically be added through drivers.

Compound turbine
A compound turbine is a steam turbine in which there are two casings, a high-pressure casing and a low-pressure casing, operating in concert to extract work from a single source of steam. The steam is partially expanded in the high-pressure casing, then exhausted to the low-pressure casing.

Machine code
Machine code or machine language is a set of instructions executed directly by a computer's central processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an ALU operation on a unit of data in a CPU register or memory.

Bourne shell
The Bourne shell (sh) is a shell, or command-line interpreter, for computer operating systems.The Bourne shell was the default Unix shell of Unix Version 7. Most Unix-like systems continue to have /bin/sh—which will be the Bourne shell, or a symbolic link or hard link to a compatible shell even when other shells are used by most users.Developed by Stephen Bourne at Bell Labs, it was a replacement for the Thompson shell, whose executable file had the same name—sh.

Java (programming language)
Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.


Question: Compilers that can compile both C and C++

Digital Mars is a small American software company owned by Walter Bright that makes C and C++ compilers, and associated utilities such as an integrated development environment (IDE) for Windows and DOS, which Digital Mars terms an integrated development and debugging environment (IDDE). They also distribute the compilers for free on their web site.Over time, the names of these products have changed.

OpenVMS
OpenVMS is a computer operating system for use in general purpose computing. It is the successor to the VMS Operating System (VAX-11/VMS, VAX/VMS), that was produced by Digital Equipment Corporation since 1977 for its series of VAX-11 minicomputers and its line of desktop workstations (DEC Alpha). The name VMS is derived from virtual memory system, according to one of its principal architectural features. OpenVMS also runs on the Itanium-based families of computers.

Standard ML
Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of theorem provers.SML is a modern descendant of the ML programming language used in the Logic for Computable Functions (LCF) theorem-proving project.

Makefile
Makefile(s) are text files written in a certain prescribed syntax. Together with Make Utility, it helps build a software from its source files, a way to organize code, and its compilation and linking.

Free software
Free software, software libre, or libre software is computer software that gives users the freedom to run the software for any purpose as well as to study, change, and distribute the software and the adapted versions. The right to study and modify free software gives full access to its source code. For computer programs which are covered by copyright law this is achieved with a software license where the author grants users the aforementioned freedoms.

Mathematica
Mathematica is a computational software program used in many scientific, engineering, mathematical and computing fields, based on symbolic mathematics. It was conceived by Stephen Wolfram and is developed by Wolfram Research of Champaign, Illinois. The Wolfram  Language is the programming language used in Mathematica.

Bluetooth stack
A Bluetooth stack is software that refers to an implementation of the Bluetooth protocol stack.Bluetooth stacks can be roughly divided into two distinct categories: General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additional Bluetooth profiles can typically be added through drivers.

Intel MCS-51
The Intel MCS-51 (commonly referred to as 8051) is a Harvard architecture, CISC instruction set, single chip microcontroller (µC) series which was developed by Intel in 1980 for use in embedded systems.

Lisp machine
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software language, usually through hardware support. They are an example of a high-level language computer architecture, and in a sense, they were the first commercial single-user workstations.

ModeFRONTIER
modeFRONTIER  is a multi-objective optimization and design environment, written to couple CAD/computer aided engineering (CAE) tools, finite element structural analysis and computational fluid dynamics (CFD) software. It is developed by ESTECO SpA and provides an environment for product engineers and designers.

Amstrad CPC
The Amstrad CPC (short for Colour Personal Computer) is a series of 8-bit home computers produced by Amstrad between 1984 and 1990.


Question: Compilers that can compile both C and C++

In software development, distcc is a tool for speeding up compilation of source code by using distributed computing over a computer network. With the right configuration, distcc can dramatically reduce a project's compilation time.It is designed to work with the C programming language (and its derivatives like C++ and Objective-C) and to use GCC as its backend, though it provides varying degrees of compatibility with the Intel C++ Compiler and Sun Microsystems' Sun Studio Compiler Suite.

Mutual recursion
In mathematics and computer science, mutual recursion is a form of recursion where two mathematical or computational objects, such as functions or data types, are defined in terms of each other. Mutual recursion is very common in functional programming and in some problem domains, such as recursive descent parsers, where the data types are naturally mutually recursive, but is uncommon in other domains.

Java (programming language)
Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.

Cactus Framework
Cactus is an open-source, problem-solving environment designed for scientists and engineers. Its modular structure enables parallel computation across different architectures and collaborative code development between different groups.

PagePlus
PagePlus is a desktop publishing (page layout) program developed by Serif. The first version was released in 1991 as the first commercial sub-£100 DTP package for Microsoft Windows. The latest release is PagePlus X8, which runs on Windows XP, Windows Vista, Windows 7, Windows 8, and Windows 10.

LR parser
In computer science, LR parsers are a type of bottom-up parsers that efficiently handle deterministic context-free languages in guaranteed linear time. The LALR parsers and the SLR parsers are common variants of LR parsers.  LR parsers are often mechanically generated from a formal grammar for the language by a parser generator tool. They are very widely used for the processing of computer languages, more than other kinds of generated parsers.The name LR is an acronym.

Superscalar processor
A superscalar CPU architecture implements a form of parallelism called instruction-level parallelism within a single processor. It therefore allows faster CPU throughput than would otherwise be possible at a given clock rate. A superscalar processor executes more than one instruction during a clock cycle by simultaneously dispatching multiple instructions to different functional units on the processor.

Z-machine
The Z-machine is a virtual machine that was developed by Joel Berez and Marc Blank in 1979 and used by Infocom for its text adventure games. Infocom compiled game code to files containing Z-machine instructions (called story files, or Z-code files), and could therefore port all its text adventures to a new platform simply by writing a Z-machine implementation for that platform.

GNU Octave
GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. It provides a command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB.

Z shell
The Z shell (zsh) is a Unix shell that can be used as an interactive login shell and as a powerful command interpreter for shell scripting. Zsh can be thought of as an extended Bourne shell with a large number of improvements, including some features of bash, ksh, and tcsh.

Berkeley DB
Berkeley DB (BDB) is a software library that provides a high-performance embedded database for key/value data.Berkeley DB is written in C with API bindings for C++, C#, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and many other programming languages. BDB stores arbitrary key/data pairs as byte arrays, and supports multiple data items for a single key.


Question: Compilers that can compile both C and C++

Embeddable Common Lisp (ECL) is a LGPL Common Lisp implementation aimed at producing a small-footprint Lisp system that can be embedded into existing C-based applications. It is able to create stand-alone ELF executables from Common Lisp code and runs on most platforms that support a C compiler.Because it compiles Common Lisp to C, it also features an FFI system, including support for inline C to be used or generated from Common Lisp.

Turing completeness
In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing complete or computationally universal if it can be used to simulate any single-taped Turing machine. The concept is named after English mathematician Alan Turing.

QuickBASIC
Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC programming language that was developed by Microsoft. QuickBASIC runs mainly on DOS, though there was a short-lived version for Mac OS. It is loosely based on GW-BASIC but adds user-defined types, improved programming structures, better graphics and disk support and a compiler in addition to the interpreter.

Compound turbine
A compound turbine is a steam turbine in which there are two casings, a high-pressure casing and a low-pressure casing, operating in concert to extract work from a single source of steam. The steam is partially expanded in the high-pressure casing, then exhausted to the low-pressure casing.

Reo Coordination Language
{{hangon}}Reo is a domain-specific language for programming and analyzing coordination protocols that compose individual processes into full systems, broadly construed.Examples of classes of systems that can be composed with Reo include component-based systems, service-oriented systems, multithreading systems, biological systems, and cryptographic protocols.Reo has a graphical syntax in which every Reo program, called a connector or circuit, is a labeled directed hypergraph.Such a graph represents the data-flow among the processes in the system.Reo has formal semantics, which stand at the basis of its various formal verification techniques and compilation tools.

Editor war
Editor war is the common name for the rivalry between users of the Emacs  and Vi (Vim) text editors. The rivalry has become a lasting part of hacker culture and the free software community.Many flame wars have been fought between groups insisting that their editor of choice is the paragon of editing perfection, and insulting the others. Related battles have been fought over operating systems, programming languages, version control systems, and even source code indent style.

Literate programming
Literate programming is an approach to programming introduced by Donald Knuth in which a program is given as an explanation of the program logic in a natural language, such as English, interspersed with snippets of macros and traditional source code, from which a compilable source code can be generated.The literate programming paradigm, as conceived by Knuth, represents a move away from writing programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts.

Lisp machine
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software language, usually through hardware support. They are an example of a high-level language computer architecture, and in a sense, they were the first commercial single-user workstations.

GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate software released under the LGPL into their own (even proprietary) software without being required by the terms of a strong copyleft license to release the source code of their own components. The license only requires software under the LGPL be modifiable by end users via source code availability.

PL/I
PL/I "\Programming Language One", pronounced /piː ɛl wʌn/) is a procedural, imperative computer programming language designed for scientific, engineering, business and systems programming applications.

Software bug
A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, or in frameworks and operating systems used by such programs, and a few are caused by compilers producing incorrect code.


Question: Compilers that can compile both C and C++

The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain. The Free Software Foundation (FSF) distributes GCC under the GNU General Public License (GNU GPL). GCC has played an important role in the growth of free software, as both a tool and an example.Originally named the GNU C Compiler, when it only handled the C programming language, GCC 1.0 was released in 1987.

Standard ML
Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of theorem provers.SML is a modern descendant of the ML programming language used in the Logic for Computable Functions (LCF) theorem-proving project.

APCB
The APCB (Association de Pilotage des Conférences B, or in English The International B Conference Steering Committee) organizes conferences about the B-Method, one of the leading formal methods, used in high-integrity software engineering.It has organized B meetings and conferences. From 2000, these became the ZB Conference (jointly with the Z notation, co-organized with the Z User Group), and from 2008 the ABZ conference (with Abstract State Machines as well).

Disassembler
A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. A disassembler differs from a decompiler, which targets a high-level language rather than an assembly language.

Mutual recursion
In mathematics and computer science, mutual recursion is a form of recursion where two mathematical or computational objects, such as functions or data types, are defined in terms of each other. Mutual recursion is very common in functional programming and in some problem domains, such as recursive descent parsers, where the data types are naturally mutually recursive, but is uncommon in other domains.

Setjmp.h
setjmp.h is a header defined in the C standard library to provide "non-local jumps": control flow that deviates from the usual subroutine call and return sequence. The complementary functions setjmp and longjmp provide this functionality. A typical use of setjmp/longjmp is implementation of an exception mechanism that exploits the ability of longjmp to reestablish program or thread state, even across multiple levels of function calls.

T-Platforms
T-Platforms is a Russian supercomputer company.Founded in 2002, T-Platforms Group is headquartered in Moscow, Russia with regional offices in Hanover, Germany and Taipei, Taiwan. The company has implemented more than 300 integrated projects, six of which were included in the Top500 list of the world’s most powerful supercomputers. T-Platforms owns patents on a number of supercomputer technologies and electronic components.

Wish (Unix shell)
wish (Windowing Shell) is a simple scripting or interactive Unix shell for the X Window System and Mac OS X. It provides users with the facility to be able to control graphical user interface components via the Tk toolkit, and enables utilization of the Tcl programming language.wish is open source and is currently part of the Tcl/Tk programming suite.

Java (programming language)
Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.

Cocoa (API)
Cocoa is Apple's native object-oriented application programming interface (API) for the OS X operating system.For iOS, there is a similar API called Cocoa Touch which includes gesture recognition, animation, and a different set of graphical control elements, and is for applications for the iOS operating system, used on Apple devices such as iPhone, iPad, iPod Touch and Apple TV.Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by Cocoa.h header file, as well as the libraries and frameworks included by those, such as the C standard library and the Objective-C runtime.Cocoa applications are typically developed using the development tools provided by Apple, specifically Xcode (formerly Project Builder) and Interface Builder, using the Objective-C or Swift language.

Unix shell
A Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems. Users direct the operation of the computer by entering commands as text for a command line interpreter to execute, or by creating text scripts of one or more such commands.


Question: Compilers that can compile both C and C++

VisualAge was the name of a family of computer integrated development environments from IBM, which included support for multiple programming languages. VisualAge was first released in the 1980s and was still available in 2011.  VisualAge was also marketed as “VisualAge Smalltalk”. IBM has stated that XL C/C++ is the 'follow-on' product to VisualAge.

APCB
The APCB (Association de Pilotage des Conférences B, or in English The International B Conference Steering Committee) organizes conferences about the B-Method, one of the leading formal methods, used in high-integrity software engineering.It has organized B meetings and conferences. From 2000, these became the ZB Conference (jointly with the Z notation, co-organized with the Z User Group), and from 2008 the ABZ conference (with Abstract State Machines as well).

MetaComCo
MetaComCo (MCC) was a computer systems software company started in 1981 and based in Bristol, England by Peter Mackeonis and Derek Budge. A division of Tenchstar, Ltd.MetaComCo's first product was an MBASIC compatible interpreter for IBM PC's, which was licensed by Peter Mackeonis to Digital Research in 1982, and issued as the Digital Research Personal Basic, or PBASIC, running under CP/M.

Parrot virtual machine
Parrot is a register-based process virtual machine designed to run dynamic languages efficiently. It is possible to compile Parrot assembly language and PIR (an intermediate language) to Parrot bytecode and execute it. Parrot is free and open source software.Parrot was started by the Perl programming community and is developed with help from the open source and free software communities.

Compound turbine
A compound turbine is a steam turbine in which there are two casings, a high-pressure casing and a low-pressure casing, operating in concert to extract work from a single source of steam. The steam is partially expanded in the high-pressure casing, then exhausted to the low-pressure casing.

Bluetooth stack
A Bluetooth stack is software that refers to an implementation of the Bluetooth protocol stack.Bluetooth stacks can be roughly divided into two distinct categories: General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additional Bluetooth profiles can typically be added through drivers.

LatticeMico8
The LatticeMico8 is an 8-bit microcontroller soft processor core optimized for field-programmable gate arrays (FPGAs) and crossover programmable logic device architecture from Lattice Semiconductor. Combining a full 18-bit wide instruction set with 32 general purpose registers, the LatticeMico8 is a flexible Verilog reference design suitable for a wide variety of markets, including communications, consumer, computer, medical, industrial, and automotive.

Superscalar processor
A superscalar CPU architecture implements a form of parallelism called instruction-level parallelism within a single processor. It therefore allows faster CPU throughput than would otherwise be possible at a given clock rate. A superscalar processor executes more than one instruction during a clock cycle by simultaneously dispatching multiple instructions to different functional units on the processor.

Bjarne Stroustrup
Bjarne Stroustrup (Danish: [ˈbjɑːnə ˈsdʁʌʊ̯ˀsdʁɔb]; born 30 December 1950) is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language. He is a Distinguished Research Professor and holds the College of Engineering Chair in Computer Science at Texas A&M University, a visiting professor at Columbia University, and works at Morgan Stanley.

Wish (Unix shell)
wish (Windowing Shell) is a simple scripting or interactive Unix shell for the X Window System and Mac OS X. It provides users with the facility to be able to control graphical user interface components via the Tk toolkit, and enables utilization of the Tcl programming language.wish is open source and is currently part of the Tcl/Tk programming suite.

INTERCAL
The Compiler Language With No Pronounceable Acronym, abbreviated INTERCAL, is an esoteric programming language that was created as a parody by Don Woods and James M. Lyon, two Princeton University students, in 1972. It satirizes aspects of the various programming languages at the time, as well as the proliferation of proposed language constructs and notations in the 1960s.There are two currently maintained versions of INTERCAL: C-INTERCAL, maintained by Eric S.


Question: Compilers that can compile both C and C++

XL C/C++ is the name of the proprietary optimizing C/C++ compiler developed for IBM-supported environments. The XL compilers are built from modularized components consisting of front ends (for different programming languages), a platform agnostic high level optimizer, and platform-specific low-level optimizers/code generators to target specific hardware and operating systems.

GNUnited Nations
GNUnited Nations is a free program developed by the GNU Project to manage translation of HTML files. It produces a template from a master HTML file, which can be filled in with translations. The program then generates the translated pages, including the markup from the first page unchanged.

Spice Lisp
Spice Lisp is a Lisp dialect and its implementation originally written by CMU's Spice Lisp Group which targeted the microcode of the 16-bit PERQ workstation and its Accent operating system; it used that workstation's microcode abilities (it provided microcodes for Pascal, C, and Ada besides) to implement a stack architecture to store its data structures as 32-bit objects and to enable runtime type-checking.

PL/I
PL/I "\Programming Language One", pronounced /piː ɛl wʌn/) is a procedural, imperative computer programming language designed for scientific, engineering, business and systems programming applications.

ModeFRONTIER
modeFRONTIER  is a multi-objective optimization and design environment, written to couple CAD/computer aided engineering (CAE) tools, finite element structural analysis and computational fluid dynamics (CFD) software. It is developed by ESTECO SpA and provides an environment for product engineers and designers.

GNU
GNU /ɡnuː/ is an extensive collection of computer software that can be used to build a Unix-like operating system. GNU is composed wholly of free software. GNU is a recursive acronym for "GNU's Not Unix!", chosen because GNU's design is Unix-like, but differs from Unix by being free software and containing no Unix code. and was the original focus of the Free Software Foundation (FSF). However, non-GNU kernels, most famously the Linux kernel, can also be used with GNU software.

Assembly language
An assembly language (or assembler language) is a low-level programming language for a computer, or other programmable device, in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions.

Maxima (software)
Maxima is a computer algebra system based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as OS X, Unix, BSD, and Linux as well as under Microsoft Windows and Android.  It is free software released under the terms of the GNU General Public License.

Common Desktop Environment
The Common Desktop Environment (CDE) is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit. It was part of the UNIX98 Workstation Product Standard, and was long the "classic" Unix desktop associated with commercial Unix workstations.After a long history as proprietary software, CDE was released as free software on 6 August 2012, under the GNU Lesser General Public License, version 2 or later.

Multiple inheritance
Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class.

International Obfuscated C Code Contest
The International Obfuscated C Code Contest (abbreviated IOCCC) is a computer programming contest for the most creatively obfuscated C code. Held annually between 1984 and 1996, and thereafter in 1998, 2000, 2001, 2004, 2005, 2006, 2011, 2012, and 2013 it is described as "celebrating [C's] syntactical opaqueness".  The winning code for the 22nd contest, held in 2013, was released in January 2014.Prior to 2004, entries were submitted by email.


Question: Compilers that can compile both C and C++

Intel C++ Compiler, also known as icc or icl, is a group of C and C++ compilers from Intel available for Windows, OS X, Linux and Intel-based Android devices.

Pike (programming language)
Pike is an interpreted, general-purpose, high-level, cross-platform, dynamic programming language, with a syntax similar to that of C.  Unlike many other dynamic languages, Pike is both statically and dynamically typed, and requires explicit type definitions.

Pip (package manager)
pip is a package management system used to install and manage software packages written in Python. Many packages can be found in the Python Package Index (PyPI).Python 2.7.9 and later (on the python2 series), and Python 3.4 and later include pip (pip3 for Python 3) by default.pip is a recursive acronym that can stand for either "Pip Installs Packages" or "Pip Installs Python".

Mutual recursion
In mathematics and computer science, mutual recursion is a form of recursion where two mathematical or computational objects, such as functions or data types, are defined in terms of each other. Mutual recursion is very common in functional programming and in some problem domains, such as recursive descent parsers, where the data types are naturally mutually recursive, but is uncommon in other domains.

Tcsh
tcsh (/ˌtiːˈsiːʃɛl/ "tee-cee-shell", /ˈtiːʃɛl/ "tee-shell", or as an acronym "tee cee ess aitch") is a Unix shell based on and compatible with the C shell (csh). It is essentially the C shell with programmable command-line completion, command-line editing, and a few other features.

Software
Computer software or simply software is any set of machine-readable instructions that directs a computer's processor to perform specific operations. Computer software is non-tangible, contrasted with computer hardware, which is the physical component of computers. Computer hardware and software require each other and neither can be realistically used without the other.Computer software includes computer programs, libraries and their associated documentation.

ARM architecture
ARM, originally Acorn RISC Machine, is a family of reduced instruction set computing (RISC) instruction set architectures for computer processors, configured for various environments, developed by British company ARM Holdings.A RISC-based computer design approach means ARM processors require significantly fewer transistors than typical complex instruction set computing (CISC) x86 processors in most personal computers. This approach reduces costs, heat and power use.

CATIA
CATIA (Computer Aided Three-dimensional Interactive Application) (in English usually pronounced /kəˈtiə/) is a multi-platform CAD/CAM/CAE commercial software suite developed by the French company Dassault Systèmes directed by Bernard Charlès. Written in the C++ programming language, CATIA is the cornerstone of the Dassault Systèmes software suite.

Kyoto Common Lisp
Kyoto Common Lisp (KCL) is an implementation of Common Lisp by Taichi Yuasa and Masami Hagiya, written in C to run under Unix-like operating systems. KCL is compiled to ANSI C. It conforms to Common Lisp as described in the 1984 first edition of Guy Steele's book Common Lisp the Language and is available under a licence agreement.KCL is notable in that it was implemented from scratch, outside of the standard committee, solely on the basis of the specification.

Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages. It has built-in language support for design-by-contract, extremely strong typing, explicit concurrency, offering tasks, synchronous message passing, protected objects, and non-determinism. Ada aims to improve the safety and maintainability by leveraging the compiler to find compile-time errors in favor of runtime errors.

Lisp (programming language)
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized Polish prefix notation.Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older (by one year). Like Fortran, Lisp has changed a great deal since its early days, and a number of dialects have existed over its history.


Question: Compilers that can compile both C and C++

KDevelop is a free software integrated development environment (IDE) for the KDE Platform on Unix-like computer operating systems. KDevelop includes no compiler; instead, it uses an external compiler such as GCC or Clang to produce executable binaries.The current version, 4.7.1, was officially released on 6 February 2015, and will be the last version to use Qt 4 and KDElibs 4, as the next major release will rely on Qt 5 and KDE Frameworks 5.

XBasic
XBasic is a variant of the BASIC programming language that was developed in the late 1980s for the Motorola 88000 CPU and Unix by Max Reason. In the early 1990s it was ported to Windows and Linux, and since 1999 it has been available as open source software with its runtime library under the LGPL license.Max Reason discontinued his support, and development since has been overseen by Eddie Penninkhof.

Poplog
Poplog is a reflective, incrementally compiled software development environment for the programming languages POP-11, Common Lisp, Prolog, and Standard ML, originally created in the UK for teaching and research in artificial intelligence at the University of Sussex.

C shell
The C shell (csh or the improved version, tcsh, on most machines) is a Unix shell that was created by Bill Joy while he was a graduate student at University of California, Berkeley in the late 1970s.  It has been distributed widely, beginning with the  2BSD release of the BSD Unix system that Joy began distributing in 1978.

GNUstep
GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.GNUstep features a cross-platform, object-oriented IDE.  Like Apple Cocoa, GNUstep also has a Java interface, as well as Ruby, Guile and Scheme bindings. The GNUstep developers track some additions to Apple's Cocoa to remain compatible.

Perl
Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages. The languages in this family include Perl 5 and Perl 6.Though Perl is not officially an acronym, there are various backronyms in use, the most well-known being "Practical Extraction and Reporting Language". Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions.

Vector processor
In computing, a vector processor or array processor is a central processing unit (CPU) that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors, compared to scalar processors, whose instructions operate on single data items. Vector processors can greatly improve performance on certain workloads, notably numerical simulation and similar tasks.

Compaq
Compaq Computer Corporation was a company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced some of the first IBM PC compatible computers, being the first company to legally reverse engineer the IBM Personal Computer. It rose to become the largest supplier of PC systems during the 1990s before being overtaken by HP in 2001. Struggling in the aftermath of the dot-com bubble bust, Compaq was acquired for US$25 billion by HP in 2002.

Xalan
Xalan is a popular open source software library from the Apache Software Foundation, originally created by IBM under the name LotusXSL, that implements the XSLT 1.0 XML transformation language and the XPath 1.0 language. The Xalan XSLT processor is available for both the Java and C++ programming languages. A wrapper for the Eiffel language is available.

Very long instruction word
Very long instruction word (VLIW) refers to processor architectures designed to take advantage of instruction level parallelism (ILP). Whereas conventional processors mostly allow programs only to specify instructions that will be executed in sequence, a VLIW processor allows programs to explicitly specify instructions that will be executed at the same time (that is, in parallel).

A-0 System
The A-0 system (Arithmetic Language version 0), written by Grace Hopper in 1951 and 1952 for the UNIVAC I, was the first compiler ever developed for an electronic computer. The A-0 functioned more as a loader or linker than the modern notion of a compiler. A program was specified as a sequence of subroutines and arguments. The subroutines were identified by a numeric code and the arguments to the subroutines were written directly after each subroutine code.


Question: Compilers that can compile both C and C++

The LLVM compiler infrastructure project (formerly Low Level Virtual Machine) is a compiler infrastructure designed to be a set of reusable libraries with well-defined interfaces.LLVM is written in C++ and is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages.

BCPL
BCPL (Basic Combined Programming Language) is a procedural, imperative, and structured computer programming language designed by Martin Richards of the University of Cambridge in 1966.

Cyclone (programming language)
The Cyclone programming language is intended to be a safe dialect of the C language. Cyclone is designed to avoid buffer overflows and other vulnerabilities that are endemic in C programs, without losing the power and convenience of C as a tool for system programming.Cyclone development was started as a joint project of AT&T Labs Research and Greg Morrisett's group at Cornell in 2001. Version 1.0 was released on May 8, 2006.

Namespace
In computing, a namespace is a set of symbols that are used to organize objects of various kinds, so that these objects may be referred to by name.

Shell script
A shell script is a computer program designed to be run by the Unix shell, a command line interpreter. The various dialects of shell scripts are considered to be scripting languages.  The typical Unix/Linux/Posix-compliant installation includes the Korn Shell (ksh) in several possible versions such as ksh88, Korn Shell '93 and others.

Erlang (programming language)
Erlang (/ˈɜrlæŋ/ ER-lang) is a general-purpose, concurrent, garbage-collected programming language and runtime system. The sequential subset of Erlang is almost a functional language (excluding certain built-in functions (BIFs) such as those manipulating the process dictionary), with eager evaluation, single assignment, and dynamic typing. It was originally designed by Ericsson to support distributed, fault-tolerant, soft real-time, highly available, non-stop applications.

CrunchBang Linux
CrunchBang Linux (abbreviated #!) was a Linux distribution derived from Debian by Philip Newborough (who is better known by his user name, corenominal).CrunchBang was designed to use comparatively few system resources. Instead of a desktop environment it used a customized implementation of the Openbox window manager.

Apache OpenOffice
Apache OpenOffice (AOO) is an open-source office productivity software suite. It is a successor project of OpenOffice.org and integrates features and improvements from IBM Lotus Symphony. Apache OpenOffice is a close cousin of LibreOffice and NeoOffice.

Xerces
In computing, Xerces is Apache's collection of software libraries for parsing, validating, serializing and manipulating XML. The library implements a number of standard APIs for XML parsing, including DOM, SAX and SAX2. The implementation is available in the Java, C++ and Perl programming languages.The name "Xerces" is believed to commemorate the extinct Xerces Blue butterfly (Glaucopsyche xerces).

APCB
The APCB (Association de Pilotage des Conférences B, or in English The International B Conference Steering Committee) organizes conferences about the B-Method, one of the leading formal methods, used in high-integrity software engineering.It has organized B meetings and conferences. From 2000, these became the ZB Conference (jointly with the Z notation, co-organized with the Z User Group), and from 2008 the ABZ conference (with Abstract State Machines as well).

Lint (software)
In computer programming, lint was the name originally given to a particular program that flagged some suspicious and non-portable constructs (likely to be bugs) in C language source code.  The term is now applied generically to tools that flag suspicious usage in software written in any computer language.  The term lint-like behavior is sometimes applied to the process of flagging suspicious language usage.


Question: Compilers that can compile both C and C++

Liberty Eiffel is a free Eiffel compiler. The compiler translates Eiffel code to C. Hence it can be used to write programs that run on virtually any platform for which an ANSI C compiler exists.  Liberty Eiffel uses type inference to make it possible to implement a more efficient compiler.Liberty Eiffel is based on the codebase of SmartEiffel, as the SmartEiffel team seems to have lost interest in the compiler and no more releases are expected.

Software bug
A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, or in frameworks and operating systems used by such programs, and a few are caused by compilers producing incorrect code.

Text editor
A text editor is a type of program used for editing plain text files. Text editors are provided with operating systems and software development packages, and can be used to change configuration files, documentation files and programming language source code.

Cross-platform
In computing, cross-platform, multi-platform, or platform independent, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms.

Spice Lisp
Spice Lisp is a Lisp dialect and its implementation originally written by CMU's Spice Lisp Group which targeted the microcode of the 16-bit PERQ workstation and its Accent operating system; it used that workstation's microcode abilities (it provided microcodes for Pascal, C, and Ada besides) to implement a stack architecture to store its data structures as 32-bit objects and to enable runtime type-checking.

Free software
Free software, software libre, or libre software is computer software that gives users the freedom to run the software for any purpose as well as to study, change, and distribute the software and the adapted versions. The right to study and modify free software gives full access to its source code. For computer programs which are covered by copyright law this is achieved with a software license where the author grants users the aforementioned freedoms.

CP/M
CP/M, short for Control Program for Microcomputers, was a mass-market operating system created for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc.

Itanium
Itanium (/aɪˈteɪniəm/ eye-TAY-nee-əm) is a family of 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). Intel markets the processors for enterprise servers and high-performance computing systems. The Itanium architecture originated at Hewlett-Packard (HP), and was later jointly developed by HP and Intel.Itanium-based systems have been produced by HP (the HP Integrity Servers line) and several other manufacturers.

CWEB
CWEB is a computer programming system created by Donald Knuth and Silvio Levy as a follow-up to Knuth's WEB literate programming system, using the C programming language (and to a lesser extent the C++ and Java programming languages) instead of Pascal.Like WEB, it consists of two primary programs: CTANGLE, which produces compilable C code from the source texts, and CWEAVE, which produces nicely-formatted printable documentation using TeX.

Unix shell
A Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems. Users direct the operation of the computer by entering commands as text for a command line interpreter to execute, or by creating text scripts of one or more such commands.

MAD (programming language)
MAD (Michigan Algorithm Decoder) is a programming language and compiler for the IBM 704 and later the IBM 709, IBM 7090, IBM 7040, UNIVAC 1107, UNIVAC 1108, Philco 210-211, and eventually the IBM S/370 mainframe computers. Developed in 1959 at the University of Michigan by Bernard Galler, Bruce Arden and Robert M. Graham, MAD is a variant of the ALGOL language.


Question: Compilers that can compile both C and C++

In programming languages, particularly C++, linkage describes how names can or can not refer to the same entity throughout the whole program or one single translation unit.The static keyword is used in C to restrict the visibility of a function or variable to its translation unit. This is also valid in C++.

COBOL
COBOL (/ˈkoʊbɒl/, an acronym for common business-oriented language) is a compiled English-like computer programming language designed for business use. It is imperative, procedural and, since 2002, object-oriented. COBOL is primarily used in business, finance, and administrative systems for companies and governments. In 1997, Gartner Group estimated that there were a total of 200 billion lines of COBOL in existence, which ran 80% of all business programs.

OpenVMS
OpenVMS is a computer operating system for use in general purpose computing. It is the successor to the VMS Operating System (VAX-11/VMS, VAX/VMS), that was produced by Digital Equipment Corporation since 1977 for its series of VAX-11 minicomputers and its line of desktop workstations (DEC Alpha). The name VMS is derived from virtual memory system, according to one of its principal architectural features. OpenVMS also runs on the Itanium-based families of computers.

Bjarne Stroustrup
Bjarne Stroustrup (Danish: [ˈbjɑːnə ˈsdʁʌʊ̯ˀsdʁɔb]; born 30 December 1950) is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language. He is a Distinguished Research Professor and holds the College of Engineering Chair in Computer Science at Texas A&M University, a visiting professor at Columbia University, and works at Morgan Stanley.

Shell script
A shell script is a computer program designed to be run by the Unix shell, a command line interpreter. The various dialects of shell scripts are considered to be scripting languages.  The typical Unix/Linux/Posix-compliant installation includes the Korn Shell (ksh) in several possible versions such as ksh88, Korn Shell '93 and others.

Disassembler
A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. A disassembler differs from a decompiler, which targets a high-level language rather than an assembly language.

Borland
Borland Software Corporation is a software company that facilitates software deployment projects.  Borland was first headquartered in Scotts Valley, California, then in Cupertino, California, and now in Austin, Texas. It is now a Micro Focus International subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.

OCaml
OCaml (/oʊˈkæməl/ oh-KAM-əl), originally known as Objective Caml, is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez and others in 1996. OCaml extends the core Caml language with object-oriented constructs.OCaml's toolset includes an interactive top level interpreter, a bytecode compiler, a reversible Debugger, a package manager (OPAM), and an optimizing native code compiler.

Wine (software)
Wine (recursive acronym for Wine Is Not an Emulator) is a free and open source compatibility layer software application that aims to allow applications designed for Microsoft Windows to run on Unix-like operating systems.

Namespace
In computing, a namespace is a set of symbols that are used to organize objects of various kinds, so that these objects may be referred to by name.

Setjmp.h
setjmp.h is a header defined in the C standard library to provide "non-local jumps": control flow that deviates from the usual subroutine call and return sequence. The complementary functions setjmp and longjmp provide this functionality. A typical use of setjmp/longjmp is implementation of an exception mechanism that exploits the ability of longjmp to reestablish program or thread state, even across multiple levels of function calls.


Question: Compilers that can compile both C and C++

Macintosh Programmer's Workshop or MPW, is a software development environment for the Classic Mac OS computer operating system, written by Apple Computer. For Macintosh developers, it was one of the primary tools for building applications for System 7.x and Mac OS 8.x and 9.x. Initially MPW was available for purchase, but Apple made it a free download after it was superseded by CodeWarrior. On Mac OS X it was replaced by the Project Builder IDE, which eventually became Xcode.

Bourne shell
The Bourne shell (sh) is a shell, or command-line interpreter, for computer operating systems.The Bourne shell was the default Unix shell of Unix Version 7. Most Unix-like systems continue to have /bin/sh—which will be the Bourne shell, or a symbolic link or hard link to a compatible shell even when other shells are used by most users.Developed by Stephen Bourne at Bell Labs, it was a replacement for the Thompson shell, whose executable file had the same name—sh.

Zelybron Micro Nina
The Zelybron Micro Nina is Zelybron's entrant to the Ultra-Mobile PC (UMPC) market and is aimed to provide a bridge between regular laptops and netbooks. The Micro Nina also is Zelybron's first OEM product.Zelybron's Micro Nina is focussed towards business use and was introduced in November 2008 in Europe, it is available with Microsoft Windows or Zelybron's own FreeBSD variant pre-installed.

Multiple inheritance
Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class.

CWEB
CWEB is a computer programming system created by Donald Knuth and Silvio Levy as a follow-up to Knuth's WEB literate programming system, using the C programming language (and to a lesser extent the C++ and Java programming languages) instead of Pascal.Like WEB, it consists of two primary programs: CTANGLE, which produces compilable C code from the source texts, and CWEAVE, which produces nicely-formatted printable documentation using TeX.

Liberty BASIC
Liberty BASIC (LB) is a commercial computer programming language and integrated development environment (IDE). It has an interpreter, developed in Smalltalk, which recognizes its own dialect of the BASIC programming language. It runs on 16- and 32-bit Windows and OS/2.

GnuCash
GnuCash is a free software accounting program that implements a double-entry bookkeeping system. It was initially aimed at developing capabilities similar to Intuit, Inc.'s Quicken application, but also has features for small business accounting. Recent development has been focused on adapting to modern desktop support-library requirements.GnuCash is part of the GNU Project, and runs on Linux, OpenBSD, FreeBSD, Solaris, OS X, and other Unix-like platforms.

Tcsh
tcsh (/ˌtiːˈsiːʃɛl/ "tee-cee-shell", /ˈtiːʃɛl/ "tee-shell", or as an acronym "tee cee ess aitch") is a Unix shell based on and compatible with the C shell (csh). It is essentially the C shell with programmable command-line completion, command-line editing, and a few other features.

GNU Octave
GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. It provides a command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB.

Forth (programming language)
Forth is an imperative stack-based computer programming language and programming environment. Language features include structured programming, reflection (the ability to modify the program structure during program execution), concatenative programming (functions are composed with juxtaposition) and extensibility (the programmer can create new commands).

Vi
vi /ˈviːˈaɪ/ is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by (and thus standardized by) the Single Unix Specification and POSIX.The original code for vi was written by Bill Joy in 1976, as the visual mode for a line editor called ex that Joy had written with Chuck Haley.


Question: Compilers that can compile both C and C++

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs for Microsoft Windows, as well as web sites, web applications and web services. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight.

Compound turbine
A compound turbine is a steam turbine in which there are two casings, a high-pressure casing and a low-pressure casing, operating in concert to extract work from a single source of steam. The steam is partially expanded in the high-pressure casing, then exhausted to the low-pressure casing.

Anders Hejlsberg
Anders Hejlsberg (/hɑːlsbɛrɡ/, born December 1960) is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools. He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C# and core developer on TypeScript.

GNUstep
GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.GNUstep features a cross-platform, object-oriented IDE.  Like Apple Cocoa, GNUstep also has a Java interface, as well as Ruby, Guile and Scheme bindings. The GNUstep developers track some additions to Apple's Cocoa to remain compatible.

Unix shell
A Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems. Users direct the operation of the computer by entering commands as text for a command line interpreter to execute, or by creating text scripts of one or more such commands.

Forth (programming language)
Forth is an imperative stack-based computer programming language and programming environment. Language features include structured programming, reflection (the ability to modify the program structure during program execution), concatenative programming (functions are composed with juxtaposition) and extensibility (the programmer can create new commands).

University of Illinois/NCSA Open Source License
The University of Illinois/NCSA Open Source License, or UIUC license, is a permissive free software license, based on the MIT/X11 license and the 3-clause BSD license. By combining parts of these two licenses, it attempts to be clearer and more concise than either.The license is the result of efforts by a University of Illinois committee set up in 2001.  The intention was to create a new license standard for both NCSA and the worldwide software community in general.

List of programmers
This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. All entries should already have associated articles.

Itanium
Itanium (/aɪˈteɪniəm/ eye-TAY-nee-əm) is a family of 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). Intel markets the processors for enterprise servers and high-performance computing systems. The Itanium architecture originated at Hewlett-Packard (HP), and was later jointly developed by HP and Intel.Itanium-based systems have been produced by HP (the HP Integrity Servers line) and several other manufacturers.

ClipGrab
ClipGrab is a multi-platform software for downloading videos from popular websites such as YouTube, Vimeo, Dailymotion or Metacafe. It also provides the possibility to convert the downloaded files to other file formats such as MP3, MPEG4, OGG Theora or WMV. It is published as free software under the terms of version 3 of the GNU General Public License.

INTERCAL
The Compiler Language With No Pronounceable Acronym, abbreviated INTERCAL, is an esoteric programming language that was created as a parody by Don Woods and James M. Lyon, two Princeton University students, in 1972. It satirizes aspects of the various programming languages at the time, as well as the proliferation of proposed language constructs and notations in the 1960s.There are two currently maintained versions of INTERCAL: C-INTERCAL, maintained by Eric S.


Question: Compilers that can compile both C and C++

Microsoft Visual Studio Express is a set of integrated development environments (IDEs) developed by Microsoft as a freeware function-limited version of the non-free Microsoft Visual Studio. Express editions started with Visual Studio 2005.Visual Studio Express was supplemented by the Visual Studio Community edition, again free of charge. The community edition allows the installation of plugins, a feature that was previously exclusive to the paid editions (Professional and higher).

Hercules (emulator)
Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers.Although there are other mainframe emulators performing a similar function, Hercules is significant in enabling private individuals to run mainframe computer software on their own personal computers.Hercules runs under multiple parent operating systems including Linux, MS Windows, FreeBSD, Oracle Solaris, and Apple Mac OS X and is released under the open source software license QPL.

Borland
Borland Software Corporation is a software company that facilitates software deployment projects.  Borland was first headquartered in Scotts Valley, California, then in Cupertino, California, and now in Austin, Texas. It is now a Micro Focus International subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.

Literate programming
Literate programming is an approach to programming introduced by Donald Knuth in which a program is given as an explanation of the program logic in a natural language, such as English, interspersed with snippets of macros and traditional source code, from which a compilable source code can be generated.The literate programming paradigm, as conceived by Knuth, represents a move away from writing programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts.

Tcsh
tcsh (/ˌtiːˈsiːʃɛl/ "tee-cee-shell", /ˈtiːʃɛl/ "tee-shell", or as an acronym "tee cee ess aitch") is a Unix shell based on and compatible with the C shell (csh). It is essentially the C shell with programmable command-line completion, command-line editing, and a few other features.

List of object-oriented programming languages
This is a list of notable object-oriented programming languages, which are also listed in Category:Object-oriented programming languages.

Cygnus Solutions
Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore, Michael Tiemann and David Henkel-Wallace to provide commercial support for free software.  Its tagline was: Making free software affordable.For years, employees of Cygnus Solutions were the maintainers of several key GNU software products, including the GNU Debugger and GNU Binutils (which included the GNU Assembler and Linker).

Backus–Naur Form
In computer science, BNF (Backus Normal Form or Backus–Naur Form) is one of the two main notation techniques for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols; the other main technique for writing context-free grammars is the van Wijngaarden form.

Vector processor
In computing, a vector processor or array processor is a central processing unit (CPU) that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors, compared to scalar processors, whose instructions operate on single data items. Vector processors can greatly improve performance on certain workloads, notably numerical simulation and similar tasks.

Codec
A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. Codec is a portmanteau of coder-decoder or, less commonly, compressor-decompressor.A codec encodes a data stream or signal for transmission, storage or encryption, or decodes it for playback or editing. Codecs are used in videoconferencing, streaming media and video editing applications.

Disassembler
A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. A disassembler differs from a decompiler, which targets a high-level language rather than an assembly language.