Las variables metasintácticas son variables cuyos valores se entienden como sintaxis (posiblemente, los nombres de otras variables, que son sintaxis). Aparecen en fórmulas que operan en sintaxis, y también lo son en meta-sintaxis.
Por ejemplo, considere S V O
(objeto verbo sujeto), una expresión que indica el orden básico de las palabras de algún lenguaje humano. Estas tres letras son variables meta-sintácticas. Cada uno denota alguna pieza de sintaxis. Un sujeto de oración puede ser una frase sustantiva compleja, y así sucesivamente. Además, estas letras se eligen de forma significativa en el dominio del problema lingüístico: S
significa sujeto, etc.
foo
y bar
pueden considerarse metasintácticos en el sentido de que sirven como marcadores de posición para nombres reales que serán inventados por el usuario. Estos nombres particulares son significativos en el dominio del problema de escribir ejemplos de código en la documentación de la computadora, donde son reconocibles al instante, como viejos amigos. Entonces, paradójicamente, foo
expresa "Soy famoso por no tener significado. ¡Dondequiera que me vean, sustitúyanme por algo que tenga uno!", Y ese es su significado.
También se entiende que cuando ambos aparecen foo
y bar
, el usuario debe sustituir símbolos distintos, y donde foo
aparece más de una vez en el mismo ejemplo, todas las ocurrencias deben reemplazarse de manera consistente con el mismo identificador.
foo
y bar
son efectivos siempre que no entren en conflicto con nada en el lenguaje de la computadora, como los comandos integrados, las palabras clave o los nombres de funciones o variables importantes de la biblioteca. Si eso sucede, los niveles de sintaxis y meta-sintaxis se confunden. Si está diseñando un nuevo idioma, le corresponde evitar la introducción foo
y bar
como identificadores significativos en ese idioma.
Las palabras foo y bar tienen una etimología, pero esa etimología no está relacionada con su significado en la documentación informática.