Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Install
Faster access than browser!
 

Compiler

Index Compiler

A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language). [1]

194 relations: A-0 System, Abstract interpretation, Abstract syntax tree, Ada (programming language), Addison-Wesley, Addressing mode, ALGOL, Alias analysis, Alick Glennie, Amsterdam Compiler Kit, APL (programming language), Application-specific integrated circuit, Assembly language, Association for Computing Machinery, Atlas Autocode, Attribute grammar, Autocode, Automatic parallelization, B (programming language), Backus–Naur form, BASIC, Basic block, BCPL, Bell Labs, Binary recompiler, BLISS, Bootstrapping (compilers), Bottom-up parsing, Bytecode, C (programming language), C++, Call graph, Cambridge University Press, Central processing unit, Cfront, COBOL, Code generation (compiler), Common Intermediate Language, Common Lisp, Compile and go system, Compile farm, Compiled language, Compiler correctness, Compiler-compiler, Compilers: Principles, Techniques, and Tools, Computer data storage, Computer hardware, Computer science, Computing platform, Constant folding, ..., Context-free grammar, Control flow graph, Coral 66, CRC Press, Cross compiler, DARPA, Data-flow analysis, Datamation, Dead code elimination, Debugging, Decompiler, Definite assignment analysis, Delay slot, Dennis Ritchie, Dependence analysis, Disassembler, Edinburgh IMP, Embedded system, Englewood Cliffs, New Jersey, Escape analysis, European Joint Conferences on Theory and Practice of Software, Eval, Executable, Execution unit, Extended Backus–Naur form, Fernando J. Corbató, Field-programmable gate array, Finite-state machine, FLOW-MATIC, Formal grammar, Formal language, Formal methods, Fortran, General Electric, GNAT, GNU Compiler Collection, Grace Hopper, Heuristic (computer science), Hewlett-Packard, High-level programming language, Honeywell, IBM, Indentation style, Inline expansion, Instruction scheduling, Instruction selection, Integrated development environment, Intel, Intermediate representation, International Conference on Functional Programming, Interpreted language, Interpreter (computing), Interprocedural optimization, Java (programming language), John Backus, John McCarthy (computer scientist), Just-in-time compilation, Ken Thompson, Konrad Zuse, Lexical analysis, Lisp (programming language), List of compilers, List of educational programming languages, LLVM, Lookup table, Loop optimization, Low-level programming language, Machine code, Macmillan Publishers, Macro (computer science), Manchester Mark 1, Martin Richards (computer scientist), Massachusetts Institute of Technology, Metacompilation, Microsoft, Morgan Kaufmann Publishers, Multi-pass compiler, Multics, Niklaus Wirth, Noam Chomsky, NP-hardness, Object binding, Object code, Object-oriented programming, One-pass compiler, OOPSLA, Open64, OpenMP, Operating system, Optimizing compiler, Parse tree, Parsing, Pascal (programming language), Peephole optimization, PL/0, PL/I, Plankalkül, Pointer analysis, PQCC, Prentice Hall, Preprocessor, Program optimization, Programming language, Programming Language Design and Implementation, Prolog, Python (programming language), Recursive descent parser, Register allocation, Regular expression, Regular language, Remington Rand, Rewriting, Runtime library, Scannerless parsing, Scheme (programming language), Semantic analysis (compilers), Separation of concerns, Sethi–Ullman algorithm, SIGPLAN, Silicon compiler, Silicon Graphics, Simula, Smalltalk, SNOBOL, Software, Source code, Source-to-source compiler, Stropping (syntax), Sun Microsystems, Symbol table, Symposium on Principles of Programming Languages, Syntax (programming languages), Syntax-directed translation, Tombstone diagram, Top-down parsing, Transistor, Translator (computing), Type system, Unix, Use-define chain, Virtual machine, Warren Abstract Machine, Yacc, .NET Framework. Expand index (144 more) »

A-0 System

The A-0 system (Arithmetic Language version 0), written by Richard K. Ridgway (managed by Grace Hopper) in 1951 and 1952 for the UNIVAC I, was an early compiler related tool developed for electronic computers.

New!!: Compiler and A-0 System · See more »

Abstract interpretation

In computer science, abstract interpretation is a theory of sound approximation of the semantics of computer programs, based on monotonic functions over ordered sets, especially lattices.

New!!: Compiler and Abstract interpretation · See more »

Abstract syntax tree

In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the abstract syntactic structure of source code written in a programming language.

New!!: Compiler and Abstract syntax tree · See more »

Ada (programming language)

Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.

New!!: Compiler and Ada (programming language) · See more »

Addison-Wesley

Addison-Wesley is a publisher of textbooks and computer literature.

New!!: Compiler and Addison-Wesley · See more »

Addressing mode

Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs.

New!!: Compiler and Addressing mode · See more »

ALGOL

ALGOL (short for "Algorithmic Language") is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years.

New!!: Compiler and ALGOL · See more »

Alias analysis

Alias analysis is a technique in compiler theory, used to determine if a storage location may be accessed in more than one way.

New!!: Compiler and Alias analysis · See more »

Alick Glennie

Alick Edwards Glennie (1925–2003) was a British computer scientist, most famous for having developed Autocode, which many people regard as the first ever computer compiler.

New!!: Compiler and Alick Glennie · See more »

Amsterdam Compiler Kit

The Amsterdam Compiler Kit (ACK) is a retargetable compiler suite and toolchain written by Andrew Tanenbaum and Ceriel Jacobs, and was MINIX's native toolchain until the MINIX userland was largely replaced by that of NetBSD (MINIX 3.2.0) and clang was adopted as the system compiler.

New!!: Compiler and Amsterdam Compiler Kit · See more »

APL (programming language)

APL (named after the book A Programming Language) is a programming language developed in the 1960s by Kenneth E. Iverson.

New!!: Compiler and APL (programming language) · See more »

Application-specific integrated circuit

An Application-Specific Integrated Circuit (ASIC), is an integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use.

New!!: Compiler and Application-specific integrated circuit · See more »

Assembly language

An assembly (or assembler) language, often abbreviated asm, is a low-level programming language, in which there is a very strong (but often not one-to-one) correspondence between the assembly program statements and the architecture's machine code instructions.

New!!: Compiler and Assembly language · See more »

Association for Computing Machinery

The Association for Computing Machinery (ACM) is an international learned society for computing.

New!!: Compiler and Association for Computing Machinery · See more »

Atlas Autocode

Atlas Autocode (AA)R.A. Brooker and J.S. Rohl,, University of Manchester Computer Science Department, 1965.

New!!: Compiler and Atlas Autocode · See more »

Attribute grammar

An attribute grammar is a formal way to define attributes for the productions of a formal grammar, associating these attributes with values.

New!!: Compiler and Attribute grammar · See more »

Autocode

Autocode is the name of a family of "simplified coding systems", later called programming languages, devised in the 1950s and 1960s for a series of digital computers at the Universities of Manchester, Cambridge and London.

New!!: Compiler and Autocode · See more »

Automatic parallelization

Automatic parallelization, also auto parallelization, autoparallelization, or parallelization, the last one of which implies automation when used in context, refers to converting sequential code into multi-threaded or vectorized (or even both) code in order to utilize multiple processors simultaneously in a shared-memory multiprocessor (SMP) machine.

New!!: Compiler and Automatic parallelization · See more »

B (programming language)

B is a programming language developed at Bell Labs circa 1969.

New!!: Compiler and B (programming language) · See more »

Backus–Naur form

In computer science, Backus–Naur form or Backus normal form (BNF) is a notation technique 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.

New!!: Compiler and Backus–Naur form · See more »

BASIC

BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use.

New!!: Compiler and BASIC · See more »

Basic block

In compiler construction, a basic block is a straight-line code sequence with no branches in except to the entry and no branches out except at the exit.

New!!: Compiler and Basic block · See more »

BCPL

BCPL ("Basic Combined Programming Language"; or 'Before C Programming Language' (a common humorous backronym)) is a procedural, imperative, and structured computer programming language.

New!!: Compiler and BCPL · See more »

Bell Labs

Nokia Bell Labs (formerly named AT&T Bell Laboratories, Bell Telephone Laboratories and Bell Labs) is an American research and scientific development company, owned by Finnish company Nokia.

New!!: Compiler and Bell Labs · See more »

Binary recompiler

A binary recompiler is a compiler that takes executable binary files as input, analyzes their structure, applies transformations and optimizations, and outputs new optimized executable binaries.

New!!: Compiler and Binary recompiler · See more »

BLISS

BLISS is a system programming language developed at Carnegie Mellon University by W. A. Wulf, D. B. Russell, and A. N. Habermann around 1970.

New!!: Compiler and BLISS · See more »

Bootstrapping (compilers)

In computer science, bootstrapping is the technique for producing a self-compiling compiler — that is, compiler (or assembler) written in the source programming language that it intends to compile.

New!!: Compiler and Bootstrapping (compilers) · See more »

Bottom-up parsing

In computer science, parsing reveals the grammatical structure of linear input text, as a first step in working out its meaning.

New!!: Compiler and Bottom-up parsing · See more »

Bytecode

Bytecode, also termed portable code or p-code, is a form of instruction set designed for efficient execution by a software interpreter.

New!!: Compiler and Bytecode · See more »

C (programming language)

C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.

New!!: Compiler and C (programming language) · See more »

C++

C++ ("see plus plus") is a general-purpose programming language.

New!!: Compiler and C++ · See more »

Call graph

A call graph (also known as a call multigraph) is a control flow graph, which represents calling relationships between subroutines in a computer program.

New!!: Compiler and Call graph · See more »

Cambridge University Press

Cambridge University Press (CUP) is the publishing business of the University of Cambridge.

New!!: Compiler and Cambridge University Press · See more »

Central processing unit

A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.

New!!: Compiler and Central processing unit · See more »

Cfront

Cfront was the original compiler for C++ (then known as "C with Classes") from around 1983, which converted C++ to C; developed by Bjarne Stroustrup.

New!!: Compiler and Cfront · See more »

COBOL

COBOL (an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use.

New!!: Compiler and COBOL · See more »

Code generation (compiler)

In computing, code generation is the process by which a compiler's code generator converts some intermediate representation of source code into a form (e.g., machine code) that can be readily executed by a machine.

New!!: Compiler and Code generation (compiler) · See more »

Common Intermediate Language

Common Intermediate Language (CIL), formerly called Microsoft Intermediate Language (MSIL), is the lowest-level human-readable programming language defined by the Common Language Infrastructure (CLI) specification and is used by the.NET Framework,.NET Core, and Mono.

New!!: Compiler and Common Intermediate Language · See more »

Common Lisp

Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 (R2004) (formerly X3.226-1994 (R1999)).

New!!: Compiler and Common Lisp · See more »

Compile and go system

In computer programming, a compile and go system, compile, load, and go system, assemble and go system, or load and go system is a programming language processor in which the compilation, assembly, or link steps are not separated from program execution.

New!!: Compiler and Compile and go system · See more »

Compile farm

A compile farm is a server farm, a collection of one or more servers, which has been set up to compile computer programs remotely for various reasons.

New!!: Compiler and Compile farm · See more »

Compiled language

A compiled language is a programming language whose implementations are typically compilers (translators that generate machine code from source code), and not interpreters (step-by-step executors of source code, where no pre-runtime translation takes place).

New!!: Compiler and Compiled language · See more »

Compiler correctness

In computing, compiler correctness is the branch of computer science that deals with trying to show that a compiler behaves according to its language specification.

New!!: Compiler and Compiler correctness · See more »

Compiler-compiler

In computer science, a compiler-compiler or compiler generator is a programming tool that creates a parser, interpreter, or compiler from some form of formal description of a language and machine.

New!!: Compiler and Compiler-compiler · See more »

Compilers: Principles, Techniques, and Tools

Compilers: Principles, Techniques, and Tools is a computer science textbook by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman about compiler construction.

New!!: Compiler and Compilers: Principles, Techniques, and Tools · See more »

Computer data storage

Computer data storage, often called storage or memory, is a technology consisting of computer components and recording media that are used to retain digital data.

New!!: Compiler and Computer data storage · See more »

Computer hardware

Computer hardware includes the physical parts or components of a computer, such as the central processing unit, monitor, keyboard, computer data storage, graphic card, sound card and motherboard.

New!!: Compiler and Computer hardware · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: Compiler and Computer science · See more »

Computing platform

A computing platform or digital platform is the environment in which a piece of software is executed.

New!!: Compiler and Computing platform · See more »

Constant folding

Constant folding and constant propagation are related compiler optimizations used by many modern compilers.

New!!: Compiler and Constant folding · See more »

Context-free grammar

In formal language theory, a context-free grammar (CFG) is a certain type of formal grammar: a set of production rules that describe all possible strings in a given formal language.

New!!: Compiler and Context-free grammar · See more »

Control flow graph

A control flow graph (CFG) in computer science is a representation, using graph notation, of all paths that might be traversed through a program during its execution.

New!!: Compiler and Control flow graph · See more »

Coral 66

CORAL (Computer On-line Real-time Applications Language) is a programming language originally developed in 1964 at the Royal Radar Establishment (RRE), Malvern, UK, as a subset of JOVIAL.

New!!: Compiler and Coral 66 · See more »

CRC Press

The CRC Press, LLC is a publishing group based in the United States that specializes in producing technical books.

New!!: Compiler and CRC Press · See more »

Cross compiler

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running.

New!!: Compiler and Cross compiler · See more »

DARPA

The Defense Advanced Research Projects Agency (DARPA) is an agency of the United States Department of Defense responsible for the development of emerging technologies for use by the military.

New!!: Compiler and DARPA · See more »

Data-flow analysis

Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program.

New!!: Compiler and Data-flow analysis · See more »

Datamation

Datamation is a computer magazine that was published in print form in the United States between 1957 and 1998,, Sharon Machlis // ComputerWorld, page 15, 19 January 1998 and has since continued publication on the web.

New!!: Compiler and Datamation · See more »

Dead code elimination

In compiler theory, dead code elimination (also known as DCE, dead code removal, dead code stripping, or dead code strip) is a compiler optimization to remove code which does not affect the program results.

New!!: Compiler and Dead code elimination · See more »

Debugging

Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.

New!!: Compiler and Debugging · See more »

Decompiler

A decompiler is a computer program that takes an executable file as input, and attempts to create a high level source file which can be recompiled successfully.

New!!: Compiler and Decompiler · See more »

Definite assignment analysis

In computer science, definite assignment analysis is a data-flow analysis used by compilers to conservatively ensure that a variable or location is always assigned to before it is used.

New!!: Compiler and Definite assignment analysis · See more »

Delay slot

In computer architecture, a delay slot is an instruction slot that gets executed without the effects of a preceding instruction.

New!!: Compiler and Delay slot · See more »

Dennis Ritchie

Dennis MacAlistair Ritchie (September 9, 1941 – October 12, 2011) was an American computer scientist.

New!!: Compiler and Dennis Ritchie · See more »

Dependence analysis

In compiler theory, dependence analysis produces execution-order constraints between statements/instructions.

New!!: Compiler and Dependence analysis · See more »

Disassembler

A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler.

New!!: Compiler and Disassembler · See more »

Edinburgh IMP

Edinburgh IMP is a development of ATLAS Autocode, initially developed around 1966-1969 at Edinburgh University, Scotland.

New!!: Compiler and Edinburgh IMP · See more »

Embedded system

An embedded system is a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints.

New!!: Compiler and Embedded system · See more »

Englewood Cliffs, New Jersey

Englewood Cliffs is a borough in Bergen County, New Jersey, United States.

New!!: Compiler and Englewood Cliffs, New Jersey · See more »

Escape analysis

In compiler optimization, escape analysis is a method for determining the dynamic scope of pointers where in the program a pointer can be accessed.

New!!: Compiler and Escape analysis · See more »

European Joint Conferences on Theory and Practice of Software

The European Joint Conferences on Theory and Practice of Software (ETAPS) is a confederation of five computer science conferences taking place annually at one conference site, usually end of March or early April.

New!!: Compiler and European Joint Conferences on Theory and Practice of Software · See more »

Eval

In some programming languages, eval is a function which evaluates a string as though it were an expression and returns a result; in others, it executes multiple lines of code as though they had been included instead of the line including the eval.

New!!: Compiler and Eval · See more »

Executable

In computing, executable code or an executable file or executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful.

New!!: Compiler and Executable · See more »

Execution unit

In computer engineering, an execution unit (also called a functional unit) is a part of the central processing unit (CPU) that performs the operations and calculations as instructed by the computer program.

New!!: Compiler and Execution unit · See more »

Extended Backus–Naur form

In computer science, extended Backus-Naur form (EBNF) is a family of metasyntax notations, any of which can be used to express a context-free grammar.

New!!: Compiler and Extended Backus–Naur form · See more »

Fernando J. Corbató

Fernando José "Corby" Corbató (born July 1, 1926) is a prominent American computer scientist, notable as a pioneer in the development of time-sharing operating systems.

New!!: Compiler and Fernando J. Corbató · See more »

Field-programmable gate array

A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing hence "field-programmable".

New!!: Compiler and Field-programmable gate array · See more »

Finite-state machine

A finite-state machine (FSM) or finite-state automaton (FSA, plural: automata), finite automaton, or simply a state machine, is a mathematical model of computation.

New!!: Compiler and Finite-state machine · See more »

FLOW-MATIC

FLOW-MATIC, originally known as B-0 (Business Language version 0), was the first English-like data processing language.

New!!: Compiler and FLOW-MATIC · See more »

Formal grammar

In formal language theory, a grammar (when the context is not given, often called a formal grammar for clarity) is a set of production rules for strings in a formal language.

New!!: Compiler and Formal grammar · See more »

Formal language

In mathematics, computer science, and linguistics, a formal language is a set of strings of symbols together with a set of rules that are specific to it.

New!!: Compiler and Formal language · See more »

Formal methods

In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically based techniques for the specification, development and verification of software and hardware systems.

New!!: Compiler and Formal methods · See more »

Fortran

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

New!!: Compiler and Fortran · See more »

General Electric

General Electric Company (GE) is an American multinational conglomerate incorporated in New York and headquartered in Boston, Massachusetts.

New!!: Compiler and General Electric · See more »

GNAT

GNAT is a free-software compiler for the Ada programming language which forms part of the GNU Compiler Collection.

New!!: Compiler and GNAT · See more »

GNU Compiler Collection

The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages.

New!!: Compiler and GNU Compiler Collection · See more »

Grace Hopper

Grace Brewster Murray Hopper (December 9, 1906 – January 1, 1992) was an American computer scientist and United States Navy rear admiral.

New!!: Compiler and Grace Hopper · See more »

Heuristic (computer science)

In computer science, artificial intelligence, and mathematical optimization, a heuristic (from Greek εὑρίσκω "I find, discover") is a technique designed for solving a problem more quickly when classic methods are too slow, or for finding an approximate solution when classic methods fail to find any exact solution.

New!!: Compiler and Heuristic (computer science) · See more »

Hewlett-Packard

The Hewlett-Packard Company (commonly referred to as HP) or shortened to Hewlett-Packard was an American multinational information technology company headquartered in Palo Alto, California.

New!!: Compiler and Hewlett-Packard · See more »

High-level programming language

In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer.

New!!: Compiler and High-level programming language · See more »

Honeywell

Honeywell International Inc. is an American multinational conglomerate company that produces a variety of commercial and consumer products, engineering services and aerospace systems for a wide variety of customers, from private consumers to major corporations and governments.

New!!: Compiler and Honeywell · See more »

IBM

The International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, United States, with operations in over 170 countries.

New!!: Compiler and IBM · See more »

Indentation style

In computer programming, an indentation style is a convention governing the indentation of blocks of code to convey program structure.

New!!: Compiler and Indentation style · See more »

Inline expansion

In computing, inline expansion, or inlining, is a manual or compiler optimization that replaces a function call site with the body of the called function.

New!!: Compiler and Inline expansion · See more »

Instruction scheduling

In computer science, instruction scheduling is a compiler optimization used to improve instruction-level parallelism, which improves performance on machines with instruction pipelines.

New!!: Compiler and Instruction scheduling · See more »

Instruction selection

In computer science, instruction selection is the stage of a compiler backend that transforms its middle-level intermediate representation (IR) into a low-level IR where each operation directly corresponds to an instruction available on the target machine.

New!!: Compiler and Instruction selection · See more »

Integrated development environment

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.

New!!: Compiler and Integrated development environment · See more »

Intel

Intel Corporation (stylized as intel) is an American multinational corporation and technology company headquartered in Santa Clara, California, in the Silicon Valley.

New!!: Compiler and Intel · See more »

Intermediate representation

An Intermediate representation (IR) is the data structure or code used internally by a compiler or virtual machine to represent source code.

New!!: Compiler and Intermediate representation · See more »

International Conference on Functional Programming

The ACM SIGPLAN International Conference on Functional Programming (ICFP) is an annual academic conference in the field of computer science sponsored by the ACM SIGPLAN, in association with IFIP Working Group 2.8 (Functional Programming).

New!!: Compiler and International Conference on Functional Programming · See more »

Interpreted language

An interpreted language is a type of programming language for which most of its implementations execute instructions directly and freely, without previously compiling a program into machine-language instructions.

New!!: Compiler and Interpreted language · See more »

Interpreter (computing)

In computer science, an interpreter is a computer program that directly executes, i.e. performs, instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.

New!!: Compiler and Interpreter (computing) · See more »

Interprocedural optimization

Interprocedural optimization (IPO) is a collection of compiler techniques used in computer programming to improve performance in programs containing many frequently used functions of small or medium length.

New!!: Compiler and Interprocedural optimization · See more »

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.

New!!: Compiler and Java (programming language) · See more »

John Backus

John Warner Backus (December 3, 1924 – March 17, 2007) was an American computer scientist.

New!!: Compiler and John Backus · See more »

John McCarthy (computer scientist)

John McCarthy (September 4, 1927 – October 24, 2011) was an American computer scientist and cognitive scientist.

New!!: Compiler and John McCarthy (computer scientist) · See more »

Just-in-time compilation

In computing, just-in-time (JIT) compilation, (also dynamic translation or run-time compilation), is a way of executing computer code that involves compilation during execution of a program – at run time – rather than prior to execution.

New!!: Compiler and Just-in-time compilation · See more »

Ken Thompson

Kenneth Lane "Ken" Thompson (born February 4, 1943), commonly referred to as ken in hacker circles, is an American pioneer of computer science.

New!!: Compiler and Ken Thompson · See more »

Konrad Zuse

Konrad Zuse (22 June 1910 – 18 December 1995) was a German civil engineer, inventor and computer pioneer.

New!!: Compiler and Konrad Zuse · See more »

Lexical analysis

In computer science, lexical analysis, lexing or tokenization is the process of converting a sequence of characters (such as in a computer program or web page) into a sequence of tokens (strings with an assigned and thus identified meaning).

New!!: Compiler and Lexical analysis · See more »

Lisp (programming language)

Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.

New!!: Compiler and Lisp (programming language) · See more »

List of compilers

This page is intended to list all current compilers, compiler generators, interpreters, translators, tool foundations, assemblers, automatable command line interfaces (shells), etc.

New!!: Compiler and List of compilers · See more »

List of educational programming languages

An educational programming language is a programming language that is designed mostly as an instrument for learning, and less as a tool for writing programs to perform work.

New!!: Compiler and List of educational programming languages · See more »

LLVM

The LLVM compiler infrastructure project is a "collection of modular and reusable compiler and toolchain technologies" used to develop compiler front ends and back ends.

New!!: Compiler and LLVM · See more »

Lookup table

In computer science, a lookup table is an array that replaces runtime computation with a simpler array indexing operation.

New!!: Compiler and Lookup table · See more »

Loop optimization

In compiler theory, loop optimization is the process of increasing execution speed and reducing the overheads associated with loops.

New!!: Compiler and Loop optimization · See more »

Low-level programming language

A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions.

New!!: Compiler and Low-level programming language · See more »

Machine code

Machine code is a computer program written in machine language instructions that can be executed directly by a computer's central processing unit (CPU).

New!!: Compiler and Machine code · See more »

Macmillan Publishers

Macmillan Publishers Ltd (occasionally known as the Macmillan Group) is an international publishing company owned by Holtzbrinck Publishing Group.

New!!: Compiler and Macmillan Publishers · See more »

Macro (computer science)

A macro (short for "macroinstruction", from Greek μακρός 'long') in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to a replacement output sequence (also often a sequence of characters) according to a defined procedure.

New!!: Compiler and Macro (computer science) · See more »

Manchester Mark 1

The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester from the Manchester Baby (operational in June 1948).

New!!: Compiler and Manchester Mark 1 · See more »

Martin Richards (computer scientist)

Martin Richards (born 21 July 1940) is a British computer scientist known for his development of the BCPL programming language which is both part of early research into portable software, and the ancestor of the B programming language invented by Ken Thompson in early versions of Unix and which Dennis Ritchie in turn used as the basis of his widely used C programming language.

New!!: Compiler and Martin Richards (computer scientist) · See more »

Massachusetts Institute of Technology

The Massachusetts Institute of Technology (MIT) is a private research university located in Cambridge, Massachusetts, United States.

New!!: Compiler and Massachusetts Institute of Technology · See more »

Metacompilation

Metacompilation is a computation which involves metasystem transitions (MST) from a computing machine M to a metamachine M' which controls, analyzes and imitates the work of M. Semantics-based program transformation, such as partial evaluation and supercompilation (SCP), is metacomputation.

New!!: Compiler and Metacompilation · See more »

Microsoft

Microsoft Corporation (abbreviated as MS) is an American multinational technology company with headquarters in Redmond, Washington.

New!!: Compiler and Microsoft · See more »

Morgan Kaufmann Publishers

Morgan Kaufmann Publishers is a Burlington, Massachusetts (San Francisco, California until 2008) based publisher specializing in computer science and engineering content.

New!!: Compiler and Morgan Kaufmann Publishers · See more »

Multi-pass compiler

A multi-pass compiler is a type of compiler that processes the source code or abstract syntax tree of a program several times.

New!!: Compiler and Multi-pass compiler · See more »

Multics

Multics (Multiplexed Information and Computing Service) is an influential early time-sharing operating system, based around the concept of a single-level memory.

New!!: Compiler and Multics · See more »

Niklaus Wirth

Niklaus Emil Wirth (born 15 February 1934) is a Swiss computer scientist, best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering.

New!!: Compiler and Niklaus Wirth · See more »

Noam Chomsky

Avram Noam Chomsky (born December 7, 1928) is an American linguist, philosopher, cognitive scientist, historian, social critic and political activist.

New!!: Compiler and Noam Chomsky · See more »

NP-hardness

NP-hardness (''n''on-deterministic ''p''olynomial-time hardness), in computational complexity theory, is the defining property of a class of problems that are, informally, "at least as hard as the hardest problems in NP".

New!!: Compiler and NP-hardness · See more »

Object binding

Several object binding times exist in object oriented systems.

New!!: Compiler and Object binding · See more »

Object code

In computing, object code or object module is the product of a compiler.

New!!: Compiler and Object code · See more »

Object-oriented programming

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").

New!!: Compiler and Object-oriented programming · See more »

One-pass compiler

In computer programming, a one-pass compiler is a compiler that passes through the parts of each compilation unit only once, immediately translating each part into its final machine code.

New!!: Compiler and One-pass compiler · See more »

OOPSLA

OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) is an annual ACM research conference.

New!!: Compiler and OOPSLA · See more »

Open64

Open64 is a free, open source, optimizing compiler for the Itanium and x86-64 microprocessor architectures.

New!!: Compiler and Open64 · See more »

OpenMP

OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most platforms, instruction set architectures and operating systems, including Solaris, AIX, HP-UX, Linux, macOS, and Windows.

New!!: Compiler and OpenMP · See more »

Operating system

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.

New!!: Compiler and Operating system · See more »

Optimizing compiler

In computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program.

New!!: Compiler and Optimizing compiler · See more »

Parse tree

A parse tree or parsing tree or derivation tree or concrete syntax tree is an ordered, rooted tree that represents the syntactic structure of a string according to some context-free grammar.

New!!: Compiler and Parse tree · See more »

Parsing

Parsing, syntax analysis or syntactic analysis is the process of analysing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar.

New!!: Compiler and Parsing · See more »

Pascal (programming language)

Pascal is an imperative and procedural programming language, which Niklaus Wirth designed in 1968–69 and published in 1970, as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honor of the French mathematician, philosopher and physicist Blaise Pascal. Pascal was developed on the pattern of the ALGOL 60 language. Wirth had already developed several improvements to this language as part of the ALGOL X proposals, but these were not accepted and Pascal was developed separately and released in 1970. A derivative known as Object Pascal designed for object-oriented programming was developed in 1985; this was used by Apple Computer and Borland in the late 1980s and later developed into Delphi on the Microsoft Windows platform. Extensions to the Pascal concepts led to the Pascal-like languages Modula-2 and Oberon.

New!!: Compiler and Pascal (programming language) · See more »

Peephole optimization

In compiler theory, peephole optimization is a kind of optimization performed over a very small set of instructions in a segment of generated code.

New!!: Compiler and Peephole optimization · See more »

PL/0

PL/0 is a programming language, intended as an educational programming language, that is similar to but much simpler than Pascal, a general-purpose programming language.

New!!: Compiler and PL/0 · See more »

PL/I

PL/I (Programming Language One, pronounced) is a procedural, imperative computer programming language designed for scientific, engineering, business and system programming uses.

New!!: Compiler and PL/I · See more »

Plankalkül

Plankalkül ("Plan Calculus") is a programming language designed for engineering purposes by Konrad Zuse between 1942 and 1945.

New!!: Compiler and Plankalkül · See more »

Pointer analysis

In computer science, pointer analysis, or points-to analysis, is a static code analysis technique that establishes which pointers, or heap references, can point to which variables, or storage locations.

New!!: Compiler and Pointer analysis · See more »

PQCC

The Production Quality Compiler-Compiler Project (or PQCC) was a long-term project led by William Wulf at Carnegie Mellon University to produce an industrial-strength compiler-compiler.

New!!: Compiler and PQCC · See more »

Prentice Hall

Prentice Hall is a major educational publisher owned by Pearson plc.

New!!: Compiler and Prentice Hall · See more »

Preprocessor

In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program.

New!!: Compiler and Preprocessor · See more »

Program optimization

In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources.

New!!: Compiler and Program optimization · See more »

Programming language

A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.

New!!: Compiler and Programming language · See more »

Programming Language Design and Implementation

Programming Language Design and Implementation (PLDI) is one of the ACM SIGPLAN's most important conferences.

New!!: Compiler and Programming Language Design and Implementation · See more »

Prolog

Prolog is a general-purpose logic programming language associated with artificial intelligence and computational linguistics.

New!!: Compiler and Prolog · See more »

Python (programming language)

Python is an interpreted high-level programming language for general-purpose programming.

New!!: Compiler and Python (programming language) · See more »

Recursive descent parser

In computer science, a recursive descent parser is a kind of top-down parser built from a set of mutually recursive procedures (or a non-recursive equivalent) where each such procedure usually implements one of the productions of the grammar.

New!!: Compiler and Recursive descent parser · See more »

Register allocation

In compiler optimization, register allocation is the process of assigning a large number of target program variables onto a small number of CPU registers.

New!!: Compiler and Register allocation · See more »

Regular expression

A regular expression, regex or regexp (sometimes called a rational expression) is, in theoretical computer science and formal language theory, a sequence of characters that define a search pattern.

New!!: Compiler and Regular expression · See more »

Regular language

In theoretical computer science and formal language theory, a regular language (also called a rational language) is a formal language that can be expressed using a regular expression, in the strict sense of the latter notion used in theoretical computer science (as opposed to many regular expressions engines provided by modern programming languages, which are augmented with features that allow recognition of languages that cannot be expressed by a classic regular expression).

New!!: Compiler and Regular language · See more »

Remington Rand

Remington Rand (1927–1955) was an early American business machines manufacturer, best known originally as a typewriter manufacturer and in a later incarnation as the manufacturer of the UNIVAC line of mainframe computers.

New!!: Compiler and Remington Rand · See more »

Rewriting

In mathematics, computer science, and logic, rewriting covers a wide range of (potentially non-deterministic) methods of replacing subterms of a formula with other terms.

New!!: Compiler and Rewriting · See more »

Runtime library

In computer programming, a runtime library (RTL) is a set of low-level routines used by a compiler to invoke some of the behaviors of a runtime environment, by inserting calls to the runtime library into compiled executable binary.

New!!: Compiler and Runtime library · See more »

Scannerless parsing

In computer science, scannerless parsing (also called lexerless parsing) refers to performing both tokenization (breaking a stream of characters into words) and parsing (arranging the words into phrases) in a single step, rather than breaking it up into a pipeline of a lexer followed by a parser, executing concurrently.

New!!: Compiler and Scannerless parsing · See more »

Scheme (programming language)

Scheme is a programming language that supports multiple paradigms, including functional programming and imperative programming, and is one of the two main dialects of Lisp.

New!!: Compiler and Scheme (programming language) · See more »

Semantic analysis (compilers)

Semantic analysis or context sensitive analysis is a process in compiler construction, usually after parsing, to gather necessary semantic information from the source code.

New!!: Compiler and Semantic analysis (compilers) · See more »

Separation of concerns

In computer science, separation of concerns (SoC) is a design principle for separating a computer program into distinct sections, such that each section addresses a separate concern.

New!!: Compiler and Separation of concerns · See more »

Sethi–Ullman algorithm

In computer science, the Sethi–Ullman algorithm is an algorithm named after Ravi Sethi and Jeffrey D. Ullman, its inventors, for translating abstract syntax trees into machine code that uses as few registers as possible.

New!!: Compiler and Sethi–Ullman algorithm · See more »

SIGPLAN

SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.

New!!: Compiler and SIGPLAN · See more »

Silicon compiler

A silicon compiler is a software system that takes a user's specifications and automatically generates an integrated circuit (IC).

New!!: Compiler and Silicon compiler · See more »

Silicon Graphics

Silicon Graphics, Inc. (later rebranded SGI, historically known as Silicon Graphics Computer Systems or SGCS) was an American high-performance computing manufacturer, producing computer hardware and software.

New!!: Compiler and Silicon Graphics · See more »

Simula

Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard.

New!!: Compiler and Simula · See more »

Smalltalk

Smalltalk is an object-oriented, dynamically typed, reflective programming language.

New!!: Compiler and Smalltalk · See more »

SNOBOL

SNOBOL (StriNg Oriented and symBOlic Language) is a series of computer programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph E. Griswold and Ivan P. Polonsky, culminating in SNOBOL4.

New!!: Compiler and SNOBOL · See more »

Software

Computer software, or simply software, is a generic term that refers to a collection of data or computer instructions that tell the computer how to work, in contrast to the physical hardware from which the system is built, that actually performs the work.

New!!: Compiler and Software · See more »

Source code

In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.

New!!: Compiler and Source code · See more »

Source-to-source compiler

A source-to-source compiler, transcompiler or transpiler is a type of compiler that takes the source code of a program written in one programming language as its input and produces the equivalent source code in another programming language.

New!!: Compiler and Source-to-source compiler · See more »

Stropping (syntax)

In computer language design, stropping is a method of explicitly marking letter sequences as having a special property, such as being a keyword, or a certain type of variable or storage location, and thus inhabiting a different namespace from ordinary names ("identifiers"), in order to avoid clashes.

New!!: Compiler and Stropping (syntax) · See more »

Sun Microsystems

Sun Microsystems, Inc. was an American company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the Network File System (NFS), and SPARC.

New!!: Compiler and Sun Microsystems · See more »

Symbol table

In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier (a.k.a. symbol) in a program's source code is associated with information relating to its declaration or appearance in the source.

New!!: Compiler and Symbol table · See more »

Symposium on Principles of Programming Languages

The annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) is an academic conference in the field of computer science, with focus on fundamental principles in the design, definition, analysis, and implementation of programming languages, programming systems, and programming interfaces.

New!!: Compiler and Symposium on Principles of Programming Languages · See more »

Syntax (programming languages)

In computer science, the syntax of a computer language is the set of rules that defines the combinations of symbols that are considered to be a correctly structured document or fragment in that language.

New!!: Compiler and Syntax (programming languages) · See more »

Syntax-directed translation

Syntax-directed translation refers to a method of compiler implementation where the source language translation is completely driven by the parser.

New!!: Compiler and Syntax-directed translation · See more »

Tombstone diagram

In computing, tombstone diagrams (or T-diagrams) consist of a set of “puzzle pieces” representing compilers and other related language processing programs.

New!!: Compiler and Tombstone diagram · See more »

Top-down parsing

In computer science, top-down parsing is a parsing strategy where one first looks at the highest level of the parse tree and works down the parse tree by using the rewriting rules of a formal grammar.

New!!: Compiler and Top-down parsing · See more »

Transistor

A transistor is a semiconductor device used to amplify or switch electronic signals and electrical power.

New!!: Compiler and Transistor · See more »

Translator (computing)

A translator or programming language processor is a computer program that performs the translation of a program written in a given programming language into a functionally equivalent program in another computer language (the target language), without losing the functional or logical structure of the original code (the "essence" of each program).

New!!: Compiler and Translator (computing) · See more »

Type system

In programming languages, a type system is a set of rules that assigns a property called type to the various constructs of a computer program, such as variables, expressions, functions or modules.

New!!: Compiler and Type system · See more »

Unix

Unix (trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, development starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

New!!: Compiler and Unix · See more »

Use-define chain

A Use-Definition Chain (UD Chain) is a data structure that consists of a use, U, of a variable, and all the definitions, D, of that variable that can reach that use without any other intervening definitions.

New!!: Compiler and Use-define chain · See more »

Virtual machine

In computing, a virtual machine (VM) is an emulation of a computer system.

New!!: Compiler and Virtual machine · See more »

Warren Abstract Machine

In 1983, David H. D. Warren designed an abstract machine for the execution of Prolog consisting of a memory architecture and an instruction set.

New!!: Compiler and Warren Abstract Machine · See more »

Yacc

Yacc (Yet Another Compiler-Compiler) is a computer program for the Unix operating system developed by Stephen C. Johnson.

New!!: Compiler and Yacc · See more »

.NET Framework

.NET Framework (pronounced dot net) is a software framework developed by Microsoft that runs primarily on Microsoft Windows.

New!!: Compiler and .NET Framework · See more »

Redirects here:

CFE (compiler), Code compilation, Code compiler, Code compiling, Compilation (computing), Compilation (programming), Compile, Compile (computing), Compiled, Compiled software, Compiled sofware, Compiler (computer), Compiler (computing), Compiler (programming), Compiler back-end, Compiler backend, Compiler construction, Compiler design, Compiler designer, Compiler front-end, Compiler frontend, Compiler theory, Compiler writer, Compiler writing, Compilers, Compiling, Compiling tools, Front end (compiler), Language compiler, Line reconstruction, Parallel compiler, Parallel compilers, Parallel complier, Parallelizing compiler, Programming language compiler, Recompile, Semantic analysis (computer science), Single-pass compilation, Write compiler.

References

[1] https://en.wikipedia.org/wiki/Compiler

OutgoingIncoming
Hey! We are on Facebook now! »