Информация об изменениях

Сообщение Re[4]: Парсер Пратта? от 23.04.2016 16:23

Изменено 23.04.2016 16:24 AndrewVK

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

Ну вот давай на примере сабжа:

S>На сейчас CodeJam — это набор компонентов, которых _не_хватает_ фреймворку.


В фреймворке, очевидно, проблема парсинга арифметики никак не решена.

S> Т.е. если что-то добавляется — оно

S>* решает проблему до конца, а не оставляет заготовку "обработать напильником".

До конца невозможно решить почти никакую проблему. Возьми почти любой блок функционала что есть уже сейчас — всегда найдется что добавить.
Я, может, не очень ясно выразился. Предлагается:
1) Готовый алгоритм парсинга Пратта.
2) Для него — готовый наборчик для лексического анализа базовых вещей, необходимых для арифметики: операторы, целые, дробные числа, строковые константы, вызов функций.
3) Готовый базовый сценарий парсинга и вычисления арифметического выражения.
4) Возможно, еще готовый компилятор арифметики.

Что здесь оставляет ощущение "обработать напильником"? Можно, конечно, п. 1 и 2 сделать приватными, чтобы оно уж совсем вещью в себе было, но мне оно не кажется необходимым.

S>* по уровню качества держит планку самого фреймворка.


А кто тут предлагал плохое качество?

S>* не вызывает вопросов "что оно здесь вообще делает?"


Субъективно, однако.

S>Я такую внутреннюю библиотеку поддерживал, вышла фигня. И весь код до уровня отлично не дотянешь, и даже сохранить планку не получается. Тяжело объяснить, почему какой-то код надо вылизать до блеска, если в половине классов в проекте вообще конь не валялся.


С вылизыванием все просто. Если есть сомнения — отправляем в experimental. Парсер командной строки, к примеру, до сих пор там, потому что в качестве, да и вообще в нужности его я не уверен.

AVK>>Ну и по поводу вписываемости. Чем, к примеру, по вписываемости парсер CSV отличается от парсера арифметических выражений, сможешь сформулировать?

S>Ну вот их я туда же бы перекинул, кстати. И DisjointSets тоже.

DisjointSets уже там. А парсер CSV просило много народа, поэтому я считаю что он должен юыть в основной части уже сейчас. Если есть какие то вопросы по его качеству — пиши.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Re[4]: Парсер Пратта?
Здравствуйте, Sinix, Вы писали:

Ну вот давай на примере сабжа:

S>На сейчас CodeJam — это набор компонентов, которых _не_хватает_ фреймворку.


В фреймворке, очевидно, проблема парсинга арифметики никак не решена.

S> Т.е. если что-то добавляется — оно

S>* решает проблему до конца, а не оставляет заготовку "обработать напильником".

До конца невозможно решить почти никакую проблему. Возьми почти любой блок функционала что есть уже сейчас — всегда найдется что добавить.
Я, может, не очень ясно выразился. Предлагается:
1) Готовый алгоритм парсинга Пратта.
2) Для него — готовый наборчик для лексического анализа базовых вещей, необходимых для арифметики: операторы, целые, дробные числа, строковые константы, вызов функций.
3) Готовый базовый сценарий парсинга и вычисления арифметического выражения.
4) Возможно, еще готовый компилятор арифметики.

Что здесь оставляет ощущение "обработать напильником"? Можно, конечно, п. 1 и 2 сделать приватными, чтобы оно уж совсем вещью в себе было, но мне оно не кажется необходимым.

S>* по уровню качества держит планку самого фреймворка.


А кто тут предлагал плохое качество?

S>* не вызывает вопросов "что оно здесь вообще делает?"


Субъективно, однако.

S>Я такую внутреннюю библиотеку поддерживал, вышла фигня. И весь код до уровня отлично не дотянешь, и даже сохранить планку не получается. Тяжело объяснить, почему какой-то код надо вылизать до блеска, если в половине классов в проекте вообще конь не валялся.


С вылизыванием все просто. Если есть сомнения — отправляем в experimental. Парсер командной строки, к примеру, до сих пор там, потому что в качестве, да и вообще в нужности его я не уверен.

AVK>>Ну и по поводу вписываемости. Чем, к примеру, по вписываемости парсер CSV отличается от парсера арифметических выражений, сможешь сформулировать?

S>Ну вот их я туда же бы перекинул, кстати. И DisjointSets тоже.

DisjointSets уже в experimental. А парсер CSV просило много народа, поэтому я считаю что он должен юыть в основной части уже сейчас. Если есть какие то вопросы по его качеству — пиши.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>