richter 01/03/17 14:20:55
Modified: . Tag: Embperl2c MANIFEST MANIFEST.2 test.pl
Embperl Tag: Embperl2c Syntax.pm
Embperl/Syntax Tag: Embperl2c Embperl.pm EmbperlBlocks.pm
HTML.pm SSI.pm
test/conf Tag: Embperl2c httpd.conf.src
test/html/SSI Tag: Embperl2c ssibasic.htm
Added: Embperl/Syntax Tag: Embperl2c Text.pm
test/cmp Tag: Embperl2c inctext.htm ssibasic.htm ssiep.htm
test/html Tag: Embperl2c inctext.htm
test/html/SSI Tag: Embperl2c ssiinc.htm
test/html/SSIEP Tag: Embperl2c ssiep.htm
Log:
- Embperl 2 - SSI syntax & Text syntax
Revision Changes Path
No revision
No revision
1.50.4.13 +8 -0 embperl/MANIFEST
Index: MANIFEST
===================================================================
RCS file: /home/cvs/embperl/MANIFEST,v
retrieving revision 1.50.4.12
retrieving revision 1.50.4.13
diff -u -r1.50.4.12 -r1.50.4.13
--- MANIFEST 2001/02/27 07:42:26 1.50.4.12
+++ MANIFEST 2001/03/17 22:20:51 1.50.4.13
@@ -9,6 +9,7 @@
Embperl/Syntax/EmbperlHTML.pm
Embperl/Syntax/EmbperlBlocks.pm
Embperl/Syntax/Embperl.pm
+Embperl/Syntax/SSI.pm
README.v2
test/cmp2/errdoc2.htm
test/cmp2/error.htm
@@ -35,13 +36,20 @@
test/html/executesub.htm
test/html/subexec.htm
test/html/incif.htm
+test/html/SSI/ssibase.htm
+test/html/SSI/ssiinc.htm
+test/html/SSIEP/ssiep.htm
test/cmp/incif.htm
test/cmp/executesub.htm
+test/cmp/ssibase.htm
+test/cmp/ssiinc.htm
+test/cmp/ssiep.htm
Changes.pod
Embperl.pm
Embperl.xs
Cmd.xs
DOM.xs
+Syntax.xs
EmbperlObject.pm
MANIFEST
Makefile.PL
1.1.2.7 +11 -0 embperl/Attic/MANIFEST.2
Index: MANIFEST.2
===================================================================
RCS file: /home/cvs/embperl/Attic/MANIFEST.2,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -r1.1.2.6 -r1.1.2.7
--- MANIFEST.2 2000/12/21 09:37:50 1.1.2.6
+++ MANIFEST.2 2001/03/17 22:20:51 1.1.2.7
@@ -5,6 +5,11 @@
epcmd2.c
ep2.h
Embperl/Syntax.pm
+Embperl/Syntax/HTML.pm
+Embperl/Syntax/EmbperlHTML.pm
+Embperl/Syntax/EmbperlBlocks.pm
+Embperl/Syntax/Embperl.pm
+Embperl/Syntax/SSI.pm
README.v2
test/cmp2/errdoc2.htm
test/cmp2/error.htm
@@ -31,5 +36,11 @@
test/html/executesub.htm
test/html/subexec.htm
test/html/incif.htm
+test/html/SSI/ssibase.htm
+test/html/SSI/ssiinc.htm
+test/html/SSIEP/ssiep.htm
test/cmp/incif.htm
test/cmp/executesub.htm
+test/cmp/ssibase.htm
+test/cmp/ssiinc.htm
+test/cmp/ssiep.htm
1.70.4.31 +9 -5 embperl/test.pl
Index: test.pl
===================================================================
RCS file: /home/cvs/embperl/test.pl,v
retrieving revision 1.70.4.30
retrieving revision 1.70.4.31
diff -u -r1.70.4.30 -r1.70.4.31
--- test.pl 2001/03/07 20:43:24 1.70.4.30
+++ test.pl 2001/03/17 22:20:51 1.70.4.31
@@ -2,13 +2,10 @@
# 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 ;
-use HTML::Embperl::Syntax::SSI ;
+#my $syn = HTML::Embperl::Syntax::GetSyntax ('Text') ;
-
-$syn = HTML::Embperl::Syntax::SSI -> new ;
-
-
@testdata = (
'ascii' => { },
'pure.htm' => { },
@@ -466,6 +463,13 @@
'SSI/ssibasic.htm' => {
'version' => 2,
'syntax' => 'SSI',
+ },
+ 'SSIEP/ssiep.htm' => {
+ 'version' => 2,
+ 'syntax' => 'Embperl SSI',
+ },
+ 'inctext.htm' => {
+ 'version' => 2,
},
) ;
No revision
No revision
1.1.4.23 +5 -3 embperl/Embperl/Attic/Syntax.pm
Index: Syntax.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
retrieving revision 1.1.4.22
retrieving revision 1.1.4.23
diff -u -r1.1.4.22 -r1.1.4.23
--- Syntax.pm 2001/03/16 13:48:38 1.1.4.22
+++ Syntax.pm 2001/03/17 22:20:52 1.1.4.23
@@ -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.22 2001/03/16 13:48:38 richter Exp $
+# $Id: Syntax.pm,v 1.1.4.23 2001/03/17 22:20:52 richter Exp $
#
###################################################################################
@@ -87,7 +87,7 @@
if (!ref $class)
{
$self = {
- -root => { %DocumentRoot},
+ -root => $class -> CloneHash (\%DocumentRoot) ,
-procinfotype => 'embperl',
} ;
@@ -193,7 +193,9 @@
foreach (@names)
{
- &{"$_::new"}($self) ;
+no strict ;
+ &{"${_}::new"}($self) ;
+use strict ;
}
BuildTokenTable ($self) ;
No revision
No revision
1.1.2.3 +2 -5 embperl/Embperl/Syntax/Attic/Embperl.pm
Index: Embperl.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/Embperl.pm,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- Embperl.pm 2001/03/03 14:45:57 1.1.2.2
+++ Embperl.pm 2001/03/17 22:20:52 1.1.2.3
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Embperl.pm,v 1.1.2.2 2001/03/03 14:45:57 richter Exp $
+# $Id: Embperl.pm,v 1.1.2.3 2001/03/17 22:20:52 richter Exp $
#
###################################################################################
@@ -41,12 +41,9 @@
{
my $class = shift ;
-
+
my $self = HTML::Embperl::Syntax::EmbperlBlocks::new ($class) ;
HTML::Embperl::Syntax::EmbperlHTML::new ($self) ;
-
- #HTML::Embperl::Syntax::EmbperlBlocks::Init ($self) ;
- #HTML::Embperl::Syntax::EmbperlHTML::Init ($self) ;
return $self ;
}
1.1.2.8 +2 -4 embperl/Embperl/Syntax/Attic/EmbperlBlocks.pm
Index: EmbperlBlocks.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/EmbperlBlocks.pm,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- EmbperlBlocks.pm 2001/03/07 14:23:48 1.1.2.7
+++ EmbperlBlocks.pm 2001/03/17 22:20:52 1.1.2.8
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlBlocks.pm,v 1.1.2.7 2001/03/07 14:23:48 richter Exp $
+# $Id: EmbperlBlocks.pm,v 1.1.2.8 2001/03/17 22:20:52 richter Exp $
#
###################################################################################
@@ -45,11 +45,9 @@
{
my $self = shift ;
- my $firsttime = !ref ($self) || !$self -> {-root}{'Embperl meta command'} ;
-
$self = HTML::Embperl::Syntax::new ($self) ;
- if ($firsttime)
+ if (!$self -> {-epbBlocks})
{
$self -> {-epbBlocks} = $self -> CloneHash ({ %Blocks, %BlocksOutput })
;
$self -> {-epbBlocksLink} = $self -> CloneHash ({ %Blocks,
%BlocksOutputLink }, { 'unescape' => 2 }) ;
1.1.2.8 +2 -4 embperl/Embperl/Syntax/Attic/HTML.pm
Index: HTML.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/HTML.pm,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- HTML.pm 2001/03/07 14:23:49 1.1.2.7
+++ HTML.pm 2001/03/17 22:20:52 1.1.2.8
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: HTML.pm,v 1.1.2.7 2001/03/07 14:23:49 richter Exp $
+# $Id: HTML.pm,v 1.1.2.8 2001/03/17 22:20:52 richter Exp $
#
###################################################################################
@@ -44,11 +44,9 @@
{
my $self = shift ;
- my $firsttime = !ref ($self) || !$self -> {-root}{'HTML Tag'} ;
-
$self = HTML::Embperl::Syntax::new ($self) ;
- if ($firsttime)
+ if (!$self -> {-htmlAssignAttr})
{
$self -> {-htmlAssignAttr} = $self -> CloneHash (\%AssignAttr) ;
$self -> {-htmlAssignAttrLink} = $self -> CloneHash (\%AssignAttr) ;
1.1.2.6 +82 -17 embperl/Embperl/Syntax/Attic/SSI.pm
Index: SSI.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/SSI.pm,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- SSI.pm 2001/03/16 13:48:39 1.1.2.5
+++ SSI.pm 2001/03/17 22:20:52 1.1.2.6
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: SSI.pm,v 1.1.2.5 2001/03/16 13:48:39 richter Exp $
+# $Id: SSI.pm,v 1.1.2.6 2001/03/17 22:20:52 richter Exp $
#
###################################################################################
@@ -20,8 +20,11 @@
use HTML::Embperl::Syntax::HTML ;
use Apache::Constants qw(:common OPT_INCNOEXEC);
use File::Basename;
-use POSIX qw{};
+BEGIN {
+ local $^W = 0 ;
+ require POSIX ;
+ } ;
use strict ;
use vars qw{@ISA $apreq $epreq} ;
@@ -49,7 +52,11 @@
my $self = HTML::Embperl::Syntax::HTML::new ($class) ;
- Init ($self) ;
+ if (!$self -> {-ssiInit})
+ {
+ $self -> {-ssiInit} = 1 ;
+ Init ($self) ;
+ }
return $self ;
}
@@ -67,7 +74,7 @@
{
my ($self) = @_ ;
- $self -> AddInitCode (undef, 'HTML::Embperl::Syntax::SSI::InitSSI();', undef) ;
+ $self -> AddInitCode (undef, 'HTML::Embperl::Syntax::SSI::InitSSI($_[0],
$req_rec);', undef) ;
$self -> AddComment ('#echo', ['var', 'encoding'], undef, undef, { perlcode =>
'_ep_rp(%$x%, $ENV{%&*\'var%}) ;' } ) ;
$self -> AddComment ('#printenv', undef, undef, undef, { perlcode =>
'_ep_rp(%$x%, join ("\\\\<br\\\\>\n", map { "$_ = $ENV{$_}" } keys %ENV)) ;' } ) ;
@@ -103,20 +110,34 @@
removenode => 1
} ) ;
$self -> AddComment ('#if', ['expr'], undef, undef,
- { perlcode => 'if (%&\'expr%) { ',
- removenode => 1
+ { perlcode => 'if
(HTML::Embperl::Syntax::SSI::InterpretVars (%&\'expr%)) { ',
+ removenode => 10,
+ mayjump => 1,
+ stackname => 'ssicmd',
+ 'push' => 'if',
} ) ;
$self -> AddComment ('#elif', ['expr'], undef, undef,
- { perlcode => '} elsif (%&\'expr%) { ',
- removenode => 1
+ { perlcode => '} elsif
(HTML::Embperl::Syntax::SSI::InterpretVars (%&\'expr%)) { ',
+ removenode => 10,
+ mayjump => 1,
+ stackname => 'ssicmd',
+ stackmatch => 'if',
+ 'push' => 'if',
} ) ;
$self -> AddComment ('#else', undef, undef, undef,
{ perlcode => '} else {',
- removenode => 1
+ removenode => 10,
+ mayjump => 1,
+ stackname => 'ssicmd',
+ stackmatch => 'if',
+ 'push' => 'if',
} ) ;
$self -> AddComment ('#endif', undef, undef, undef,
{ perlcode => '} ;',
- removenode => 1
+ removenode => 10,
+ mayjump => 1,
+ stackname => 'ssicmd',
+ stackmatch => 'if',
} ) ;
}
@@ -142,9 +163,9 @@
$ENV{DATE_GMT} = gmtime ;
$ENV{DATE_LOCAL} = localtime ;
- $ENV{DOCUMENT_NAME} = $fn = $epreq -> ReqFilename ;
+ $ENV{DOCUMENT_NAME} = $fn = basename ($epreq -> Sourcefile) ;
$ENV{DOCUMENT_URI} = $apreq?$apreq -> uri:'' ;
- $ENV{LAST_MODIFIED} = format_time('', (stat (find_file($fn, $virt)))[9])
+ $ENV{LAST_MODIFIED} = format_time('', (stat ($fn))[9])
}
@@ -179,7 +200,7 @@
{
return $fn if ($fn) ;
die "Cannot use 'virtual' without mod_perl" if ($virt) ;
- return $ENV{PATH_TRANSLATED} ;
+ return $ENV{DOCUMENT_NAME} ;
}
if ($fn)
@@ -194,7 +215,7 @@
}
else
{
- return $epreq -> ReqFilename ;
+ return $ENV{DOCUMENT_NAME} ;
}
}
@@ -285,6 +306,7 @@
my $file = find_file($fn, $virt) ;
local $/ = undef ;
+ local $HTML::Embperl::escmode = 0 ;
open FH, "<$file" or die "Cannot open $file ($!)" ;
my $val = <FH> ;
@@ -344,14 +366,57 @@
__END__
-
=pod
+
+=head1 NAME
+
+SSI syntax module for Embperl - under construction
+
+=head1 SYNOPSIS
+
+DATE_GMT: <!-- #echo var='DATE_GMT' -->
+DATE_LOCAL: <!-- #echo var='DATE_LOCAL' -->
+DOCUMENT_NAME: <!-- #echo var='DOCUMENT_NAME' -->
+DOCUMENT_URI: <!-- #echo var='DOCUMENT_URI' -->
+LAST_MODIFIED: <!-- #echo var='LAST_MODIFIED' -->
+
+
+=head1 DESCRIPTION
+
+
+=over 4
+
+=item * config
+
+=item * echo
+
+=item * exec
+
+=item * fsize
+
+=item * flastmod
+
+=item * include
+
+=item * printenv
+
+=item * set
+
+=item * if
+
+=item * elif
+
+=item * else
+
+=item * endif
-SSI Syntax for Embperl
+=back
-Ideas and parts of the code are taken from Apache::SSI
+=head1 Author
+Gerald Richter <[EMAIL PROTECTED]>
+Some ideas and parts of the code are taken from Apache::SSI by Ken Williams.
=cut
No revision
No revision
1.1.2.1 +80 -0 embperl/Embperl/Syntax/Attic/Text.pm
No revision
No revision
1.1.2.1 +47 -0 embperl/test/cmp/Attic/inctext.htm
1.1.2.1 +92 -0 embperl/test/cmp/Attic/ssibasic.htm
1.1.2.1 +39 -0 embperl/test/cmp/Attic/ssiep.htm
No revision
No revision
1.24.4.10 +4 -1 embperl/test/conf/httpd.conf.src
Index: httpd.conf.src
===================================================================
RCS file: /home/cvs/embperl/test/conf/httpd.conf.src,v
retrieving revision 1.24.4.9
retrieving revision 1.24.4.10
diff -u -r1.24.4.9 -r1.24.4.10
--- httpd.conf.src 2001/03/07 14:23:56 1.24.4.9
+++ httpd.conf.src 2001/03/17 22:20:54 1.24.4.10
@@ -358,10 +358,13 @@
</Location>
-<Location /SSI>
+<Location /SSI/>
PerlSetEnv EMBPERL_SYNTAX SSI
</Location>
+<Location /SSIEP/>
+PerlSetEnv EMBPERL_SYNTAX "Embperl SSI"
+</Location>
<Location /eg>
SetHandler perl-script
No revision
No revision
1.1.2.1 +18 -0 embperl/test/html/Attic/inctext.htm
No revision
No revision
1.1.2.3 +23 -8 embperl/test/html/SSI/Attic/ssibasic.htm
Index: ssibasic.htm
===================================================================
RCS file: /home/cvs/embperl/test/html/SSI/Attic/ssibasic.htm,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- ssibasic.htm 2001/03/16 13:48:39 1.1.2.2
+++ ssibasic.htm 2001/03/17 22:20:55 1.1.2.3
@@ -33,24 +33,34 @@
EPSSITEST 6: <!-- #echo var='EPSSITEST' -->
+DATE_GMT: <!-- #echo var='DATE_GMT' -->
+DATE_LOCAL: <!-- #echo var='DATE_LOCAL' -->
+DOCUMENT_NAME: <!-- #echo var='DOCUMENT_NAME' -->
+DOCUMENT_URI: <!-- #echo var='DOCUMENT_URI' -->
+LAST_MODIFIED: <!-- #echo var='LAST_MODIFIED' -->
+
sizefmt=bytes
<!--#config sizefmt=bytes -->
fsize self: <!--#fsize -->
-fsize file plain.htm <!--#fsize file="ssiinc.htm" -->
-fsize virtual plain.htm <!--#fsize file="ssiinc.htm" -->
+fsize file ssiinc.htm <!--#fsize file="ssiinc.htm" -->
+fsize virtual ssiinc.htm <!--#fsize file="ssiinc.htm" -->
flastmod self: <!--#flastmod -->
-flastmod file plain.htm <!--#flastmod file="ssiinc.htm" -->
-flastmod virtual plain.htm <!--#flastmod file="ssiinc.htm" -->
+flastmod file ssiinc.htm <!--#flastmod file="ssiinc.htm" -->
+flastmod virtual ssiinc.htm <!--#flastmod file="ssiinc.htm" -->
sizefmt=abbrev
<!--#config sizefmt=abbrev -->
+<!--#config timefmt="%H:%M:%S %Y" -->
fsize self: <!--#fsize -->
-fsize file plain.htm <!--#fsize file="ssiinc.htm" -->
-fsize virtual plain.htm <!--#fsize file="ssiinc.htm" -->
+fsize file ssiinc.htm <!--#fsize file="ssiinc.htm" -->
+fsize virtual ssiinc.htm <!--#fsize file="ssiinc.htm" -->
+flastmod self: <!--#flastmod -->
+flastmod file ssiinc.htm <!--#flastmod file="ssiinc.htm" -->
+flastmod virtual ssiinc.htm <!--#flastmod file="ssiinc.htm" -->
--INCLUDE-->
@@ -58,8 +68,6 @@
<--INCLUDE--
-printenv:
-<!--#printenv -->
if 1
<!--#if expr="1" -->
@@ -90,7 +98,14 @@
<!--#endif-->
+Some Embperl command that should _not_ executed here:
+
+[- hallo -] [+ foo +]
+
+
</body>
+</html>
+
No revision
No revision
1.1.2.1 +1 -0 embperl/test/html/SSI/Attic/ssiinc.htm
No revision
No revision
1.1.2.1 +31 -0 embperl/test/html/SSIEP/Attic/ssiep.htm
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]