Метасинтаксичні змінні - це змінні, значення яких розуміють як частинки синтаксису (можливо, назви інших змінних, які є синтаксисом). Вони з'являються у формулах, які діють на синтаксисі, так само є метасинтаксисом.
Наприклад, розглянемо S V O
(предметний предмет дієслова), вираз, що вказує на основний порядок слів у людській мові. Ці три букви є метасинтаксичними змінними. Кожен позначає якийсь фрагмент синтаксису. Тема речення може бути складною іменниковою фразою тощо. Більше того, ці букви вибираються таким чином, що є значущим у мовній проблематичній галузі: S
розшифровується тема та інше.
foo
і bar
може вважатися метасинтаксичним в тому сенсі, що вони служать місцями для справжніх імен, які повинен бути винайдений користувачем. Ці конкретні імена мають сенс у проблемній галузі написання прикладів коду в комп'ютерній документації, де вони миттєво впізнавані, як старі друзі. Так, як це не парадоксально, foo
висловлюється "Я знаменитий тим, що не маю сенсу. Де б ти мене не бачив, заміни мене тим, що має таке!", І в цьому його значення.
Також розуміється, що там, де foo
і bar
з'являються, користувач повинен підміняти різні символи, а де foo
в одному і тому ж прикладі відображається більше одного разу, всі події повинні послідовно замінюватися одним і тим же ідентифікатором.
foo
і bar
ефективні до тих пір, поки вони не стикаються ні з чим на комп'ютерній мові, наприклад, з вбудованими командами, ключовими словами чи назвами значущих бібліотечних функцій чи змінних. Якщо це трапляється, синтаксичні та метасинтаксичні рівні плутаються. Якщо ви розробляєте нову мову, вам потрібно уникати введення foo
та використання bar
важливих ідентифікаторів на цій мові.
Слова foo і bar мають етимологію, але ця етимологія не пов'язана зі своїм значенням в обчислювальній документації.