Node:blurgle, Next:BNF, Previous:blue wire, Up:= B =

blurgle /bler'gl/ n.

[UK] Spoken metasyntactic variable, to

indicate some text that is obvious from context, or which is

already known. If several words are to be replaced, blurgle may

well be doubled or tripled. "To look for something in several

files use `grep string blurgle blurgle'." In each case, "blurgle

blurgle" would be understood to be replaced by the file you

wished to search. Compare mumble,

sense 7.

Node:BNF, Next:boa, Previous:blurgle, Up:= B

=

BNF /B-N-F/ n.

1. [techspeak] Acronym for `Backus Normal Form' (later

retronymed to `Backus-Naur Form' because BNF was not in fact a

normal form), a metasyntactic notation used to specify the syntax

of programming languages, command sets, and the like. Widely used

for language descriptions but seldom documented anywhere, so that

it must usually be learned by osmosis from other hackers.

Consider this BNF for a U.S. postal address:

<postal-address> ::= <name-part> <street-address> <zip-part>

<personal-part> ::= <name> | <initial> "."

<name-part> ::= <personal-part> <last-name> [<jr-part>] <EOL>

| <personal-part> <name-part>

<street-address> ::= [<apt>] <house-num> <street-name> <EOL>

<zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>

This translates into English as: "A postal-address consists of

a name-part, followed by a street-address part, followed by a

zip-code part. A personal-part consists of either a first name or

an initial followed by a dot. A name-part consists of either: a

personal-part followed by a last name followed by an optional

`jr-part' (Jr., Sr., or dynastic number) and end-of-line, or a

personal part followed by a name part (this rule illustrates the

use of recursion in BNFs, covering the case of people who use

multiple first and middle names and/or initials). A street

address consists of an optional apartment specifier, followed by

a street number, followed by a street name. A zip-part consists

of a town-name, followed by a comma, followed by a state code,

followed by a ZIP-code followed by an end-of-line." Note that

many things (such as the format of a personal-part, apartment

specifier, or ZIP-code) are left unspecified. These are presumed

to be obvious from context or detailed somewhere nearby. See also

parse. 2. Any of a number of variants

and extensions of BNF proper, possibly containing some or all of

the regexp wildcards such as

* or +. In fact the example above isn't

the pure form invented for the Algol-60 report; it uses

[], which was introduced a few years later in IBM's

PL/I definition but is now universally recognized. 3. In science-fiction fandom,

a `Big-Name Fan' (someone famous or notorious). Years ago a fan

started handing out black-on-green BNF buttons at SF conventions;

this confused the hacker contingent terribly.

The Jargon File, Version 4.2.2, 20 Aug 2000 · 第 250 / 1941 题