[PEG] Фич реквест
От: Ka3a4oK  
Дата: 04.05.11 06:38
Оценка:
Было бы клево, если бы генерировался исходник с заглушками функций — обработчиков правил, которые бы возвращали значение по умолчанию. При этом не просто генерировался, а "подхавтывался" бы старый исходник, т.е. если мы уже начали модифицировать функции, то они не удалялись бы.
Re: [PEG] Фич реквест
От: Ziaw Россия  
Дата: 04.05.11 06:39
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

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


Реквест к IDE?
Re[2]: [PEG] Фич реквест
От: Ka3a4oK  
Дата: 04.05.11 06:43
Оценка:
Здравствуйте, Ziaw, Вы писали:

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


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


Z>Реквест к IDE?


Не совсем. Генерируется же сейчас сам парсер. Точно так же макрос мог бы генерировать еще один исходник. Частичные классы тут как нельзя кстати.
Re[3]: [PEG] Фич реквест
От: catbert  
Дата: 04.05.11 07:03
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>Не совсем. Генерируется же сейчас сам парсер. Точно так же макрос мог бы генерировать еще один исходник. Частичные классы тут как нельзя кстати.


Частичные методы — возможно но их нету в Nemerle.
Re[4]: [PEG] Фич реквест
От: Ka3a4oK  
Дата: 04.05.11 07:42
Оценка:
Здравствуйте, catbert, Вы писали:

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


KK>>Не совсем. Генерируется же сейчас сам парсер. Точно так же макрос мог бы генерировать еще один исходник. Частичные классы тут как нельзя кстати.


C>Частичные методы — возможно но их нету в Nemerle.


Нет, я имел в виду частичные классы. Т.е. в одном файле мы описываем грамматику, а макрос в другом файле генерирует обработчики правил.
Re[5]: [PEG] Фич реквест
От: catbert  
Дата: 04.05.11 08:02
Оценка: +1
Здравствуйте, Ka3a4oK, Вы писали:

KK>Нет, я имел в виду частичные классы. Т.е. в одном файле мы описываем грамматику, а макрос в другом файле генерирует обработчики правил.


Макрос не имеет доступа к IDE, поэтому не может подключать файлы к проекту. То есть тут необходимо менять интеграцию. Кроме того, придется писать нетривиальный код, который замечает изменения в в методах, и их не трогает (и не ясно, что делать, если сигнатура сгенерированного метода будет отличаться от сигнатуры измененного вручную).

Все это для чего? Чтобы можно было скомпилировать бесполезную грамматику?

Я думал, вы имеете в виду просто генерировать в парсере не написанные пользователем методы, которые возвращают default(T). Это требует меньших затрат, и возможно стоит затрат на реализацию.
Re: [PEG] Фич реквест
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.05.11 10:56
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

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


Тебе выдается сообщение в котором есть полная сигнатура. Копируй ее и помещай в нужное место.

Макросы не могут взаимодействовать с IDE. А стало быть не могут добавлять файлы в проект или код в файлы. Кроме того это привело бы к замусориванию проектов.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [PEG] Фич реквест
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.05.11 10:57
Оценка:
Здравствуйте, catbert, Вы писали:

C>Частичные методы — возможно но их нету в Nemerle.


1. http://www.rsdn.ru/forum/nemerle/4258502.1.aspx
Автор: VladD2
Дата: 04.05.11

2. Частичные методы в шарпе не могут возвращать ничего кроме void, так что они тут бесполезны.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.