Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Формальное определение языка C
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Matematic Matematic вне форума
Member
 
Аватар для Matematic
 
Сообщений: 388
Сказал(а) спасибо: 31
Поблагодарили 8 раз(а) в 8 сообщениях
Регистрация: 15.01.2007
По умолчанию Формальное определение языка C - 06.07.2013, 07:12

Уважаемые участники форума!
Хотел бы вам задать пару вопросов по языку C, которые уже достаточно давно меня интересуют.

1. Существует ли качественное определение синтаксиса языка C в виде какой-либо формальной грамматики, например, в виде форм Бэкуса-Наура или какой-то другой подобной формальной системы? Пусть даже это формальное определение затрагивает только базовую часть языка, включающую весь его синтаксис, но не содержащую стандартной библиотеки. Есть ли удачные примеры такой формализации C и если да, то где их найти? Можно ли подобным образом полностью формализовать правила языка, определенные в стандарте, или же такой формальной схемы будет недостаточно, она не будет полностью соответствовать правилам стандарта и для полного соответствия необходимы дополнительные словесные формулировки, как в тексте стандарта? Т. е. будет ли такое формальное определение языка C полным эквивалентом стандарта или же некоторые ограничивающие условия стандарта, описанные в нем в словесной форме, невозможно задать в виде правил формальной грамматики?

2. Существует ли качественный и достаточно полный набор тестов языка C, который позволил бы проверить существующий компилятор языка на соответствие общепринятым правилам языка (как они описаны в книгах) и стандарту? Допустим, некоторый разработчик или группа разработчиков написали свой компилятор языка. Теперь они хотят проверить, насколько их компилятор соответствует нормам языка. Где-то они чего-то не учли, т. к. правил в языке много и все их учесть сложно (можно чего-то не заметить или где-то допустить ошибку), где-то допустили ошибки в логике программы, из-за чего с некоторыми конструкциями компилятор не способен справиться и сгенерировать корректный отвечающий им машинный код, а где-то они возможно даже пошли на сознательные отклонения от стандарта. Как они могут узнать, где они допустили ошибки и недочеты и в чем состоят сознательные отличия их компилятора от стандарта (если такие отличия были ими внесены)? Есть ли какие-то наборы тестов или программы, позволяющие выполнить такое тестирование, специально разработанные для этой цели?

Последний раз редактировалось Matematic; 06.07.2013 в 07:18
Ответить с цитированием
  (#2 (permalink)) Старый
Matematic Matematic вне форума
Member
 
Аватар для Matematic
 
Сообщений: 388
Сказал(а) спасибо: 31
Поблагодарили 8 раз(а) в 8 сообщениях
Регистрация: 15.01.2007
По умолчанию 09.07.2013, 17:01

Форумчане, и все-таки кто-нибудь знает ответ на мой вопрос? Вопрос мне очень интересен. Может, кто-нибудь смог бы мне указать ссылки на какие-нибудь источники (не обязательно даже в Интернете)?
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтаксис языка с++ xzibit777999 Вопросы начинающих программистов 1 08.10.2012 09:18
Панель языка Dozza Любые вопросы от новичков 1 15.11.2011 22:30
Смена языка. Spartaker Windows XP 4 08.05.2010 22:19
cмена языка DVG Софт и программы 2 21.06.2008 07:40
Спецификация языка С++ Натаха С/С++ 1 20.04.2008 23:24
Полнота языка Arachnelis Мысли вслух 173 12.11.2007 22:30
Стандарт языка Pascal Garik Pascal 3 22.05.2007 21:09
Формальное описание грамматики ПРОЛОГА Darkmax Prolog 7 05.01.2007 17:48
Разработка языка программирования yureckor Некоммерческие проекты 56 09.09.2005 10:04
Как построить трансляторы языка iLok Вопросы начинающих программистов 0 04.04.2004 23:24



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов