richter     01/05/02 07:35:27

  Modified:    .        Tag: Embperl2c epparse.c test.pl
               Embperl  Tag: Embperl2c Syntax.pm
               Embperl/Syntax Tag: Embperl2c RTF.pm
  Log:
  Embperl 2 - RTF syntax cont
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.4.2.20  +2 -1      embperl/Attic/epparse.c
  
  Index: epparse.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epparse.c,v
  retrieving revision 1.4.2.19
  retrieving revision 1.4.2.20
  diff -u -r1.4.2.19 -r1.4.2.20
  --- epparse.c 2001/05/02 12:14:14     1.4.2.19
  +++ epparse.c 2001/05/02 14:35:16     1.4.2.20
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epparse.c,v 1.4.2.19 2001/05/02 12:14:14 richter Exp $
  +#   $Id: epparse.c,v 1.4.2.20 2001/05/02 14:35:16 richter Exp $
   #
   
###################################################################################*/
   
  @@ -241,6 +241,7 @@
       if (ppCompilerInfo == NULL)
        ppCompilerInfo = &pTokenTable -> pCompilerInfo ;
   
  +    hv_store(pTokenHash, "--cptr", sizeof ("--cptr") - 1, newSViv 
((IV)pTokenTable), 0) ;
   
       numTokens = 1 ;
       hv_iterinit (pTokenHash) ;
  
  
  
  1.70.4.51 +8 -1      embperl/test.pl
  
  Index: test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/test.pl,v
  retrieving revision 1.70.4.50
  retrieving revision 1.70.4.51
  diff -u -r1.70.4.50 -r1.70.4.51
  --- test.pl   2001/05/02 11:54:45     1.70.4.50
  +++ test.pl   2001/05/02 14:35:17     1.70.4.51
  @@ -11,14 +11,17 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: test.pl,v 1.70.4.50 2001/05/02 11:54:45 richter Exp $
  +#   $Id: test.pl,v 1.70.4.51 2001/05/02 14:35:17 richter Exp $
   #
   ###################################################################################
   
   # Before `make install' is performed this script should be runnable with
   # `make test'. After `make install' it should work as `perl test.pl'
   
  +use HTML::Embperl::Syntax::RTF ;
   
  +my $s = HTML::Embperl::Syntax::RTF -> new ;
  +
   # version =>
   # errors  =>
   # query_string =>
  @@ -569,6 +572,10 @@
       'syntax.htm' => { 
           'version'    => 2,
           'repeat'     => 2,
  +        },
  +    'rtf/rtfbasic.asc' => { 
  +        'version'    => 2,
  +        'syntax'     => 'RTF',
           },
   ) ;
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.4.33  +12 -3     embperl/Embperl/Attic/Syntax.pm
  
  Index: Syntax.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
  retrieving revision 1.1.4.32
  retrieving revision 1.1.4.33
  diff -u -r1.1.4.32 -r1.1.4.33
  --- Syntax.pm 2001/05/02 12:14:14     1.1.4.32
  +++ Syntax.pm 2001/05/02 14:35:22     1.1.4.33
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Syntax.pm,v 1.1.4.32 2001/05/02 12:14:14 richter Exp $
  +#   $Id: Syntax.pm,v 1.1.4.33 2001/05/02 14:35:22 richter Exp $
   #
   ###################################################################################
    
  @@ -253,12 +253,14 @@
   
   sub CloneHash
       {
  -    my ($self, $old, $replace) = @_ ;
  +    my ($self, $old, $replace, $seen) = @_ ;
   
   
       my $new = {} ;
       $replace ||= {} ;    
       my ($v, $k) ;
  +    my $seen ||= {$old => $new} ;
  +    
   
       while (($k, $v) = each (%$old))
           {
  @@ -270,7 +272,14 @@
               {
               if (ref ($v) eq 'HASH')
                   {
  -                $new -> {$k} = $self -> CloneHash ($v, $replace) ;
  +                if ($seen -> {$v})
  +                    {
  +                    $new -> {$k} = $seen -> {$v} ;
  +                    }
  +                else
  +                    {
  +                    $seen -> {$v} = $new -> {$k} = $self -> CloneHash ($v, 
$replace, $seen) ;
  +                    }
                   }
               elsif (ref ($v) eq 'ARRAY')
                   {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +9 -9      embperl/Embperl/Syntax/Attic/RTF.pm
  
  Index: RTF.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/RTF.pm,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- RTF.pm    2001/04/09 06:26:30     1.1.2.1
  +++ RTF.pm    2001/05/02 14:35:25     1.1.2.2
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: RTF.pm,v 1.1.2.1 2001/04/09 06:26:30 richter Exp $
  +#   $Id: RTF.pm,v 1.1.2.2 2001/05/02 14:35:25 richter Exp $
   #
   ###################################################################################
    
  @@ -19,6 +19,7 @@
   package HTML::Embperl::Syntax::RTF ;
   
   use HTML::Embperl::Syntax (':types') ;
  +use HTML::Embperl::Syntax::EmbperlBlocks ;
   
   use strict ;
   use vars qw{@ISA %Block %FieldStart %CmdStart} ;
  @@ -53,7 +54,7 @@
   
        $self -> AddToRoot ($self -> {-rtfBlocks}) ;
   
  -     $self -> {-rtfCmds} = $self -> {-rtfBlocks}{'RTF Field'}{'follow'}{'RTF 
FieldStart'}{'include'}{'RTF Blocks'}{'follow'} ;
  +     $self -> {-rtfCmds} = $self -> {-rtfBlocks}{'RTF field'}{'follow'}{'RTF 
fieldstart'}{'inside'}{'RTF block'}{'follow'}  ;
        Init ($self) ;
           }
   
  @@ -72,8 +73,7 @@
       {
       my ($self, $cmdname, $procinfo, $taginfo) = @_ ;
   
  -    die "'$tagtype' unknown" if (!($ttref = $self -> {-rtfCmds}{$tagtype})) ;
  -    my $ttfollow = $self -> {-rtfBlocks} ;
  +    my $ttfollow = $self -> {-rtfCmds} ;
   
       my $tag = $ttfollow -> {$cmdname} = { 
                                   'text'      => $cmdname,
  @@ -290,7 +290,7 @@
        'text'     => '{',
        'end'      => '}',
        'unescape' => 1,
  -     'follow'  => \%Block,
  +     'follow'  => {},
           },
       ) ;
   
  @@ -298,17 +298,17 @@
   
   %FieldStart = (
       '-lsearch' => 1,
  -    'RTF block'    => {
  +    'RTF block inside'    => {
        'text'     => '{',
        'end'      => '}',
        'unescape' => 1,
  -     'include'  => \%Block,
  +     'inside'  => \%Block,
           },
       'RTF fieldstart' => {
        'text'     => '{\*\fldinst',
        'end'      => '}',
        'unescape' => 1,
  -     'include'  => \%CmdStart,
  +     'inside'  => \%CmdStart,
           },
       ) ;
   
  @@ -320,7 +320,7 @@
        'text' => '{',
        'end'  => '}',
        'unescape' => 1,
  -     'include' => \%Block,
  +     'inside' => \%Block,
           },
       'RTF field' => {
        'text' => '{\field',
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to