понедельник, 3 января 2011 г.

Веб-сайт

Как-то так невольно и неожиданно для меня самого получилось, что какая-то информация обо мне, о моих прошлых и нынешних проектах, публикациях и т.п. вдруг взяла и скомпоновалась в виде кое-как структурированного набора веб-страничек. :-))

Вот, прошу любить и жаловать:

eugene.zouev.name

(обратите внимание, без www!)

Там на самом деле больше половины страниц пустые, и, наверное, нет ни одной, содержимое которой меня полностью устраивает. Так что периодически буду туда писать, дописывать, подправлять, изменять. Но вот дизайн вряд ли изменится: нет ни времени, ни желания самому красивые картинки придумывать и ваять. Гугл за меня все придумал, и спасибо ему за это.

В общем, не судите строго. :-)

2 комментария:

valexey комментирует...

Весьма интересный обзор проектов. Интересно.

По поводу арифметики синтаксиса: http://valexey.blogspot.com/2010/05/blog-post.html

На самом деле мы ещё построили несколько таких картинок для других языков (питон, js, lua). Правда пока они строилить вручную. Думую где-то к февралю неспешно допилится тулза для автоматического построения (и некоторого анализа) этих графов. С т.з. этой работы использование множества грамматик приведенных к некому общему знаминателю овольно интересно и перспективно.

Да, вопрос -- получится ли на освное например вот этого описания грамматики https://sites.google.com/site/zouev54/tekusie-proekty/arithmetics-2/ansi-c-grammar построить парсер который мог бы парсить обычный сишный файл? Я правильно понимаю, что как минимум придется преварительно сишный файл обработать препроцессором?

Ну а построить парсер на базе вот этого описания грамматики: https://sites.google.com/site/zouev54/tekusie-proekty/arithmetics-2/oberon-syntax , который прожевал бы скажем примеры на Oberon-2 того же XDS (и львиную долю либ писаных на нём) не получится, это я знаю по собственному опыту. Ибо расширизмы. Постоянные и вездесущие. Причем каждый компилятор Оберона имеет какие-то свои уникальные расширения языка. Что у xds, что у oo2c. Распространенность практики расширизмов в принципе тоже нужно как-то учитывать при анализе сложности синтаксиса.

zouev комментирует...

To valexey:
Картинки интересные; дополнение к многочисленным способам описания грамматик. Как мне кажется, наглядность графа для случая описания грамматик особенно полезна: можно увидеть "подъязыки", относительно слабо связанные с другими частями грамматики (например, выражения).

Насчет парсера для Си: конечно. Более того, описание грамматики на YACC-совместимом языке автоматически означает построение правильного парсера для данной грамматики. Но препроцессор, конечно, ни при чем. Если пользоваться таким парсером, то только после обработки исходника препроцессором. Это, конечно, усложняет практическое использование такого парсера, но ведь с формальной точки зрения препроцессор логически никак не связан с языком: это уродливая и архаичная надстройка. (Недаром Страуструп на концеренции в Москве в октябре сказал, отвечая на вопрос из зала, что будь его воля, он убил бы препроцессор в Си++. :-))

Насчет XDS Oberon и подобных языковых расширений: ну так расширения языка при необходимости легко внедрить в грамматику. Изначальная же идея "Арифметики синтаксиса" заключалась не в создании практически пригодных парсеров (это своего рода побочные продукты), а в объективном и измеримом сравнении языков как таковых...