В логике и лингвистике метаязык — это язык, используемый для описания другого языка, часто называемого объектным языком . [1] Выражения в метаязыке часто отличаются от выражений в объектном языке использованием курсива, кавычек или написанием на отдельной строке. [ нужна цитация ] Структура предложений и фраз в метаязыке может быть описана метасинтаксисом . [2] Например, чтобы сказать, что слово «существительное» может использоваться в качестве существительного в предложении, можно написать «существительное» — это <существительное> .
Существует множество признанных типов метаязыков, включая встроенные , упорядоченные и вложенные (или иерархические ) метаязыки.
Встроенный метаязык — это язык, формально, естественно и прочно закрепленный в объектном языке. Эта идея встречается в книге Дугласа Хофштадтера « Гёдель, Эшер, Бах » при обсуждении отношений между формальными языками и теорией чисел : «…в природе любой формализации теории чисел заложен ее метаязык. внутри." [3]
Оно также встречается в естественных или неформальных языках, например в английском, где такие слова, как существительное, глагол или даже слово , описывают особенности и понятия, относящиеся к самому английскому языку.
Упорядоченный метаязык аналогичен упорядоченной логике . Примером упорядоченного метаязыка является создание одного метаязыка для обсуждения объектного языка с последующим созданием другого метаязыка для обсуждения первого и т. д.
Вложенный (или иерархический ) метаязык подобен упорядоченному метаязыку в том, что каждый уровень представляет собой более высокую степень абстракции . Однако вложенный метаязык отличается от упорядоченного тем, что каждый уровень включает в себя нижний.
Парадигматический пример вложенного метаязыка взят из таксономической системы Линнея в биологии. Каждый уровень системы включает в себя уровень, расположенный ниже него. Язык, используемый для обсуждения рода, также используется для обсуждения видов; тот, который используется для обсуждения приказов, используется и для обсуждения родов и т. д., вплоть до королевств.
Естественный язык сочетает в себе вложенные и упорядоченные метаязыки. В естественном языке происходит бесконечный регресс метаязыков, каждый из которых имеет более специализированный словарь и более простой синтаксис.
Обозначая теперь язык как , грамматика языка представляет собой дискурс в метаязыке , который представляет собой подъязык [4] , вложенный в .
Поскольку все эти метаязыки являются подъязыками , это вложенный метаязык, но и его продолжение являются упорядоченными метаязыками. [5] Поскольку все эти метаязыки являются подъязыками, все они являются встроенными языками по отношению к языку в целом.
Все метаязыки формальных систем в конечном итоге сводятся к естественному языку, «общему языку», на котором математики и логики общаются, чтобы определить свои термины и операции и «зачитать» свои формулы. [6]
В метаязыке обычно выражаются несколько сущностей. В логике обычно объектный язык, о котором говорит метаязык, является формальным языком , а очень часто и метаязыком.
Дедуктивная система (или дедуктивный аппарат формальной системы ) состоит из аксиом (или схем аксиом ) и правил вывода , которые можно использовать для вывода теорем системы . [7]
Метапеременная (или металингвистическая или метасинтаксическая переменная) — это символ или набор символов в метаязыке, который обозначает символ или набор символов в некотором объектном языке . Например, в предложении:
Символы A и B не являются символами объектного языка , они являются метапеременными метаязыка (в данном случае английского), на котором обсуждается объектный язык .
Метатеория — это теория , предметом которой является какая-либо другая теория (теория о теории). Утверждения , сделанные в метатеории по поводу теории, называются метатеоремами . Метатеорема — это истинное утверждение о формальной системе , выраженное в метаязыке. В отличие от теорем, доказанных в рамках данной формальной системы, метатеорема доказывается в рамках метатеории и может ссылаться на концепции, которые присутствуют в метатеории , но не в теории объекта. [8]
Интерпретация – это присвоение значений символам и словам языка .
Майкл Дж. Редди (1979) утверждает, что большая часть языка, который мы используем, чтобы говорить о языке, концептуализируется и структурируется с помощью того, что он называет метафорой канала . [9] Эта парадигма действует через две различные, связанные структуры.
Основная концепция рассматривает язык как закрытый трубопровод между людьми:
Второстепенная концепция рассматривает язык как открытую трубу, изливающую ментальное содержимое в пустоту:
Компьютеры следуют программам, наборам инструкций на формальном языке. Разработка языка программирования предполагает использование метаязыка. Процесс работы с метаязыками в программировании известен как метапрограммирование .
Форма Бэкуса-Наура , разработанная в 1960-х годах Джоном Бэкусом и Питером Науром, является одним из первых метаязыков, используемых в вычислительной технике. Примеры современных языков программирования, которые обычно находят применение в метапрограммировании, включают ML , Lisp , m4 и Yacc .