Проект R#
От: Чистяков Влад (VladD2) Российская Империя www.nemerle.org
Дата: 28.01.04 15:27
Оценка: 646 (13) +1
Статья:
Проект R#
Автор(ы): Чистяков Влад (VladD2)
Дата: 28.01.2004


Авторы:
Чистяков Влад (VladD2)

Аннотация:
Что и как

29.04.04 18:31: Перенесено модератором из 'RSDN Research' — VD
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Проект R#
От: Сергей Выдров  
Дата: 29.01.04 06:19
Оценка:
Здравствуйте, Чистяков Влад (VladD2), Вы писали:

ЧВV>Статья:



Безумству храбрых поем мы славу!..
Re: Проект R#
От: konst  
Дата: 29.01.04 08:27
Оценка:
Здравствуйте, Чистяков Влад (VladD2), Вы писали:

Очень интересно. Но всё же поутру не очень понял, какие задачи призван решать R#? Совершенно серьёзно хотелось бы пару примеров или как-то попроще что ли объяснили "зачем"...
Re[2]: Проект R#
От: Eugals Россия  
Дата: 29.01.04 08:45
Оценка:
Здравствуйте, Сергей Выдров, Вы писали:

СВ>Безумству храбрых поем мы славу!..


Ага, вот именно храбрых. Народ вступает в конкуренцию с M$, причем на их же поле и на их условиях игры
Весь этот проект целиком зависит от доброй воли парней из Редмонда. Если они решат его похоронить, им будет достаточно внести в следующий стандарт C# какое-нибудь мелкое дополнение кардинально несовместимое с семантикой R#-а и всё рассыплется
... << RSDN@Home 1.1.0 stable >>
Re: Проект R#
От: Eugals Россия  
Дата: 29.01.04 08:57
Оценка:
А не кажется господам разработчикам, что они ставят телегу впереди лошади?
Может быть, чем заниматься написанием очередного клона C#, с последующим героическим расширением его синтаксиса с тем, чтобы добавить в него заявленные в манифесте фичи (кодогенераторы, трансляторы, xslt и т.п.), стоило бы начать именно с полноценного "универсального" парсера, а C# сделать его всего лишь одним из его модов? Очень сомневаюсь, что код сгенеренный CocoR-ом (хотя, я его не видел ) может служить хорошей основой для последующей сколько-нибудь серьезной модификации (если только полностью переписывать). К тому же синтаксис C# довольно плотен и может так получиться, что значительную часть времени, при расширении парсера, вам придется тратить на заботу о том, чтобы в нем что-нибудь не отвалить?

ЗЫ. Всё что я выше спросил следует воспринимать именно как вопрос (который меня очень интересует), а не попытку кого-нибудь оскорбить или поставить под сомнение умственные способности
... << RSDN@Home 1.1.0 stable >>
Re[2]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.04 09:07
Оценка:
Здравствуйте, Eugals, Вы писали:

E>стоило бы начать именно с полноценного "универсального" парсера, а C# сделать его всего лишь одним из его модов?


Универсальный парсер это миф. Если такой и сделать то он будет тормознутым и глючным.

E>Очень сомневаюсь, что код сгенеренный CocoR-ом (хотя, я его не видел ) может служить хорошей основой для последующей сколько-нибудь серьезной модификации (если только полностью переписывать).


Вот посмотри, а потом будешь выводы делать.

E> К тому же синтаксис C# довольно плотен


Чего простите?

E> и может так получиться, что значительную часть времени, при расширении парсера, вам придется тратить на заботу о том, чтобы в нем что-нибудь не отвалить?


То есть ты никогда не пользовался компиляторами компиляторов, так? Автогенеренный код никто не правит, правят описание грамматики. Грамматика описывается в EBNF.

E>ЗЫ. Всё что я выше спросил следует воспринимать именно как вопрос (который меня очень интересует), а не попытку кого-нибудь оскорбить или поставить под сомнение умственные способности


Ну тогда попробуй почитать про теорию формальных грамматик для начала. Объяснять подобное в рамках форума крайне тяжко.
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[3]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.04 09:07
Оценка:
Здравствуйте, Eugals, Вы писали:

E>Весь этот проект целиком зависит от доброй воли парней из Редмонда. Если они решат его похоронить, им будет достаточно внести в следующий стандарт C# какое-нибудь мелкое дополнение кардинально несовместимое с семантикой R#-а и всё рассыплется


Например?
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[3]: Проект R#
От: Eugals Россия  
Дата: 29.01.04 09:47
Оценка:
Здравствуйте, AndrewVK, Вы писали:

E>>стоило бы начать именно с полноценного "универсального" парсера, а C# сделать его всего лишь одним из его модов?

AVK>Универсальный парсер это миф. Если такой и сделать то он будет тормознутым и глючным.
Именно поэтому я и взял слово "универсальный" в кавычки , если не понятно, то можно заменить термин на "парсер допускающий достаточно единообразное и лаконичное описание большинства современных типовых языков программирования".

E>>Очень сомневаюсь, что код сгенеренный CocoR-ом (хотя, я его не видел ) может служить хорошей основой для последующей сколько-нибудь серьезной модификации (если только полностью переписывать).

AVK>Вот посмотри, а потом будешь выводы делать.
А как же его посмотреть, если вы доступ к CVS (на чтение) закрыли?

E>> К тому же синтаксис C# довольно плотен

E>> и может так получиться, что значительную часть времени, при расширении парсера, вам придется тратить на заботу о том, чтобы в нем что-нибудь не отвалить?
AVK>То есть ты никогда не пользовался компиляторами компиляторов, так? Автогенеренный код никто не правит, правят описание грамматики. Грамматика описывается в EBNF.
Пользовался. Я именно про EBNF и говорю. Вот захотите вы добавить в язык какое-нибудь свой оператор (или даже просто ключевое слово) и придется перечитывать стандарт C#, на предмет того нельзя ли случайно такую же лексему получить комбинацией стандартных. А если попытаться добавить туда не просто оператор, а целую новую конструкцию (что-нибуть вроде "for <i> in <list> reverse" — наобум сказал), то вообще кирдык, это я и назвал "плотностью" синтаксиса

AVK>Ну тогда попробуй почитать про теорию формальных грамматик для начала. Объяснять подобное в рамках форума крайне тяжко.

Я и не просил
... << RSDN@Home 1.1.0 stable >>
Re[4]: Проект R#
От: Eugals Россия  
Дата: 29.01.04 09:47
Оценка:
Здравствуйте, AndrewVK, Вы писали:

E>>Весь этот проект целиком зависит от доброй воли парней из Редмонда. Если они решат его похоронить, им будет достаточно внести в следующий стандарт C# какое-нибудь мелкое дополнение кардинально несовместимое с семантикой R#-а и всё рассыплется

AVK>Например?
Например такое же ключевое слово, как и у вас, но означающее совсем другое. Да мало ли способор привести в негодность чужую грамматику, если ты имеешь возможность менять стандарт, который она обязалась поддерживать ...
... << RSDN@Home 1.1.0 stable >>
Re[5]: Проект R#
От: Воронков Василий Россия  
Дата: 29.01.04 09:51
Оценка:
> Например такое же ключевое слово, как и у вас, но означающее совсем другое. Да мало ли способор привести в негодность чужую грамматику, если ты имеешь возможность менять стандарт, который она обязалась поддерживать ...

Ну знаешь живут же как-то расширения стандартов других языков. Можно все "нестандартные" ключевые слова начинать с двойного подчеркивания, напр. "__gc"
Posted via RSDN NNTP Server 1.8 beta
Re[6]: Проект R#
От: Eugals Россия  
Дата: 29.01.04 10:14
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ну знаешь живут же как-то расширения стандартов других языков. Можно все "нестандартные" ключевые слова начинать с двойного подчеркивания, напр. "__gc"

от карательных действий мелкософта это вряд ли спасет
...хотя, я вам желаю в этом деле успеха
честно
... << RSDN@Home 1.1.0 stable >>
Re[4]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.04 10:20
Оценка:
Здравствуйте, Eugals, Вы писали:

E>Именно поэтому я и взял слово "универсальный" в кавычки , если не понятно, то можно заменить термин на "парсер допускающий достаточно единообразное и лаконичное описание большинства современных типовых языков программирования".


И чем это отличается от Coco? Имеем на входе грамматику, на выходе парсер. Делать тоже самое в рантайме? Зачем?

AVK>>Вот посмотри, а потом будешь выводы делать.

E>А как же его посмотреть, если вы доступ к CVS (на чтение) закрыли?

cocotools.sscli.net никто не закрыл.

AVK>>То есть ты никогда не пользовался компиляторами компиляторов, так? Автогенеренный код никто не правит, правят описание грамматики. Грамматика описывается в EBNF.

E>Пользовался. Я именно про EBNF и говорю. Вот захотите вы добавить в язык какое-нибудь свой оператор (или даже просто ключевое слово) и придется перечитывать стандарт C#, на предмет того нельзя ли случайно такую же лексему получить комбинацией стандартных. А если попытаться добавить туда не просто оператор, а целую новую конструкцию (что-нибуть вроде "for <i> in <list> reverse" — наобум сказал), то вообще кирдык

Не знаю я где ты там кирдык нашел.
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[5]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.04 10:20
Оценка:
Здравствуйте, Eugals, Вы писали:

E>Например такое же ключевое слово, как и у вас, но означающее совсем другое.


Ты не прочитал внимательно описание проекта. Все расширения должны быть синтаксически совместимы с шарпом.
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[6]: Проект R#
От: Eugals Россия  
Дата: 29.01.04 10:43
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ты не прочитал внимательно описание проекта. Все расширения должны быть синтаксически совместимы с шарпом.

Его новые реализации МС выпускает (и будет выпускать) каждый год. Шарп — дольно капризная особа , вы может быть и хотите, чтобы ваши "расширения" хорошо с нею "стыковались", только вот захочет ли этого она...
... << RSDN@Home 1.1.0 stable >>
Re[7]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.04 11:00
Оценка:
Здравствуйте, Eugals, Вы писали:

AVK>>Ты не прочитал внимательно описание проекта. Все расширения должны быть синтаксически совместимы с шарпом.

E>Его новые реализации МС выпускает (и будет выпускать) каждый год. Шарп — дольно капризная особа , вы может быть и хотите, чтобы ваши "расширения" хорошо с нею "стыковались", только вот захочет ли этого она...

В любом случае расширения МС будут стыковаться с предыдущими версиями шарпа, а значит и с нашими.
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[8]: Проект R#
От: Eugals Россия  
Дата: 29.01.04 11:48
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>В любом случае расширения МС будут стыковаться с предыдущими версиями шарпа, а значит и с нашими.

Довольно спорный силлогизм

ЗЫЖ ...ладно, прекращаю флеймить...
... << RSDN@Home 1.1.0 stable >>
Re[5]: Проект R#
От: Eugals Россия  
Дата: 29.01.04 11:48
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

E>>Именно поэтому я и взял слово "универсальный" в кавычки , если не понятно, то можно заменить термин на "парсер допускающий достаточно единообразное и лаконичное описание большинства современных типовых языков программирования".

AVK>И чем это отличается от Coco? Имеем на входе грамматику, на выходе парсер. Делать тоже самое в рантайме? Зачем?
Затем, что это, имхо, единственная не занятая на сегодня ниша, причем довольно многообещающая. В вашем манифесте упоминалось об автоматических трансляторах и об аналоге XSLT, а для этого удобна (читай: "единственно возможна") именно рантаймовая начинка парсера. Если этого не делать, то максимум чем может стать R#, это аналогом CocoR-а (или бизона) "только круче"...
или же просто очередным клоном C#, с несколько расширенным синтаксисом.
А на этом поле уже есть сильные (и продолжающие расти) игроки: те же самые кокор, бизон, шарп и хмл.

Это конечно всё моё дикое имхо, но гораздо песпективнее был бы транслятор позволяющий в одном коде объединять код написанный сразу на нескольких ("естественных" для каждой конкретной выполняемой задачи) языках, с возможностью программисту самому доопределять набор операторов и конструкций, поддерживаемых его классами!
Во, как загнул...
... << RSDN@Home 1.1.0 stable >>
Re[6]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.04 12:08
Оценка:
Здравствуйте, Eugals, Вы писали:

AVK>>И чем это отличается от Coco? Имеем на входе грамматику, на выходе парсер. Делать тоже самое в рантайме? Зачем?

E>Затем, что это, имхо, единственная не занятая на сегодня ниша, причем довольно многообещающая.

Тут как раз недавно статейка была на эту тему. Вкратце — вот к примеру продажа мороженого на Аляске тоже незанятая ниша, никто не продает.

E> В вашем манифесте упоминалось об автоматических трансляторах и об аналоге XSLT, а для этого удобна (читай: "единственно возможна") именно рантаймовая начинка парсера.


Давай конкретно чем она удобна.

E> Если этого не делать, то максимум чем может стать R#, это аналогом CocoR-а (или бизона) "только круче"...

E>или же просто очередным клоном C#, с несколько расширенным синтаксисом.
E>А на этом поле уже есть сильные (и продолжающие расти) игроки: те же самые кокор, бизон, шарп и хмл.

Ты опять ничего не понял. R# это средство метапрограммирования, эдакие синтаксические макросы. Основное назначение — сложная универсальная кодогенерация. Универсальная, прошу обратить внимание. Одна из задач, которую планируется решить — АОП.

E>Это конечно всё моё дикое имхо, но гораздо песпективнее был бы транслятор позволяющий в одном коде объединять код написанный сразу на нескольких ("естественных" для каждой конкретной выполняемой задачи) языках, с возможностью программисту самому доопределять набор операторов и конструкций, поддерживаемых его классами!


Зачем это надо?
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[3]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.04 14:16
Оценка: +2
Здравствуйте, Eugals, Вы писали:

E>Ага, вот именно храбрых. Народ вступает в конкуренцию с M$, причем на их же поле и на их условиях игры

E>Весь этот проект целиком зависит от доброй воли парней из Редмонда. Если они решат его похоронить, им будет достаточно внести в следующий стандарт C# какое-нибудь мелкое дополнение кардинально несовместимое с семантикой R#-а и всё рассыплется

Я буду удовлетворен при любом стечении обстоятельств. Если МС реализует нечто подобное, будет просто замечательно.

Если МС начнет с нами конкурировать, то на следующий день о нас узнает пол мира. Тоже неплохой исход.

Если же МС даже не заметит нас, то мы получим то, что хотим, и будем использовать результата в дальнейший проектах. IT уже обещал переписать RSDN на R#.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.04 14:16
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ну знаешь живут же как-то расширения стандартов других языков. Можно все "нестандартные" ключевые слова начинать с двойного подчеркивания, напр. "__gc"


Напомню, что пока нами не введено ни одного нового ключевого слова. И не планируется. В это восбтвенно и суть.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.04 14:16
Оценка:
Здравствуйте, Eugals, Вы писали:

E>от карательных действий мелкософта это вряд ли спасет


Да Вы батенька маньяк!

E>...хотя, я вам желаю в этом деле успеха

E>честно

Спасибо.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.04 14:16
Оценка:
Здравствуйте, konst, Вы писали:

K>Здравствуйте, Чистяков Влад (VladD2), Вы писали:


K>Очень интересно. Но всё же поутру не очень понял, какие задачи призван решать R#? Совершенно серьёзно хотелось бы пару примеров или как-то попроще что ли объяснили "зачем"...


Вообще то в статье как раз сказано, что позволет делать R#. Так же очень советую поглядеть дискуссию на тему АОП в философии (Статья про АОП
Автор: Miem
Дата: 14.01.04
).
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.04 14:16
Оценка:
Здравствуйте, Eugals, Вы писали:

E>Здравствуйте, AndrewVK, Вы писали:


E>Пользовался. Я именно про EBNF и говорю. Вот захотите вы добавить в язык какое-нибудь свой оператор (или даже просто ключевое слово) и придется перечитывать стандарт C#, на предмет того нельзя ли случайно такую же лексему получить комбинацией стандартных. А если попытаться добавить туда не просто оператор, а целую новую конструкцию (что-нибуть вроде "for <i> in <list> reverse" — наобум сказал), то вообще кирдык, это я и назвал "плотностью" синтаксиса


Ты уж извени, но я это называю рассуждения без наличия достаточных знаний.

Да еще и плохое восприятие информации.

Тебе уже сказали, что построение парсера ведется автоматизированным образом, и любое несоотвествие будет выявленно автоматически. Плюс будет куча тестов (банально скормим парсеру исходники Хоума, Моно, SSCLI и т.п.

Далее тебе сказали, что изменения синтаксиса не планируется. Так что конфликтов не может быть по определению. А уж если пойдем на такой радикальный шаг, то сто раз все проверим и продумаем.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Проект R#
От: Воронков Василий Россия  
Дата: 29.01.04 14:24
Оценка:
> ВВ>Ну знаешь живут же как-то расширения стандартов других языков. Можно все "нестандартные" ключевые слова начинать с двойного подчеркивания, напр. "__gc"
>
> Напомню, что пока нами не введено ни одного нового ключевого слова. И не планируется. В это восбтвенно и суть.

Ну это пока..
Posted via RSDN NNTP Server 1.8 beta
Re[8]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.04 15:05
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ну это пока..


Есть надежда что это пока будет очень долгим.
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[3]: Проект R#
От: mihailik Украина  
Дата: 29.01.04 16:17
Оценка:
E>Народ вступает в конкуренцию с M$, причем на их же поле и на их условиях игры
E>Весь этот проект целиком зависит от доброй воли парней из Редмонда.

Ну ты это замахнулся. Какая конкуренция с MS? Расширения и вариации сейчас есть по десятку на каждый известный язык.
... << RSDN@Home 1.1.3 beta 1 >>
Re: Проект R#
От: Воронков Василий Россия  
Дата: 29.01.04 17:41
Оценка:
Здравствуйте, Чистяков Влад (VladD2), Вы писали:

>Спецификацию C# 1.2 и 2.0


А что такое C# 1.2? Чем он отличается от C# 2.0?
... << RSDN@Home 1.1.3 beta 1 >>
Re[2]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.04 17:57
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>А что такое C# 1.2? Чем он отличается от C# 2.0?


1.2 — это текущая версия. 2.0 это то что в Видби.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Проект R#
От: Воронков Василий Россия  
Дата: 29.01.04 18:06
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>А что такое C# 1.2? Чем он отличается от C# 2.0?


VD>1.2 — это текущая версия. 2.0 это то что в Видби.


А где его можно взять? А то я как лох на каком-то долбаном 1.1 пишу
... << RSDN@Home 1.1.3 beta 1 >>
Re[4]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.04 19:33
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>А где его можно взять? А то я как лох на каком-то долбаном 1.1 пишу


Это версия спецификации. Просто ее видимо поправли. В общем, сейчас на МС лежит именно 1.2.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Проект R#
От: Воронков Василий Россия  
Дата: 29.01.04 20:01
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>А где его можно взять? А то я как лох на каком-то долбаном 1.1 пишу

VD>Это версия спецификации. Просто ее видимо поправли. В общем, сейчас на МС лежит именно 1.2.

Да, и правда... Значит, это я идиот.
... << RSDN@Home 1.1.3 beta 1 >>
Re[6]: Проект R#
От: MaxMP Россия  
Дата: 04.02.04 18:56
Оценка:
Можно вопрос: а чем вас не устроил ANTLR?
Re[7]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.04 20:12
Оценка: +1
Здравствуйте, MaxMP, Вы писали:


MMP>Можно вопрос: а чем вас не устроил ANTLR?


1. Тянет за собой Яву и Ява-машиной.
2. Много ошибок и недоработок.
3. Плохое качество кода (его исходников).
4. Отсуствие полноценной граматики для шарпа (то что идет с ним долеко от идеала).
5. (тут я могу ошибаться) Он вроде как GNU-тый. А с GNU связываться не охота.

В общем, по большему счету все сводится к плохой модифицируемости.

Да и вроде как Коко очень даже ничего. Простой, удобный, легко модифицируемый. Очень не маловажно, что он сам создан на самом себе же. Это резко упрощает модификацию.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 05.02.04 07:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>1. Тянет за собой Яву и Ява-машиной.

VD>2. Много ошибок и недоработок.
VD>3. Плохое качество кода (его исходников).
VD>4. Отсуствие полноценной граматики для шарпа (то что идет с ним долеко от идеала).
VD>5. (тут я могу ошибаться) Он вроде как GNU-тый. А с GNU связываться не охота.
6. Тащит с собой рантайм.
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[8]: Проект R#
От: MaxMP Россия  
Дата: 05.02.04 14:37
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, MaxMP, Вы писали:



MMP>>Можно вопрос: а чем вас не устроил ANTLR?


VD>1. Тянет за собой Яву и Ява-машиной.

Только на этапе компиляции граматики. К тому же anltr конвертиться в .net вариант соответствующей утилитой, т.к. java 1.1.4 совметим.

VD>2. Много ошибок и недоработок.

VD>3. Плохое качество кода (его исходников).
Так скажем, production ready

VD>4. Отсуствие полноценной граматики для шарпа (то что идет с ним долеко от идеала).


По времени разработки языкового анализатора: лексический анализ — это 5%, синтаксический — 15%, семантический — 80%.


VD>5. (тут я могу ошибаться) Он вроде как GNU-тый. А с GNU связываться не охота.

Apache лицензия.

Плюсы antlr:
1. на выходе лескера-парсера имеем AST.
2. мощный язык грамматик.
3. инфраструктура AST-парсеров, резко упрощающая написание source-to-source конвертеров, семантических анализаторов и обладающих дополнительныо валидирующей граматику функциональностью.
4. поддержка hidden tokens aka comments, whitespaces etc. — полезно для форматеров исходного кода и подобного.


Runtime как таковой в реальных продуктах не применяется — для повышения производительности эти 5-6 необходимых классов переписываются и включаются в продукт.
Re[9]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.04 15:33
Оценка:
Здравствуйте, MaxMP, Вы писали:

MMP>Только на этапе компиляции граматики. К тому же anltr конвертиться в .net вариант соответствующей утилитой, т.к. java 1.1.4 совметим.


Ну, и зачем нам этот трах?

MMP>По времени разработки языкового анализатора: лексический анализ — это 5%, синтаксический — 15%, семантический — 80%.


На этот счет есть и другие точки зрения. В любом, случае усложнять себе работу как-то не охота.

VD>>5. (тут я могу ошибаться) Он вроде как GNU-тый. А с GNU связываться не охота.

MMP>Apache лицензия.

Ну, вот, а Кока фир.

MMP>1. на выходе лескера-парсера имеем AST.


Который нужно описывать в своеобразном синтаксисе. Да и получается то что получается, а не то что хочется.

MMP>2. мощный язык грамматик.


В коко придумана одна уловка позволяющая решать все проблемы. Язык получается проще но не менее мощным.

MMP>3. инфраструктура AST-парсеров, резко упрощающая написание source-to-source конвертеров, семантических анализаторов и обладающих дополнительныо валидирующей граматику функциональностью.


Так в чем эти приемущетсва?

MMP>4. поддержка hidden tokens aka comments, whitespaces etc. — полезно для форматеров исходного кода и подобного.


Все это прекрасно реализуется и в Коке.


MMP>Runtime как таковой в реальных продуктах не применяется — для повышения производительности эти 5-6 необходимых классов переписываются и включаются в продукт.


Зачем мне что-то переписывать?

Кайф Коки в его простоте и легкости расширения. Он сам создан на самом себе. Это резко упрощает его совершенствование.

Так же у Коки очень хорошо продумана отладка и диагностика.

PS

Я долго протрахался с изучением ANTLR-а, но так до конца и не проникся им. А с Кокой мне хватило двух дней.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 06.02.04 12:00
Оценка:
Здравствуйте, MaxMP, Вы писали:

VD>>1. Тянет за собой Яву и Ява-машиной.

MMP>Только на этапе компиляции граматики. К тому же anltr конвертиться в .net вариант соответствующей утилитой, т.к. java 1.1.4 совметим.

Ты пробовал?

VD>>3. Плохое качество кода (его исходников).

MMP>Так скажем, production ready

Неа. В последней версии есть например глюк, приводящий к неработоспособности лексера с case-insensitive языками. Есть еще куча мелких и не очень глюков и недоделок. Плюс отвратительный стиль — публичные переменные, часть публичных методов в кемэл стиле, часть в паскале. Джавовские get/set практически нигде не преобразованы в свойства. Ну и в доверщение ко всему очень медленный (хотя и юникодный) лексер.

MMP>По времени разработки языкового анализатора: лексический анализ — это 5%, синтаксический — 15%, семантический — 80%.


А нам семантический на первом этапе в полном объеме и не нужен.

MMP>2. мощный язык грамматик.


Это не плюс, это пофигу, поскольку возможностей модифицированного Сосо для описания шарпа хватает, а больше и не нужно.

MMP>3. инфраструктура AST-парсеров, резко упрощающая написание source-to-source конвертеров, семантических анализаторов и обладающих дополнительныо валидирующей граматику функциональностью.


Это скорее минус, поскольку, как уже говорилось, качество кода весьма низкое, а в отличие от кода без специального рантайма не обойтись.

MMP>Runtime как таковой в реальных продуктах не применяется — для повышения производительности эти 5-6 необходимых классов переписываются и включаются в продукт.


А оно нам надо, еще и рантайм переписывать?
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[10]: Проект R#
От: MaxMP Россия  
Дата: 06.02.04 16:02
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, MaxMP, Вы писали:


VD>>>1. Тянет за собой Яву и Ява-машиной.

MMP>>Только на этапе компиляции граматики. К тому же anltr конвертиться в .net вариант соответствующей утилитой, т.к. java 1.1.4 совметим.

AVK>Ты пробовал?


Конечно

AVK>Неа. В последней версии есть например глюк, приводящий к неработоспособности лексера с case-insensitive языками. Есть еще куча мелких и не очень глюков и недоделок. Плюс отвратительный стиль — публичные переменные, часть публичных методов в кемэл стиле, часть в паскале. Джавовские get/set практически нигде не преобразованы в свойства. Ну и в доверщение ко всему очень медленный (хотя и юникодный) лексер.


Согласен, многое пришлось переписать, но оно того стоило

MMP>>По времени разработки языкового анализатора: лексический анализ — это 5%, синтаксический — 15%, семантический — 80%.


AVK>А нам семантический на первом этапе в полном объеме и не нужен.


Ну, для компилятора понадобится точно
Re[10]: Проект R#
От: MaxMP Россия  
Дата: 06.02.04 16:32
Оценка:
AVK> Ну и в доверщение ко всему очень медленный (хотя и юникодный) лексер.

Сейчас потестил coco — сгенеренный им лексер в два раза медленее сгенеренного antlr'ом (coco scanner — построен из cs.ATG ~ 71100 строк в секунду, antlr scanner ~ 134400 строк в секунду, протестировано файлов: 993, 195548 линий, 5865kb).
И это при том, что все методы в coco лексере статические (непорядок, а antlr работает с входным буфером через интерфейс, + мой лексер делает дополнительный анализ hidden токенов
Re[11]: Проект R#
От: beretta Россия icq: 138726397
Дата: 06.02.04 17:40
Оценка:
Здравствуйте, MaxMP, Вы писали:

MMP>И это при том, что все методы в coco лексере статические (непорядок, а antlr


Там бы убрать поля статические, тогда все даже хорошо будет, имхо.
... << RSDN@Home 1.1.3 beta 1 >>
Re[11]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.02.04 20:24
Оценка:
Здравствуйте, MaxMP, Вы писали:

MMP>Ну, для компилятора понадобится точно


80% того что нужно делается в эмите. Нам остангется только разрешить ссылки и т.п.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.02.04 20:24
Оценка:
Здравствуйте, MaxMP, Вы писали:

MMP>Сейчас потестил coco — сгенеренный им лексер в два раза медленее сгенеренного antlr'ом (coco scanner — построен из cs.ATG ~ 71100 строк в секунду, antlr scanner ~ 134400 строк в секунду, протестировано файлов: 993, 195548 линий, 5865kb).


Ты какой брал? Тот что в нашем проекте, или исходный?

Алгоритмически там вроде бы все ОК.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Проект R#
От: siv Украина  
Дата: 10.04.04 16:17
Оценка:
B>Там бы убрать поля статические, тогда все даже хорошо будет, имхо.
Я уже это делал. За ~пару часов. Приятно, что в CoCo прозрачный и понятный код...
Re: Проект R#
От: Дарней Россия  
Дата: 15.10.04 11:05
Оценка:
Здравствуйте, Чистяков Влад (VladD2), Вы писали:

Всё-таки интересен вопрос с лицензией.
Вот тут: http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/ написано, что это таки GPL.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.10.04 12:33
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Всё-таки интересен вопрос с лицензией.

Д>Вот тут: http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/ написано, что это таки GPL.

В общем, и целом пришли к мнению, что для внутренних целей продукт будет фри. Если у гого-то будет желаение включить его в состав собственного комерческого ПО, то тогда нужно говорить отдельно.
... << RSDN@Home 1.1.4 beta 3 rev. 196>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Проект R#
От: Дарней Россия  
Дата: 27.10.04 11:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В общем, и целом пришли к мнению, что для внутренних целей продукт будет фри. Если у гого-то будет желаение включить его в состав собственного комерческого ПО, то тогда нужно говорить отдельно.


Насколько я понимаю, это будет нарушением GPL — как и сокрытие исходников R# от всеобщего доступа
Если Coco/R распространяется на условиях GPL, то любая включающая его прога должна распространяться на тех же условиях. Чтобы обойти это, придется вынести его в отдельный ехе-шник.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[4]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 11:32
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Насколько я понимаю, это будет нарушением GPL — как и сокрытие исходников R# от всеобщего доступа

Д>Если Coco/R распространяется на условиях GPL, то любая включающая его прога должна распространяться на тех же условиях. Чтобы обойти это, придется вынести его в отдельный ехе-шник.

В состав R# Coco не входит.
... << RSDN@Home 1.1.4 beta 3 rev. 209>>
AVK Blog
Re[5]: Проект R#
От: Дарней Россия  
Дата: 27.10.04 12:16
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>В состав R# Coco не входит.


Если он в нем используется в виде библиотеки классов — значит, входит.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[6]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 12:35
Оценка:
Здравствуйте, Дарней, Вы писали:

AVK>>В состав R# Coco не входит.


Д>Если он в нем используется в виде библиотеки классов — значит, входит.


Какой библиотеки классов? Ты вобще о чем?
... << RSDN@Home 1.1.4 beta 3 rev. 209>>
AVK Blog
Re[7]: Проект R#
От: Дарней Россия  
Дата: 27.10.04 13:10
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Какой библиотеки классов? Ты вобще о чем?


пардон, если я что-то неправильно понял. Я говорил вот про это:
http://gzip.rsdn.ru/article/rsharp/rsharp.xml
Автор(ы): Чистяков Влад (VladD2)
Дата: 28.01.2004

ну и в частности — то, что там написано про лицензию.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: Проект R#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.04 13:53
Оценка: +1
Здравствуйте, Дарней, Вы писали:

AVK>>Какой библиотеки классов? Ты вобще о чем?


Д>пардон, если я что-то неправильно понял. Я говорил вот про это:

Д>http://gzip.rsdn.ru/article/rsharp/rsharp.xml
Автор(ы): Чистяков Влад (VladD2)
Дата: 28.01.2004

Д>ну и в частности — то, что там написано про лицензию.

Это я понял. Не понял о какой коке ввиде библиотеки классов идет речь.
... << RSDN@Home 1.1.4 beta 3 rev. 209>>
AVK Blog
Re[4]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.10.04 08:24
Оценка: +1
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, VladD2, Вы писали:


VD>>В общем, и целом пришли к мнению, что для внутренних целей продукт будет фри. Если у гого-то будет желаение включить его в состав собственного комерческого ПО, то тогда нужно говорить отдельно.


Д>Насколько я понимаю, это будет нарушением GPL — как и сокрытие исходников R# от всеобщего доступа


А мы плевать хотли на GPL. Более того. Я лично считаю GPL вредным для общества.

Д>Если Coco/R распространяется на условиях GPL, то любая включающая его прога должна распространяться на тех же условиях. Чтобы обойти это, придется вынести его в отдельный ехе-шник.


1. Используемая у нас версия Coco/R распространялась вообще без какой-либо лицензии, т.е. еще до публикации под GPL.
2. Мы не используем код из Coco/R в R#. А использования результатов работы ПО выпущенного под лицензией GPL вполне допусимо.
3. Исходники R# и модифицированной Coco/R доступны здесь: http://gzip.rsdn.ru/projects/RSharp/vcs.aspx .
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.10.04 08:24
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, AndrewVK, Вы писали:


AVK>>В состав R# Coco не входит.


Д>Если он в нем используется в виде библиотеки классов — значит, входит.


Они не используется в "виде библиотеки классов". Он используется для генерации кода парсера. Т.е. испоьзуется результат работы программы, а не ее исходный код. Например, точно так файлы созданные с помощью ОпенОфиса не подчиняются GPL.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Проект R#
От: Дарней Россия  
Дата: 29.10.04 04:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А мы плевать хотли на GPL. Более того. Я лично считаю GPL вредным для общества.



В принципе — да. LGPL уже намного лучше.

VD>2. Мы не используем код из Coco/R в R#. А использования результатов работы ПО выпущенного под лицензией GPL вполне допусимо.


ага, тогда понятно!
просто мне это место немного скользким показалось
а вообще проект у вас очень интересный
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[6]: Проект R#
От: Andre Украина  
Дата: 29.10.04 20:10
Оценка:
VD>>А мы плевать хотли на GPL. Более того. Я лично считаю GPL вредным для общества.

Д>

Д>В принципе — да. LGPL уже намного лучше.

А мне больше CPL (Common Public License) нравится. Под этой лицензией кстати Microsoft выпустила WTL и (забыл как называется, с инсталлером работает) на sourceforge.
В общем выбирать есть из чего.
... << RSDN@Home 1.1.4 :: rev. 214 >> :: ...
Я бы изменил мир — но Бог не даёт исходников...
Re[7]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.04 21:16
Оценка:
Здравствуйте, Andre, Вы писали:

A>А мне больше CPL (Common Public License) нравится. Под этой лицензией кстати Microsoft выпустила WTL и (забыл как называется, с инсталлером работает) на sourceforge.

A>В общем выбирать есть из чего.

А как называется лицензия у Эклипса?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Проект R#
От: Andre Украина  
Дата: 29.10.04 23:12
Оценка:
A>>А мне больше CPL (Common Public License) нравится. Под этой лицензией кстати Microsoft выпустила WTL и (забыл как называется, с инсталлером работает) на sourceforge.

VD>А как называется лицензия у Эклипса?


Была CPL (Common Public License) но судя по этому теперь переезжают на EPL (Eclipse Public License).

В общем нужно брать CPL, править и выставлять как RPL (RSDN Pulic License)
... << RSDN@Home 1.1.4 :: rev. 214 >> :: ...
Я бы изменил мир — но Бог не даёт исходников...
Re[9]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.04 23:41
Оценка:
Здравствуйте, Andre, Вы писали:


A>Была CPL (Common Public License) но судя по этому теперь переезжают на EPL (Eclipse Public License).


A>В общем нужно брать CPL, править и выставлять как RPL (RSDN Pulic License)


Возможно. А CPL на русском есть?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Проект R#
От: Andre Украина  
Дата: 29.10.04 23:55
Оценка:
VD>Возможно. А CPL на русском есть?

Меня не покидает ощущения что на прошлой неделе где то случайно встречал. Но вот где вспомнить пока совершенно не могу.
... << RSDN@Home 1.1.4 :: rev. 214 >> :: ...
Я бы изменил мир — но Бог не даёт исходников...
Re[4]: Проект R#
От: Mamut Швеция http://dmitriid.com
Дата: 02.11.04 19:01
Оценка:
VD>Если МС начнет с нами конкурировать, то на следующий день о нас узнает пол мира. Тоже неплохой исход.

Желаю, чтобы о вас узнало полмира без того, чтобы Микрософт приложило к тому свою руку.
... << RSDN@Home 1.1.4 beta 3 rev. 185>> ... <<Winamp is playing "мт — android nesto">> ...


dmitriid.comGitHubLinkedIn
Re[5]: Проект R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.11.04 19:32
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Желаю, чтобы о вас узнало полмира без того, чтобы Микрософт приложило к тому свою руку.


Да я согласен и на МС.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Проект R#
От: Mamut Швеция http://dmitriid.com
Дата: 02.11.04 19:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Mamut, Вы писали:


M>>Желаю, чтобы о вас узнало полмира без того, чтобы Микрософт приложило к тому свою руку.


VD>Да я согласен и на МС.


В смысле если купит разработку за энную сумму с большим количеством нулей

Тогда
... << RSDN@Home 1.1.4 beta 3 rev. 185>> ... <<Winamp is playing "Depeche Mode — Insight">> ...


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.