|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ruslan Kosolapov 2:5020/400 04 Aug 2004 21:21:21 To : Justin Finch-Fletchley Subject : Re: Генеpация стpоки по pегексу -------------------------------------------------------------------------------- ==[ Justin -> Ruslan: RK>>> посмотрел, но не особо понял, как это применять (отсутствие RK>>> образования даёт о себе знать ;) ). Может есть хорошие примеры? RK>>> yacc я не знаю, и вообще с грамматиками имел дело только во время RK>>> обучения. perl тоже знаю плохо (но это не особо большая проблема). RK>>> Доки я, конечно, почитаю, но если кто-нибудь расскажет общие RK>>> принципы, то это будет не лишне. RK>> Это, уже разобрался по этому вопросу. Сейчас не хватает примеров RK>> именно описаний грамматик - что-то у меня мозгам тяжело... RK>> Hо наверное не для этой эхи. JF> Hу в общем я так понял, генерация должна производится по JF> шаблону... Причем не важно, что шаблон будет регэкспом... Hу так JF> задай шаблон не регэкспом, а куском кода, генерирующим нужную тебе JF> строку и выполняй этот код по eval... если такое конечно не JF> противоречит никаким безопасностям и т.д. в твоем JF> случае... Конечно, кусок кода это чуть по объемнее регэкспа, но я JF> тебя уверяю, составить его будет не намного сложнее (если вообще JF> сложнее) чем регэксп. Это решение не подходит как по безопасности (запросы посылаются на сервер, который раздаёт ответы, и не могут быть куском кода), так и по удобству - гораздо проще написать [A-Z], чем chr(int(rand(ord('Z')-(ord('A')))+ord('A'))). Hаглядность имеет большое значение, так как в некоторых случаях необходимо обеспечить возможность получить сгенерированную строку не только по заранее написанным шаблонам, но и по произвольному. Да и просто удобнее именно через Parse::RecDescent. Красотища получается :) От идеи регекспов я уже отказался - на моей задаче удобнее использовать свой язык описаний, что-нибудь типа tex, наверное. Хотя надо ещё литературы почитать по этому поводу, в этой области у меня скорее интуитивные знания, чем систематизированные. -- =[ Почему в конце денег остаётся ещё так много месяца? =[ -- grey, 2003 --- ifmail v.2.15dev5.3 * Origin: SWSoft Novosibirsk, QA Department Second Manager (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/119972a41ae29.html, оценка из 5, голосов 10
|