Variáveis metassintáticas são variáveis cujos valores são entendidos como partes da sintaxe (possivelmente os nomes de outras variáveis, que são sintaxe). Eles aparecem em fórmulas que operam na sintaxe e, portanto, são meta-sintaxe.
Por exemplo, considere S V O
(objeto do verbo sujeito), uma expressão indicando a ordem básica das palavras de alguma linguagem humana. Essas três letras são variáveis meta-sintáticas. Cada um denota algum pedaço de sintaxe. Um sujeito da frase pode ser uma frase substantiva complexa e assim por diante. Além disso, essas letras são escolhidas de forma significativa no domínio do problema linguístico: S
significa sujeito e assim por diante.
foo
e bar
pode ser considerado metassintático no sentido de que eles servem como substitutos para nomes reais que devem ser inventados pelo usuário. Esses nomes específicos são significativos no domínio do problema de escrever exemplos de código na documentação do computador, onde são instantaneamente reconhecíveis, como velhos amigos. Então, paradoxalmente, foo
expressa "Eu sou famoso por não ter significado. Onde quer que você me veja, substitua-me por algo que tenha um!", E esse é o seu significado.
Também é entendido que, onde ambos foo
e bar
aparecem, o usuário deve substituir símbolos distintos e, onde foo
aparece mais de uma vez no mesmo exemplo, todas as ocorrências devem ser substituídas consistentemente pelo mesmo identificador.
foo
e bar
são eficazes desde que não colidam com nada na linguagem do computador, como comandos internos, palavras-chave ou nomes de funções ou variáveis significativas da biblioteca. Se isso acontecer, os níveis de sintaxe e meta-sintaxe ficam confusos. Se você estiver criando um novo idioma, convém evitar a introdução foo
e bar
como identificadores significativos nesse idioma.
As palavras foo e bar têm uma etimologia, mas essa etimologia não está conectada ao seu significado na documentação de computação.