Variable metasintáctica
Una variable metasintáctica es una palabra específica o un conjunto de palabras identificadas como marcador de posición en informática y específicamente en programación informática. Estas palabras se encuentran comúnmente en el código fuente y están destinadas a ser modificadas o sustituidas antes del uso en el mundo real. Las palabras foo y bar son buenos ejemplos, ya que se utilizan en más de 330 solicitudes de comentarios del grupo de trabajo de ingeniería de Internet, los documentos que definen las tecnologías fundamentales de Internet como HTTP (web), TCP/IP y protocolos de correo electrónico.
Por analogía matemática, una variable metasintáctica es una palabra que es una variable para otras palabras, al igual que en álgebra las letras se usan como variables para los números.
Las variables metasintácticas se utilizan para nombrar entidades como variables, funciones y comandos cuya identidad exacta no es importante y solo sirven para demostrar un concepto, que es útil para enseñar programación.
Variables metasintácticas comunes
Debido a que el inglés es el idioma base, o lingua franca, de la mayoría de los lenguajes de programación de computadoras, estas variables se ven comúnmente incluso en programas y ejemplos de programas escritos para audiencias de otros idiomas hablados.
Los nombres típicos pueden depender, sin embargo, de la subcultura que se haya desarrollado en torno a un lenguaje de programación determinado.
Uso general
Las variables metasintácticas utilizadas comúnmente en todos los lenguajes de programación incluyen foobar, foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy y thud; varias de estas palabras son referencias al juego Colossal Cave Adventure.
Se puede encontrar una referencia completa en un libro de MIT Press titulado The Hacker's Dictionary.
Japonesa
(feminine)En japonés, las palabras hoge (ほげ) y fuga (ふが) se usan comúnmente, con otras palabras comunes y variantes piyo (ぴよ), hogera (ほげら) y hogehoge (ほげほげ). Se desconoce el origen de hoge como variable metasintáctica, pero se cree que data de principios de 1980
Francés
En Francia, la palabra toto se usa mucho, con variantes tata, titi, tutu relacionadas marcadores de posición Una fuente comúnmente planteada para el uso de toto es una referencia al personaje común que se usa para contar chistes con Tête à Toto.
Ejemplos de uso
C
En el siguiente ejemplo, el nombre de la función foo y el nombre de la variable bar son variables metasintácticas. Las líneas que comienzan con // son comentarios.
// La función llamada fooint Foo()vacío){} // Declarar la barra variable y establecer el valor a 1 int bar = 1; retorno bar;}
C++
Prototipos de funciones con ejemplos de diferentes mecanismos de paso de argumentos:
vacío Foo()Frutas bar);vacío Foo()Frutas* bar);vacío Foo()const Frutas" bar);
Ejemplo que muestra las capacidades de sobrecarga de funciones del lenguaje C++
vacío Foo()int bar);vacío Foo()int bar, int baz);vacío Foo()int bar, int baz, int qux);
Pitón
El spam, el jamón y los huevos son las principales variables metasintácticas utilizadas en el lenguaje de programación Python. Esta es una referencia al famoso sketch de comedia, "Spam", de Monty Python, el epónimo de la lengua. En el siguiente ejemplo, spam, ham y eggs son variables metasintácticas y las líneas que comienzan con # son comentarios.
# Define una función llamada spamdef spam(): # Definir el jamón variable jamón = "¡Hola Mundo!" # Define los huevos variables huevos = 1 retorno
Solicitudes de comentarios del IETF
Tanto los RFC de IETF como los lenguajes de programación informática se representan en texto sin formato, por lo que es necesario distinguir las variables metasintácticas mediante una convención de nomenclatura, ya que no resultaría evidente por el contexto.
Este es un ejemplo del documento oficial de IETF que explica los protocolos de correo electrónico (de RFC 772, citado en RFC 3092):
Todo está bien; ahora se pueden especificar los destinatarios. S: MRCP TO: wonFoo@Y título R: 200 OK S: MRCP A: Se realizóRaboof@Y título R: 553 No hay tal usuario aquí S: MRCP A: obtenidosbar@Y título R: 200 OK S: MRCP TO: won@Y,@X,fubar@Z titulada R: 200 OK Tenga en cuenta que el fracaso de "Raboof" no tiene efecto en el almacenamiento de correo para "Foo", "bar" o el correo para ser enviado a "fubar@Z" a través de host "X".
(La documentación de texinfo enfatiza la distinción entre metavariables y meras variables utilizadas en un lenguaje de programación que se documenta en algún archivo texinfo como: "Use el comando @var para indicar variables metasintácticas. Una variable metasintáctica es algo que permanece para otro fragmento de texto. Por ejemplo, debe usar una variable metasintáctica en la documentación de una función para describir los argumentos que se pasan a esa función. No use @var para los nombres de variables particulares en lenguajes de programación. Estos son específicos nombres de un programa, por lo que @code es correcto para ellos.")
Otro punto reflejado en el ejemplo anterior es la convención de que una metavariable debe sustituirse uniformemente con la misma instancia en todas sus apariencias en un esquema dado. Esto contrasta con los símbolos no terminales en las gramáticas formales, donde los no terminales a la derecha de una producción pueden sustituirse por diferentes instancias.
Datos de ejemplo
SQL
Es común utilizar el nombre ACME en bases de datos SQL de ejemplo y como nombre de empresa de marcador de posición con fines didácticos. El término 'Base de datos ACME' se usa comúnmente para referirse a un conjunto de datos de base de datos de entrenamiento o solo de ejemplo que se usa únicamente para entrenamiento o prueba. ACME también se usa comúnmente en la documentación que muestra ejemplos de uso de SQL, una práctica común en muchos textos educativos, así como en la documentación técnica de compañías como Microsoft y Oracle.
Contenido relacionado
Club de Informática Caos
Lista de informáticos
Transferencia Electrónica de Fondos