Метасинтаксические переменные - это переменные, значения которых понимаются как части синтаксиса (возможно, имена других переменных, которые являются синтаксисом). Они появляются в формулах, которые работают с синтаксисом, как и метасинтаксис.
Например, рассмотрим S V O
(объект субъектного глагола), выражение, указывающее основной порядок слов в некотором человеческом языке. Эти три буквы являются метасинтаксическими переменными. Каждый обозначает некоторый фрагмент синтаксиса. Предметом предложения может быть сложная именная фраза и т.д. Более того, эти буквы выбраны таким образом, который является значимым в области языковых проблем: S
обозначает субъект и так далее.
foo
и bar
могут считаться метасинтаксическими в том смысле, что они служат заполнителями для реальных имен, которые должны быть изобретены пользователем. Эти конкретные имена имеют смысл в проблемной области написания примеров кода в компьютерной документации, где они мгновенно узнаваемы, как старые друзья. Так что, как это ни парадоксально, foo
выражает: «Я знаменит тем, что не имел никакого значения. Где бы вы ни увидели меня, замените меня чем-то, что есть!"и это его значение.
Понятно также, что в тех случаях, когда появляются и foo
и bar
, пользователь должен заменять отдельные символы, а если foo
появляется более одного раза в одном и том же примере, все вхождения должны последовательно заменяться одним и тем же идентификатором.
foo
и bar
эффективны до тех пор, пока они не конфликтуют с чем-либо на языке компьютера, таким как встроенные команды, ключевые слова или имена важных библиотечных функций или переменных. Если это произойдет, уровни синтаксиса и метасинтаксиса станут запутанными. Если вы разрабатываете новый язык, вам следует избегать введения foo
и bar
качестве значимых идентификаторов на этом языке.
Слова foo и bar имеют этимологию, но эта этимология не связана с их значением в компьютерной документации.