parallel-p / please

Open-source cross-platform tool for creating and editing contest problems for programming contests (such as ACM ICPC, IOI, etc.)
9 stars 0 forks source link

Multilanguage statement support #39

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Если в задаче есть условия на разных 
языках, это невозможно указать в конфиге. 
Видимо надо разрешить несколько тегов 
statement?

Original issue reported on code.google.com by gurovic@gmail.com on 7 Aug 2011 at 4:39

GoogleCodeExporter commented 9 years ago
я думаю, что эо решиться, когда у нас 
появится несколько пакетов с задачами. мне 
кажется, проще сделать еще один конфиг для 
задачи на английском. Минус в том, что 
многое продублируется, зато конфиг не 
будет перегружен. К тому же сейчас у нас 
совсем не поддерживается использование 
чего-либо кроме дефолтного состояния 
конфига.
Я не понимаю как удобно сделать, чтобы в 
консоле бралось не дефолтное условие, а 
английское. придется при каждое команде 
его указывать.

Либо поддержать это только в build all и build 
statement.

Но потом мы захотим два набора тестов по 
разным тэгам в одном конфиге. Два набора 
чекеров и т. д.

Я бы пока придерживался парадигме по 
конфигу на каждый инстанс задачи. Если 
меняется условие, то добавляется еще один 
конфиг.

Может быть имеет смысл поддержать 
наследование всех параметров дефолтного 
конфига с переопределением некоторых 
параметров. ЧТобы не было дублирования. Но 
сейчас в конфиге мало всего и я старался бы 
это сохранить и не парится, что конфигов 
несколько.

Original comment by VitalyGoldstein@gmail.com on 7 Aug 2011 at 6:18

GoogleCodeExporter commented 9 years ago
чем плохо прописать в конфиге доступные 
языки, и генерировать всевозможные 
варианты, или сделать как опцию во всех 
связанных командах для каких языков 
генерить условия?

я, наверное, не очень понял, что имеется в 
виду.

Original comment by dubo...@gmail.com on 7 Aug 2011 at 2:11

GoogleCodeExporter commented 9 years ago

Original comment by VitalyGoldstein@gmail.com on 4 Jan 2012 at 4:41

GoogleCodeExporter commented 9 years ago
...А еще хочется заодно поддерживать и 
несколько русских условий, например. Т.е. 
вот беру я задачу из параллели B, хочу ее 
дать в параллели A', но хочу переписать 
легенду. В идеале я хочу иметь возможность 
работать с той же копией задачи в 
репозитории (чтобы если я нашел багу в 
тестах, то параллель B заметила бы это), но 
хочу создать новый вариант русского 
условия.

Original comment by Petr.Kal...@gmail.com on 10 Jan 2012 at 1:06

GoogleCodeExporter commented 9 years ago
У меня как-то раз была проблема, что при 
изменении легенды менялось и короткое имя 
задачи (newyear → initiation, если я правильно 
помню).

Original comment by Burunduk3 on 10 Jan 2012 at 1:21

GoogleCodeExporter commented 9 years ago
Да, но, казалось бы, это поддержать не 
проблема, особенно с (потрясающей, на мой 
взгляд) возможность прописывать имена 
входных/выходных файлов для решений по 
отдельности. 

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

В общем, тут я полностью поддерживаю 
Виталика в его комменте 1.

Original comment by Petr.Kal...@gmail.com on 10 Jan 2012 at 1:27

GoogleCodeExporter commented 9 years ago
укажи в конфиге другое условие

Original comment by gurovic@gmail.com on 10 Jan 2012 at 2:25

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
В смысле, создай новый конфиг, и там 
пропиши? (Чтобы этой задачей можно было 
параллельно пользоваться в обоих 
вариантах.) Да, я с таким ответом согласен. 
Мой комментарий --- это скорее возражение 
против генерации всех существующих 
условий сразу.

Original comment by Petr.Kal...@gmail.com on 10 Jan 2012 at 3:00

GoogleCodeExporter commented 9 years ago
Мне в этом варианте не нравится, что кроме 
используемого условия в конфиге 
дублируется куча информации. И что-то 
менять (например, добавить решение), если 
условие в задаче есть на пяти языках, — это 
финиш. Хочу наследование конфигов.

Original comment by Burunduk3 on 10 Jan 2012 at 3:44

GoogleCodeExporter commented 9 years ago
Хм... Да, согласен. Хотя сложно понять, как 
это делать. Например, если я в каком-нибудь 
конфиге по каким-то причинам захочу 
изменить параметры решения.

Вообще, это вопрос того, что мы считаем 
разными конфигами. Например, если у меня 
есть несколько наборов тестов (easy и hard, 
например) — это считать разными конфигами? 
(Кстати, правда ли, что в конфиге не 
указывается скрипт генерации тестов?) Или 
это считать разными задачами?

Можно, например, взять по определению, что 
если вариант задачи требует изменения 
решения, то это уже не вариант задачи, а 
новая задача. После этого считать, что 
решения во всех конфигах наследуются из 
главного (или вообще описываются где-то 
еще), а все остальное дублируется. Или 
поподробнее придумать, что должно 
дублироваться и при необходимости 
исправляться в каждом конфиге, а что может 
может существовать только в главном 
конфиге.

Original comment by Petr.Kal...@gmail.com on 10 Jan 2012 at 3:52