Metasyntactic variable: Difference between revisions
m →See also: wrong kind of widget |
|||
Line 22: | Line 22: | ||
==Words commonly used as metasyntactic variables== |
==Words commonly used as metasyntactic variables== |
||
A "standard list of metasyntactic variables used in syntax examples" is: foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud.<ref name="RFC3092"/> The word ''foo'' occurs in over 330 [[Request for Comments|RFCs]] and ''bar'' occurs in over 290.<ref>http://www.rfc-editor.org/download.html</ref> |
A "standard list of metasyntactic variables used in syntax examples" is: foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, [[xyzzy]], thud.<ref name="RFC3092"/> The word ''foo'' occurs in over 330 [[Request for Comments|RFCs]] and ''bar'' occurs in over 290.<ref>http://www.rfc-editor.org/download.html</ref> |
||
''[[Foo]]'' is used in one section of a tutorial on the [[C programming language]] by [[Brian W. Kernighan]]. Here, he illustrates the use of the ''extern'' [[Declaration (computer science)|declaration]]:<ref>[http://www.lysator.liu.se/c/bwk-tutor.html Brian W. Kernighan: Programming in C: A Tutorial]</ref> |
''[[Foo]]'' is used in one section of a tutorial on the [[C programming language]] by [[Brian W. Kernighan]]. Here, he illustrates the use of the ''extern'' [[Declaration (computer science)|declaration]]:<ref>[http://www.lysator.liu.se/c/bwk-tutor.html Brian W. Kernighan: Programming in C: A Tutorial]</ref> |
Revision as of 10:21, 11 February 2009
The phrase metasyntactic variable (Template:PronEng) is a neologism that is used in some programmer communities to describe a placeholder name or an alias term commonly used to denote the subject matter under discussion or an arbitrary member of a class of things under discussion. The term originates from computer programming and other technical contexts, and is commonly used in examples by hackers and programmers. The use of a metasyntactic variable is helpful in freeing a programmer from creating a logically named variable, although the invented term may also become sufficiently popular and enter the language as a neologism. The word foo is the principal example.[1]
Any word can be used as a metasyntactic variable, but "nonsense words" are commonly used. The same concept is employed in other fields where it is expressed by terms such as schematic variable (see logical form).
Explanation of the concept
Dissecting the phrase
- 'Meta' means providing information about, or transcending.
- 'Syntax' means the grammatical arrangement of words or the grammatical rules of a programming language.
- 'Variable' means something that can assume a value, or something likely to vary.
So we have a word that
- transcends grammar and can assume a value
or one that
- is more comprehensive than grammatical arrangement and is likely to vary.
Mathematical analogy
- A metasyntactic variable is a word that is a variable for other words, just as in algebra letters are used as variables for numbers.[1]
Words commonly used as metasyntactic variables
A "standard list of metasyntactic variables used in syntax examples" is: foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud.[1] The word foo occurs in over 330 RFCs and bar occurs in over 290.[2]
Foo is used in one section of a tutorial on the C programming language by Brian W. Kernighan. Here, he illustrates the use of the extern declaration:[3]
Second, at the beginning of any file that contains functions needing a variable whose definition is in some other file, put in an extern declaration, outside of any function: extern int foo; f1( ) { ... } etc.
Spam, ham, and eggs are the principal metasyntactic variables used in the Python programming language.[4] This is a reference to the famous comedy sketch, Spam, by Monty Python, the namesake of the language.[5] In this extract from the Python tutorial showing the use of comments,[6] STRING is a metasyntactic variable.
Some examples: # this is the first comment SPAM = 1 # and this is the second comment # ... and now a third! STRING = "# This is not a comment."
See also
- Placeholder name
- Free variables and bound variables
- gadget
- widget
- Hello World
- Lorem Ipsum
- Fnord
- Alice and Bob
- John Doe