C In the following example the function name foo and the variable name bar are both metasyntactic variables. Lines beginning with // are comments. // The function named foo int foo(void) { // Declare the variable bar and set the value to 1 int bar = 1; return bar; }
C++ Function prototypes with examples of different
argument passing mechanisms: void Foo(Fruit bar); void Foo(Fruit* bar); void Foo(const Fruit& bar); Example showing the
function overloading capabilities of the C++ language void Foo(int bar); void Foo(int bar, int baz); void Foo(int bar, int baz, int qux);
Python Spam,
ham, and
eggs are the principal metasyntactic variables used in the
Python programming language. This is a reference to the famous comedy sketch, "
Spam", by
Monty Python, the eponym of the language. In the following example spam, ham, and eggs are metasyntactic variables and lines beginning with # are comments. • Define a function named spam def spam(): # Define the variable ham ham = "Hello World!" # Define the variable eggs eggs = 1 return
IETF Requests for Comments Both the
IETF RFCs and
computer programming languages are rendered in
plain text, making it necessary to distinguish metasyntactic variables by a naming convention, since it would not be obvious from context. Here is an example from the official
IETF document explaining the
e-mail protocols (from RFC 772 - cited in RFC 3092): All is well; now the recipients can be specified. S: MRCP TO: R: 200 OK S: MRCP TO: R: 553 No such user here S: MRCP TO: R: 200 OK S: MRCP TO: R: 200 OK Note that the failure of "Raboof" has no effect on the storage of mail for "Foo", "bar" or the mail to be forwarded to "fubar@Z" through host "X". (The documentation for texinfo emphasizes the distinction between metavariables and mere variables used in a programming language being documented in some texinfo file as: "Use the @var command to indicate metasyntactic variables. A metasyntactic variable is something that stands for another piece of text. For example, you should use a metasyntactic variable in the documentation of a function to describe the arguments that are passed to that function. Do not use @var for the names of particular
variables in programming languages. These are specific names from a program, so @code is correct for them.") Another point reflected in the above example is the convention that a metavariable is to be uniformly substituted with the same instance in all its appearances in a given schema. This is in contrast with
nonterminal symbols in
formal grammars where the nonterminals on the right of a production can be substituted by different instances. ==Example data==