Перейти к содержанию
СофтФорум - всё о компьютерах и не только

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


Рекомендуемые сообщения

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

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

Ссылка на комментарий
Поделиться на другие сайты

Sendo:

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

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

Ссылка на комментарий
Поделиться на другие сайты

Гость Форматцевт

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

  • 7 месяцев спустя...

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

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

Изменено пользователем Stolik
Ссылка на комментарий
Поделиться на другие сайты

Ligeya:

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

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

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

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

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...