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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Sergey Ermakov                       2:5020/3123    15 Apr 2004  00:30:26
 To : All
 Subject : Парсинг "формулы"
 -------------------------------------------------------------------------------- 
 
      Подскажите, чем можно пропарсить такую конструкцию?..
 
      (a + b) * (c + d)
 
      Требуется получить:
 
      a * c + a * d + b * c + b * d
 
      В общем случае может быть и такое:
      a + b * (c + d) + (e + f) * g + h
 
      Для b*(c+d) и (e+f)*g я парсинг написал, но вот для двух скобок...
      Hо ведь есть и готовое?..
 
 ###############################################
 # Исключение скобок
 sub rem_scope
 {
  my $d=shift;
  print ">>> $d:\n" if $debug;
 #if ($d=~/\(.+\)/)
  my (%scopes,$i);
  while ($d=~/\(.+\)/)
     {
       $i++;
       my ($s)=$d=~/\((.+?)\)/;
       my $x="X".$i;
       $scopes{$x}=$s;
       $d=~s/\((.+?)\)/$x/;
     };
 
  foreach my $s (keys %scopes)
     {
      while($d=~/$s/)
      {
       print "$s ($d): " if $debug;
       my @summ=split(/\s*\+\s*/,$scopes{$s});
       my ($before)=$d=~/([^\+]+?)$s/;
       my ($after)=$d=~/$s([^\+]+)/;
       $d=~s/([^\+\(\)]*?)$s([^\+\(\)]*)/xx/;
 
       foreach (@summ) {
                           $_=$before.$_ if $before;
                           $_.=$after if $after;
                       }
 
       my $rez=join(" + ",@summ);
       $d=~s/xx/$rez/;
       print " $before<-  ->$after | $rez = $d\n" if $debug;
      };
     };
  return($d);
 }
 ... trust no one..                  [find my ICQ!] [ermakov@library.madi.ru]
 --- pwrd_by GoldED/MMX ъ -=[ _Spa(eNeЕ_ ]=- ъ welcome to our society! ъ
  * Origin: The dihydrogenmonooxydenation planet.. (2:5020/3123)
 
 

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

 Тема:    Автор:    Дата:  
 Парсинг "формулы"   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/2739407dad90.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional