richter     01/03/06 07:36:12

  Modified:    .        Tag: Embperl2c Embperl.xs
               Embperl  Tag: Embperl2c Syntax.pm
  Added:       .        Tag: Embperl2c Syntax.xs
  Log:
  Embperl 2 - multiple syntaxes
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.29.4.8  +2 -0      embperl/Embperl.xs
  
  Index: Embperl.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.xs,v
  retrieving revision 1.29.4.7
  retrieving revision 1.29.4.8
  diff -u -r1.29.4.7 -r1.29.4.8
  --- Embperl.xs        2000/12/19 09:11:02     1.29.4.7
  +++ Embperl.xs        2001/03/06 15:36:10     1.29.4.8
  @@ -685,6 +685,8 @@
   
   INCLUDE: DOM.xs
   
  +INCLUDE: Syntax.xs
  +
   #endif
   
   # Reste Module, so we get the correct boot function
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +24 -0     embperl/Attic/Syntax.xs
  
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.4.19  +63 -1     embperl/Embperl/Attic/Syntax.pm
  
  Index: Syntax.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
  retrieving revision 1.1.4.18
  retrieving revision 1.1.4.19
  diff -u -r1.1.4.18 -r1.1.4.19
  --- Syntax.pm 2001/03/06 12:33:43     1.1.4.18
  +++ Syntax.pm 2001/03/06 15:36:11     1.1.4.19
  @@ -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.18 2001/03/06 12:33:43 richter Exp $
  +#   $Id: Syntax.pm,v 1.1.4.19 2001/03/06 15:36:11 richter Exp $
   #
   ###################################################################################
    
  @@ -119,6 +119,68 @@
           } 
       }
   
  +# ---------------------------------------------------------------------------------
  +#
  +#   Get root
  +#
  +# ---------------------------------------------------------------------------------
  +
  +
  +sub GetRoot
  +
  +    {
  +    my ($self) = @_ ;
  +    
  +    return $self -> {-root} ;
  +    }
  +
  +
  +# ---------------------------------------------------------------------------------
  +#
  +#   Get/create named syntax
  +#
  +# ---------------------------------------------------------------------------------
  +
  +
  +sub GetSyntax
  +
  +    {
  +    my ($name) = @_ ;
  +
  +    my @names = map { /::/?$_:'HTML::Embperl::Syntax::'. $_ } split (/\s/, $name) ;
  +    my $name = join (' ', @names) ;
  +
  +    return undef if (!$name) ;
  +    return $Syntax{$name} if (exists ($Syntax{$name})) ;
  +
  +    foreach (@names)
  +        {
  +        eval "require $_" ;
  +        warn $@ ;
  +        return undef if ($@) ;
  +        }
  +
  +    my $first = shift @names ;
  +
  +    my $self = $first -> new ;
  +
  +    foreach (@names)
  +        {
  +        &{"$_::new"}($self) ;
  +        }
  +
  +    return $Syntax{$name} = BuildTokenTable ($self -> GetRoot) ;
  +    }
  +
  +
  +
  +
  +
  +###################################################################################
  +#
  +#   Definitions for documents
  +#
  +###################################################################################
   
   
   
  
  
  

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

Reply via email to