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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexey Mahotkin                      2:5020/400     15 Apr 2004  12:10:41
 To : Sergey Ermakov
 Subject : Re: Парсинг "формулы"
 -------------------------------------------------------------------------------- 
 
 >>>>> "SE" == Sergey Ermakov <Sergey.Ermakov@f3123.n5020.z2.fidonet.org> writes:
 
  SE> я Подскажите, чем можно пропарсить такую конструкцию?..
 
  SE>      (a + b) * (c + d)
 
  SE>      Требуется получить:
 
  SE>      a * c + a * d + b * c + b * d
 
  SE> ############################################### # Исключение скобок
  SE> sub rem_scope { my $d=shift; print ">>> $d:\n" if $debug; #if
  SE> ($d=~/\(.+\)/) my (%scopes,$i); while ($d=~/\(.+\)/) { $i++; my
  SE> ($s)=$d=~/\((.+?)\)/; my $x="X".$i; $scopes{$x}=$s;
  SE> $d=~s/\((.+?)\)/$x/; };
 
  SE>  foreach my $s (keys %scopes) { while($d=~/$s/) { print "$s ($d): " if
  SE> $debug; my @summ=split(/\s*\+\s*/,$scopes{$s}); my
  SE> ($before)=$d=~/([^\+]+?)$s/; my ($after)=$d=~/$s([^\+]+)/;
  SE> $d=~s/([^\+\(\)]*?)$s([^\+\(\)]*)/xx/;
 
  SE>       foreach (@summ) { $_=$before.$_ if $before; $_.=$after if
  SE> $after;
  SE>                       }
 
  SE>       my $rez=join(" + ",@summ); $d=~s/xx/$rez/; print " $before<-
  SE> ->$after | $rez = $d\n" if $debug; }; }; return($d);
  SE> }
 
 С таким стилем программирования ты далеко не уедешь.
 
 Попробуй сначала запрограммировать задачу на лиспе.  Потом, когда станет
 понятно, перенеси на перл (ну или вызывай интерпретатор непосредственно).
 
 --alexm
 --- ifmail v.2.15dev5.3
  * Origin: tyranny (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Парсинг "формулы"   Sergey Ermakov   15 Apr 2004 00:30:26 
 Re: Парсинг "формулы"   Alexey Mahotkin   15 Apr 2004 12:10:41 
 Re: Парсинг "формулы"   Ivan Frolcov   15 Apr 2004 12:28:25 
 Re: Парсинг "формулы"   Artem Chuprina   15 Apr 2004 13:05:08 
 Re: Парсинг "формулы"   Alexey Mahotkin   16 Apr 2004 09:29:49 
 Re: Парсинг "формулы"   …. Љ®ў «м   19 Apr 2004 17:07:07 
 Re: Парсинг "формулы"   Artem Chuprina   19 Apr 2004 18:14:05 
 Re: Парсинг "формулы"   …. Љ®ў «м   19 Apr 2004 18:16:42 
 Re: Парсинг "формулы"   Artem Chuprina   19 Apr 2004 19:46:50 
 Re: Парсинг "формулы"   Ivan Frolkov   19 Apr 2004 21:55:43 
 Re: Парсинг "формулы"   Serge Chervjakov   19 Apr 2004 23:23:15 
 Re: Парсинг "формулы"   Alexey Mahotkin   19 Apr 2004 23:34:35 
 Re: Парсинг "формулы"   Ivan Frolcov   20 Apr 2004 11:56:14 
 Re: Парсинг "формулы"   Alexander Onokhov   21 Apr 2004 15:15:18 
 Re: Парсинг "формулы"   Ivan Frolcov   21 Apr 2004 16:15:02 
 Re: Парсинг "формулы"   …. Љ®ў «м   20 Apr 2004 09:23:25 
 Re: Парсинг "формулы"   Artem Chuprina   20 Apr 2004 12:10:46 
 Re: Парсинг "формулы"   …. Љ®ў «м   20 Apr 2004 12:37:56 
 Re: Парсинг "формулы"   Artem Chuprina   20 Apr 2004 16:31:02 
 Парсинг "формулы"   Kirill Joss   21 Apr 2004 19:54:08 
 Re: Парсинг "формулы"   Alexey Mahotkin   19 Apr 2004 23:34:35 
 Re: Парсинг "формулы"   Ivan Frolcov   20 Apr 2004 11:46:53 
 Re: Парсинг "формулы"   Alexey Mahotkin   15 Apr 2004 23:36:57 
 Re: Парсинг "формулы"   Ivan Frolcov   16 Apr 2004 11:19:29 
 Re: Парсинг "формулы"   Alexey Mahotkin   17 Apr 2004 00:20:28 
 Парсинг "формулы"   Sergey Ermakov   16 Apr 2004 19:09:24 
 Re: =?koi8-r?b?8MHS08nOxyAixs/SzdXM2SI=?=   Yuri Kostylev   21 Apr 2004 21:55:22 
 Парсинг "формулы"   Sergey Ermakov   16 Apr 2004 19:06:34 
 Re: Парсинг "формулы"   Alexey Mahotkin   17 Apr 2004 15:19:10 
 Re: =?koi8-r?b?8MHS08nOxyAixs/SzdXM2SI=?=   Yuri Kostylev   21 Apr 2004 22:08:17 
 Парсинг "формулы"   Bulat Ziganshin   15 Apr 2004 13:47:40 
 Парсинг "формулы"   Sergey Ermakov   16 Apr 2004 19:13:04 
 Re: Парсинг "формулы"   Andrei Protasovitski   17 Apr 2004 12:39:30 
 Парсинг "формулы"   Alexander Kostiuchenko   19 Apr 2004 02:12:51 
 Re: Парсинг "формулы"   Anatoly Moskovsky   19 Apr 2004 16:55:43 
Архивное /ru.perl/38657f241156.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional