Jump to content
СофтФорум - всё о компьютерах и не только

Метаязыки. Зачем?


 Share

Recommended Posts

Столкнулся в литературе с понятием метаязыков (в частности Бэкуса-Наура) описывающих синтаксис языков высокого уровня.

Возник такой вопрос - метаязыки закладываются куда-либо программно или они используются только на "бумаге"?

Link to comment
Share on other sites

Sendo:

Бэкуса-Наура - на "бумаге". Это просто способ описания синтаксиса допустимых в языке конструкций ("слов" и "предложений"). Но удобный и полезный, потому что, в отличие от естественного языка, точный и недвусмысленный, а к тому же и простой. Программно он реализуется обычно в логике синтаксического разбора компилятором программ, но непосредственно, как язык, в компилятор он не закладывается.

Вообще же метаязык может применяться и не на бумаге. Например, C++ построен с учетом возможности его использования в качестве метаязыка для создания более мощного языка с новыми операциями и структурами данных.

Link to comment
Share on other sites

Guest Форматцевт

Sendo: Метаязык - это язык для описания языка. Да есть примеры его програмного использования, вопрос только в самодостаточносте и простоте. Язык программирования написанный на самом себе, простой и расширяемый, не требуемый дополнений из вне будет МЕТАЯЗЫК.

Пример - язык программирования FORTH.

Link to comment
Share on other sites

Спасибо за ответы, изложенные именно так как я хотел.

Хотел прибавить в ваши репутации по плюсику, но не сообразил как... :no:

Link to comment
Share on other sites

  • 7 months later...

Можете, пожалуйста, назвать примеры метаязыков (побольше) и сказать, чем они отличаются? Буду оченьблагодарна.

Link to comment
Share on other sites

Ligeya: в принципе реализовать метаязык можно на любом искуственном языке, ранее была проблема производительности и памяти.

ЗЫ Все это знают, но лучше через ПМ это для уточнения.

Edited by Stolik
Link to comment
Share on other sites

Ligeya:

Ну, уже было несколько примеров, не буду повторяться. Вот еще примеры:

XML - метаязык структурирования данных.

Русский язык, если я его использую для описания языка программирования.

Словарь плюс грамматика русского языка образуют метаязык для описания русского языка.

Метаязык В. Проппа для описания структур волшебных сказок.

Правила стихосложения для поэзии.

Язык C++ очень часто используется как метаязык (собственно, он и был задуман, как метаязык для построения более мощных языков, использующих в качестве элементарных единиц более сложные объекты - экземпляры классов, описанных на C++). То есть, проще говоря, программисты используют большое количество объектов, описанных на этом языке, как новые самостоятельные слова языка (например, для элементов интерфейса Windows - кнопка, текстовая метка, форма и т.д.).

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...