Здравствуйте, Chrome, Вы писали:
C>Вопрос такой – возможно ли отделить синтаксис языков программирования от семантики.
Ответ будет зависеть от того, что Вы понимаете под "семантикой языков программирования"
C>Возможно ли создать универсальный синтаксис, эффективный для человека и пригодный для описания произвольной семантики современных языков программирования.
C>Под описанием семантики я подразумеваю формирование(при помощи универсального синтаксиса)дерева — эквивалентного дереву разбора, которое формирует парсер обычного языка.
Безусловно. С одним "но"... см. ниже.
C>Эффективный для человека – означает, что эквивалентное описание должно быть не намного длиннее оригинального.
А "оригинального" — это какого?
C>Сегодня синтаксис и семантика языка связаны – каждый язык имеет свою грамматику для описания набора концептов, которыми язык оперирует – классов, функций, переменных и т д
Хм... Семантика... Семантика-то в грамматику языка не входит. Чи под семантикой языка Вы понимаете "набор концептов, которыми язык оперирует"!?
C>Несколько языков имеют примерно общую семантику, но различный синтаксис, как в примере Visual basic .Net and C#
Эээ... Т.е. семантика это уже не "набор
концептов, которыми язык оперирует"? Просто уточняю... у Nemerle, например, ... и ну у F#... "семантика" тоже "примерно общая"? А у C# и Nemerle?
C>Более того, существуют предложения создавать грамматику на каждый новый набор понятий (DSL)
Существуют. Но не понятно к чему тут "более того"?!
C>Напрашивается аналогия с XML
Так... Вы о универсальном синтаксисе какого языка? В том смысле, языка описания чего? Из сказанного Вами выше, вроде как следует что, о языке описания "дерева — эквивалентного дереву разбора..." Так? Ну тогда в чем проблемы? Домен, так сказать, определ... вот определение "эффективности" малость не понятное. Но все же... в чем проблема?
C>Начасть можно с рассмотрения лексических примитивов:
Дальше у вас идет перечесление "примитивов" имеющих весьма опосредованное отношение к "дереву разбора". По этому, повторяю вопрос... О языке описания чего идет речь?
C>Потребность в синтаксисе не связанном с семантикой зачастую возникает в рамках программирования на любом языке.
Вообще говоря, синтаксис и так с семантикой никак не связан
Вопрос только в том, что Вы понимаете под семантикой.
C>Когда в программу на C# или C++ нужно вставить какое нибудь дерево, типа XML, HTML, SQL и т д — тут начинается нецелевое использование конструкций языка, таких как: темплейты, выражения, дерево классов. Функциональные языки приспосабливают свои функции.
Слабо понял о чем речь? Можно по подробней на тему "в программу ... вставить ...дерево, типа XML, HTML, SQL"? Что значит "вставить"?
C>Решение, не очень хорошее, в природе существует – синтаксис типа лиспа, ...
"Ситаксис типа лиспа" решения в своей области весьма удачное. И возможно, если в Вашем опеределении "эффективности для человека" разобраться с термином "оригинальное описание", то все встанет на свои места.
C> ... или гораздо хуже XML – можно выразить что хочешь, но слишком многословно, и недостаточно статически типизировано.
за типизацию.
C>Хотелось бы понять, почему конкретный синтаксис настолько более компактен по сравнению с общим и какие успехи достигнуты в данном направлении мыслящим сообществом.
Опять же... за синтакис языка описания чего идет речь? Или мы за синтаксис вообще?
---
С уважением, Сиваков Константин.
Здравствуйте, VladD2, Вы писали:
VD>Вот только XXml — это ни что иное как макрос. А их так боится Хейлсберг.
Интересно, почему?
Что-то личное, как нелюбовь Торвальдса к C++ и любовь ван Россума к GIL?
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, VladD2, Вы писали:
VD>>Вот только XXml — это ни что иное как макрос. А их так боится Хейлсберг.
MC>Интересно, почему? Что-то личное, как нелюбовь Торвальдса к C++ и любовь ван Россума к GIL?
Выделенное это как?
Здравствуйте, Курилка, Вы писали:
MC>>Интересно, почему? Что-то личное, как нелюбовь Торвальдса к C++ и любовь ван Россума к GIL?
К>Выделенное это как?
Ну не любит Линус Торвальдс С++ и всячески сопротивляется его использованию в ядре.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Курилка, Вы писали:
MC>>>Интересно, почему? Что-то личное, как нелюбовь Торвальдса к C++ и любовь ван Россума к GIL?
К>>Выделенное это как?
C>Ну не любит Линус Торвальдс С++ и всячески сопротивляется его использованию в ядре.
Мда, работать меньше надо, прочитал вместо Торвальдса "Страуструп"