Keyword (computer programming)
Encyclopedia
In computer programming
, a keyword is a word
or identifier
that has a particular meaning to the programming language
. The meaning of keywords — and, indeed, the meaning of the notion of keyword — differs widely from language to language.
In many languages, such as C
and similar environments like C++
, a keyword is a reserved word
which identifies a syntactic form. Words used in control flow
constructs, such as if,
Some languages, such as PostScript
, are extremely liberal in this approach, allowing core keywords to be redefined for specific purposes.
In Common Lisp
, the term "keyword" (or "keyword symbol") is used for a special sort of symbol
, or identifier. Unlike other symbols, which usually stand for variables or functions, keywords are self-quoting and self-evaluating:98 and are interned in the KEYWORD package. Keywords are usually used to label named arguments to functions, and to represent symbolic values.
Languages vary as to what is provided as a keyword and what is a library routine. Some languages, for instance, provide keywords for input/output operations whereas in others these are library routines. In Python
(versions earlier than 3.0) and many BASIC
dialects,
Typically, when a programmer attempts to use a keyword for a variable or function name, a compilation error will be triggered. In most modern editors, the keywords are automatically set to have a particular text colour to remind or inform the programmers that they are keywords.
In languages with macros or lazy evaluation
, control flow constructs such as
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
, a keyword is a word
Word
In language, a word is the smallest free form that may be uttered in isolation with semantic or pragmatic content . This contrasts with a morpheme, which is the smallest unit of meaning but will not necessarily stand on its own...
or identifier
Identifier
An identifier is a name that identifies either a unique object or a unique class of objects, where the "object" or class may be an idea, physical [countable] object , or physical [noncountable] substance...
that has a particular meaning to the programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
. The meaning of keywords — and, indeed, the meaning of the notion of keyword — differs widely from language to language.
In many languages, such as C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
and similar environments like C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, a keyword is a reserved word
Reserved word
Reserved words are one type of grammatical construct in programming languages. These words have special meaning within the language and are predefined in the language’s formal specifications...
which identifies a syntactic form. Words used in control flow
Control flow
In computer science, control flow refers to the order in which the individual statements, instructions, or function calls of an imperative or a declarative program are executed or evaluated....
constructs, such as if,
then
, and else
are keywords. In these languages, keywords cannot also be used as the names of variables or functions.Some languages, such as PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
, are extremely liberal in this approach, allowing core keywords to be redefined for specific purposes.
In Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...
, the term "keyword" (or "keyword symbol") is used for a special sort of symbol
Symbol (Lisp)
A symbol in computer programming is a primitive datatype whose instances have a unique human-readable form. Symbols can be used as identifiers. In some programming languages, they are called atoms....
, or identifier. Unlike other symbols, which usually stand for variables or functions, keywords are self-quoting and self-evaluating:98 and are interned in the KEYWORD package. Keywords are usually used to label named arguments to functions, and to represent symbolic values.
Languages vary as to what is provided as a keyword and what is a library routine. Some languages, for instance, provide keywords for input/output operations whereas in others these are library routines. In Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
(versions earlier than 3.0) and many BASIC
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
dialects,
print
is a keyword. In contrast, the C and Lisp equivalents printf
and format
are functions in the standard library.Typically, when a programmer attempts to use a keyword for a variable or function name, a compilation error will be triggered. In most modern editors, the keywords are automatically set to have a particular text colour to remind or inform the programmers that they are keywords.
In languages with macros or lazy evaluation
Lazy evaluation
In programming language theory, lazy evaluation or call-by-need is an evaluation strategy which delays the evaluation of an expression until the value of this is actually required and which also avoids repeated evaluations...
, control flow constructs such as
if
can be implemented as macros or functions. In languages without these expressive features, they are generally keywords.