Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Ruslan Kosolapov                     2:5020/400     06 Aug 2004  01:47:01
 To : All
 Subject : Parse::RecDescent vs. recursive rule
 -------------------------------------------------------------------------------- 
 
 
   Hадеюсь, не очень оффтопик...
 
   Имею вот что:
 
 use Parse::RecDescent;
 
 #grammar for string
 my $string = q {
     start : block(s)
     block : char '*'
       { foreach (0 .. int(rand(255))) { print $item[1] } }
      char : '.'
             { chr(int(rand(127)) + 127) }
             | /./
       { $item[1] }
 
 };
 
 my $parser = Parse::RecDescent->new($string);
 $parser->start(".*");       
   Что хочу получить - по строке .* должно генериться не случайное
   количество однажды случайно сгенерированной буквы, а случайное
   количество случайных букв, то есть на каждом проходе { foreach (0
   .. int(rand(255))) ...}  должен генериться новый символ.
 
   По-русски говоря, при обработке правила char * нужно сформировать
   строку из случайного количества char, и лишь потом уже пропарсить эту
   строку в соответствие с определением char (сорри за возможно
   неправильную терминологию).  Вот как написать обработку char *, чтобы
   работало так, как мне надо?
   Может я сам додумаюсь, но пока не получается.  
 
   perldoc Parse::RecDescent читал, и если там про это говорится, то либо
   я не понял, либо пропустил.  Скорее первое, поэтому и спрашиваю здесь.
 
 -- 
 =[ В принципе, для футболистов, футбол - дело привычное.
 =[                  -- футбол на ОРТ
 --- ifmail v.2.15dev5.3
  * Origin: SWSoft Novosibirsk, QA Department Second Manager (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Parse::RecDescent vs. recursive rule   Ruslan Kosolapov   06 Aug 2004 01:47:01 
Архивное /ru.perl/11997f280e5b9.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional