Variable métasyntaxique - Metasyntactic variable
Une variable métasyntaxique est un mot ou un ensemble de mots spécifique identifié comme un espace réservé en informatique et en particulier en programmation informatique . Ces mots se trouvent couramment dans le code source et sont destinés à être modifiés ou remplacés avant une utilisation dans le monde réel. Les mots foo et bar sont de bons exemples car ils sont utilisés dans plus de 330 demandes de commentaires de l' Internet Engineering Task Force , les documents qui définissent les technologies Internet fondamentales comme HTTP (web), TCP/IP et les protocoles de messagerie .
Par analogie mathématique , une variable métasyntaxique est un mot qui est une variable pour d'autres mots, tout comme en algèbre les lettres sont utilisées comme variables pour les nombres.
Les variables métasyntaxiques sont utilisées pour nommer des entités telles que des variables, des fonctions et des commandes dont l'identité exacte n'est pas importante et ne servent qu'à démontrer un concept, ce qui est utile pour l'enseignement de la programmation.
Variables métasyntaxiques courantes
L'anglais étant la langue de base, ou lingua franca , de la plupart des langages de programmation informatique, ces variables sont couramment observées même dans les programmes et les exemples de programmes écrits pour d'autres publics de langue parlée.
Les noms typiques peuvent cependant dépendre de la sous-culture qui s'est développée autour d'un langage de programmation donné .
Utilisation générale
Les variables metasyntactic utilisées couramment dans toutes les langues de programmation comprennent foobar , foo , bar , baz , qux , quux , quuz , corge , Grault , garply , waldo , fred , plugh , xyzzy et bruit sourd ; plusieurs de ces mots sont des références au jeu Colossal Cave Adventure . Wibble , wobble , wubble et flob sont également utilisés au Royaume-Uni.
Une référence complète peut être trouvée dans un livre du MIT Press intitulé The Hacker's Dictionary .
Japonais
En japonais, les mots hoge (ほげ) et piyo (ぴよ) sont couramment utilisés, les autres mots et variantes courants étant fuga (ふが), hogera (ほげら) et hogehoge (ほげほげ). Notez que -ra est une terminaison de pluralisation en japonais, et la réduplication est également utilisée pour la pluralisation. L'origine de Hoge en tant que variable métasyntaxique n'est pas connue, mais on pense qu'elle date du début des années 1980.
français
En France, le mot toto est largement utilisé, avec des variantes tata , titi , tutu comme espaces réservés liés. Une source couramment évoquée pour l'utilisation de toto est une référence au caractère courant utilisé pour raconter des blagues avec Tête à Toto .
Exemples d'utilisation
C
Dans l'exemple suivant, le nom de fonction foo et la barre de nom de variable sont tous deux des variables métasyntaxiques. Les lignes commençant par // sont des commentaires.
// The function named foo
int foo(void)
{
// Declare the variable bar and set the value to 1
int bar = 1;
return bar;
}
C++
Prototypes de fonction avec des exemples de différents mécanismes de passage d'arguments :
void Foo(Fruit bar);
void Foo(Fruit* bar);
void Foo(const Fruit& bar);
Exemple montrant les capacités de surcharge de fonction du langage C++
void Foo(int bar);
void Foo(int bar, int baz);
void Foo(int bar, int baz, int qux);
Python
Le spam , le jambon et les œufs sont les principales variables métasyntaxiques utilisées dans le langage de programmation Python . Il s'agit d'une référence au célèbre sketch comique, " Spam ", de Monty Python , l'éponyme du langage. Dans l'exemple suivant , spam , ham et egg sont des variables métasyntaxiques et les lignes commençant par # sont des commentaires.
# Define a function named spam
def spam():
# Define the variable ham
ham = "Hello World!"
# Define the variable eggs
eggs = 1
return
Demandes de commentaires de l'IETF
Les RFC de l' IETF et les langages de programmation informatique sont rendus en texte brut , ce qui rend nécessaire de distinguer les variables métasyntaxiques par une convention de nommage, car cela ne serait pas évident à partir du contexte.
Voici un exemple du document officiel de l' IETF expliquant les protocoles de messagerie (de la RFC 772 - cité dans la RFC 3092) :
All is well; now the recipients can be specified.
S: MRCP TO:<Foo@Y> <CRLF>
R: 200 OK
S: MRCP TO:<Raboof@Y> <CRLF>
R: 553 No such user here
S: MRCP TO:<bar@Y> <CRLF>
R: 200 OK
S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
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".
(La documentation de texinfo met l'accent sur la distinction entre les métavariables et les simples variables utilisées dans un langage de programmation documentées dans un fichier texinfo comme suit : "Utilisez la commande @var pour indiquer les variables métasyntaxiques. Une variable métasyntaxique est quelque chose qui représente un autre morceau de texte. Par exemple, vous devez utiliser une variable métasyntaxique dans la documentation d'une fonction pour décrire les arguments qui sont passés à cette fonction. N'utilisez pas @var pour les noms de variables particulières dans les langages de programmation. Ce sont des noms spécifiques d'un programme, donc @code est correct pour eux.")
Un autre point reflété dans l'exemple ci-dessus est la convention selon laquelle une métavariable doit être uniformément substituée par la même instance dans toutes ses apparitions dans un schéma donné. Ceci contraste avec les symboles non terminaux dans les grammaires formelles où les non terminaux à droite d'une production peuvent être remplacés par différentes instances.
Exemple de données
SQL
Il est courant d'utiliser le nom ACME dans les exemples de bases de données SQL et comme espace réservé au nom de l'entreprise à des fins d'enseignement. Le terme « base de données ACME » est couramment utilisé pour désigner un ensemble de données de base de données de formation ou d'exemple uniquement utilisé uniquement pour la formation ou les tests. ACME est également couramment utilisé dans la documentation qui montre des exemples d'utilisation de SQL, une pratique courante dans de nombreux textes pédagogiques ainsi que dans la documentation technique de sociétés telles que Microsoft et Oracle .
Voir également
- Métavariable (logique)
- xyzzy
- Alice et Bob
- John Doe
- Fnord
- Variables libres et variables liées
- Gadget
- Lorem ipsum
- mot nonce
- Nom de l'espace réservé
- Widget
- Schtroumpf
Les références
Liens externes
- Définition de variable métasyntaxique , avec exemples.
- Exemples de variables métasyntaxiques utilisées dans Commonwealth Hackish , telles que wombat .
- Variable "foo" et autres bizarreries de programmation