Sendo Опубликовано 13 октября, 2005 Жалоба Поделиться Опубликовано 13 октября, 2005 Столкнулся в литературе с понятием метаязыков (в частности Бэкуса-Наура) описывающих синтаксис языков высокого уровня. Возник такой вопрос - метаязыки закладываются куда-либо программно или они используются только на "бумаге"? Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 17 октября, 2005 Жалоба Поделиться Опубликовано 17 октября, 2005 Sendo: Бэкуса-Наура - на "бумаге". Это просто способ описания синтаксиса допустимых в языке конструкций ("слов" и "предложений"). Но удобный и полезный, потому что, в отличие от естественного языка, точный и недвусмысленный, а к тому же и простой. Программно он реализуется обычно в логике синтаксического разбора компилятором программ, но непосредственно, как язык, в компилятор он не закладывается. Вообще же метаязык может применяться и не на бумаге. Например, C++ построен с учетом возможности его использования в качестве метаязыка для создания более мощного языка с новыми операциями и структурами данных. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Форматцевт Опубликовано 17 октября, 2005 Жалоба Поделиться Опубликовано 17 октября, 2005 Sendo: Метаязык - это язык для описания языка. Да есть примеры его програмного использования, вопрос только в самодостаточносте и простоте. Язык программирования написанный на самом себе, простой и расширяемый, не требуемый дополнений из вне будет МЕТАЯЗЫК. Пример - язык программирования FORTH. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sendo Опубликовано 19 октября, 2005 Автор Жалоба Поделиться Опубликовано 19 октября, 2005 Спасибо за ответы, изложенные именно так как я хотел. Хотел прибавить в ваши репутации по плюсику, но не сообразил как... Ссылка на комментарий Поделиться на другие сайты Поделиться
Ligeya Опубликовано 14 июня, 2006 Жалоба Поделиться Опубликовано 14 июня, 2006 Можете, пожалуйста, назвать примеры метаязыков (побольше) и сказать, чем они отличаются? Буду оченьблагодарна. Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 14 июня, 2006 Жалоба Поделиться Опубликовано 14 июня, 2006 (изменено) Ligeya: в принципе реализовать метаязык можно на любом искуственном языке, ранее была проблема производительности и памяти. ЗЫ Все это знают, но лучше через ПМ это для уточнения. Изменено 14 июня, 2006 пользователем Stolik Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 14 июня, 2006 Жалоба Поделиться Опубликовано 14 июня, 2006 Ligeya: Ну, уже было несколько примеров, не буду повторяться. Вот еще примеры: XML - метаязык структурирования данных. Русский язык, если я его использую для описания языка программирования. Словарь плюс грамматика русского языка образуют метаязык для описания русского языка. Метаязык В. Проппа для описания структур волшебных сказок. Правила стихосложения для поэзии. Язык C++ очень часто используется как метаязык (собственно, он и был задуман, как метаязык для построения более мощных языков, использующих в качестве элементарных единиц более сложные объекты - экземпляры классов, описанных на C++). То есть, проще говоря, программисты используют большое количество объектов, описанных на этом языке, как новые самостоятельные слова языка (например, для элементов интерфейса Windows - кнопка, текстовая метка, форма и т.д.). Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения