richter 00/10/30 13:07:37
Modified: . Tag: Embperl2c epcomp.c epdat.h epmain.c test.pl
eg/images Tag: Embperl2c jazzbkgd.gif
test/cmp Tag: Embperl2c binary.htm
Log:
Embperl 2
Revision Changes Path
No revision
No revision
1.4.2.12 +33 -35 embperl/Attic/epcomp.c
Index: epcomp.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epcomp.c,v
retrieving revision 1.4.2.11
retrieving revision 1.4.2.12
diff -u -r1.4.2.11 -r1.4.2.12
--- epcomp.c 2000/10/26 06:35:58 1.4.2.11
+++ epcomp.c 2000/10/30 21:07:27 1.4.2.12
@@ -41,11 +41,7 @@
typedef struct tEmbperlCmd tEmbperlCmd ;
-char * * pProg = NULL ;
-char * pProgRun = NULL ;
-char * pProgDef = NULL ;
-int nLabelCnt ;
tStringIndex nMaxEmbperlCmd ;
struct tEmbperlCmd * pEmbperlCmds ;
@@ -850,15 +846,15 @@
{
int l2 = sprintf (buf, "#line %d \"", pNode -> nLinenumber) ;
- StringAdd (pProg, buf, l2) ;
- StringAdd (pProg, sSourcefile, nSourcefile) ;
- StringAdd (pProg, "\"\n", 2) ;
+ StringAdd (r -> pProg, buf, l2) ;
+ StringAdd (r -> pProg, sSourcefile, nSourcefile) ;
+ StringAdd (r -> pProg, "\"\n", 2) ;
}
if (pCmd -> bPerlCodeRemove)
- *nStartCodeOffset = StringAdd (pProg, " ", 1) ;
- StringAdd (pProg, pCode, l) ;
- StringAdd (pProg, "\n", 1) ;
+ *nStartCodeOffset = StringAdd (r -> pProg, " ", 1) ;
+ StringAdd (r -> pProg, pCode, l) ;
+ StringAdd (r -> pProg, "\n", 1) ;
if (pCurrReq -> bDebug & dbgParse)
lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Code: %*.*s\n",
pCurrReq -> nPid, pNode -> xNdx, pNode -> nLinenumber, l, l, pCode) ;
}
@@ -915,7 +911,7 @@
if (nCheckpointCodeOffset && (pNode -> bFlags == 0 || (pNode -> bFlags &
nflgIgnore)))
{
- (*pProg)[nCheckpointCodeOffset] = '#' ;
+ (*r -> pProg)[nCheckpointCodeOffset] = '#' ;
if (pCurrReq -> bDebug & dbgParse)
lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Remove Checkpoint\n", pCurrReq ->
nPid, pNode -> xNdx, pNode -> nLinenumber) ;
nCheckpointCodeOffset = 0 ;
@@ -930,7 +926,7 @@
pNode -> bFlags |= nflgCheckpoint ;
//l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n",
*bCheckpointPending<0?pNode -> xNdx:*bCheckpointPending) ;
l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", pNode -> xNdx) ;
- nCheckpointCodeOffset = StringAdd (pProg, buf, l) ;
+ nCheckpointCodeOffset = StringAdd (r -> pProg, buf, l) ;
*bCheckpointPending = 0 ;
if (pCurrReq -> bDebug & dbgParse)
@@ -1012,8 +1008,8 @@
int l = ArrayGetSize (pCode) ;
if (l)
{
- StringAdd (pProg, pCode, l) ;
- StringAdd (pProg, "\n", 1) ;
+ StringAdd (r -> pProg, pCode, l) ;
+ StringAdd (r -> pProg, "\n", 1) ;
if (pCurrReq -> bDebug & dbgParse)
lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Codeend: %*.*s\n",
pCurrReq -> nPid, pNode -> xNdx, pNode -> nLinenumber, l, l, pCode) ;
}
@@ -1023,7 +1019,7 @@
{
if (pCmd -> bPerlCodeRemove && nStartCodeOffset)
{
- (*pProg)[nStartCodeOffset] = '#' ;
+ (*r -> pProg)[nStartCodeOffset] = '#' ;
if (pCurrReq -> bDebug & dbgParse)
lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Remove Codeblock\n",
pCurrReq -> nPid, pNode -> xNdx, pNode -> nLinenumber) ;
}
@@ -1054,7 +1050,7 @@
if (pCmd -> nSwitchCodeType == 1)
{
- pProg = &pProgRun ;
+ r -> pProg = &r -> pProgRun ;
*bCheckpointPending = -1 ;
if (pCurrReq -> bDebug & dbgParse)
lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Set Checkpoint pending (switch
to ProgRun)\n", pCurrReq -> nPid, pNode -> xNdx, pNode -> nLinenumber) ;
@@ -1125,7 +1121,7 @@
pNode -> bFlags |= nflgCheckpoint ;
//l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n",
*bCheckpointPending<0?pNode -> xNdx:*bCheckpointPending) ;
l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", pNode -> xNdx) ;
- nCheckpointCodeOffset = StringAdd (pProg, buf, l) ;
+ nCheckpointCodeOffset = StringAdd (r -> pProg, buf, l) ;
*bCheckpointPending = 0 ;
if (pCurrReq -> bDebug & dbgParse)
@@ -1135,7 +1131,7 @@
if (pCmd && pCmd -> nSwitchCodeType == 2)
{
- pProg = &pProgDef ;
+ r -> pProg = &r -> pProgDef ;
nCheckpointCodeOffset = 0 ;
}
@@ -1264,12 +1260,14 @@
return ok ;
}
- StringNew (&pProgRun, r -> Buf.pFile -> nFilesize / 4) ;
- StringNew (&pProgDef, r -> Buf.pFile -> nFilesize / 4) ;
- pProg = &pProgRun ;
+ r -> pProgRun = NULL ;
+ r -> pProgDef = NULL ;
+ StringNew (&r -> pProgRun, r -> Buf.pFile -> nFilesize / 4) ;
+ StringNew (&r -> pProgDef, r -> Buf.pFile -> nFilesize / 4) ;
+ r -> pProg = &r -> pProgRun ;
+
pDomTree -> pSV = (SV *)newHV () ;
- nLabelCnt = 1 ;
if ((rc = embperl_CompileDomTree (r, pProcessor, pDomTree)) != ok)
{
@@ -1283,8 +1281,8 @@
r -> xCurrDomTree = 0 ;
}
*/
- StringFree (&pProgRun) ;
- StringFree (&pProgDef) ;
+ StringFree (&r -> pProgRun) ;
+ StringFree (&r -> pProgDef) ;
return rc ;
}
@@ -1292,18 +1290,18 @@
SvREFCNT_dec (pDomTree -> pSV) ;
pDomTree -> pSV = NULL ;
- StringAdd (&pProgRun, "", 1) ;
- StringAdd (&pProgDef, "", 1) ;
+ StringAdd (&r -> pProgRun, "", 1) ;
+ StringAdd (&r -> pProgDef, "", 1) ;
cl2 = clock () ;
r -> nPhase = phRunAfterCompile ;
- l = ArrayGetSize (pProgDef) ;
+ l = ArrayGetSize (r -> pProgDef) ;
if (l && pCurrReq -> bDebug & dbgParse)
- lprintf (r, "[%d]EPCOMP: AfterCompileTimeCode: %*.*s\n", r -> nPid, l, l,
pProgDef) ;
+ lprintf (r, "[%d]EPCOMP: AfterCompileTimeCode: %*.*s\n", r -> nPid, l, l, r
-> pProgDef) ;
- pSV = newSVpvf("package %s ; \nmy ($_ep_req, $ep_DomTree) = @_;\n%*.*s", r ->
Buf.sEvalPackage, l,l, pProgDef) ;
+ pSV = newSVpvf("package %s ; \nmy ($_ep_req, $ep_DomTree) = @_;\n%*.*s", r ->
Buf.sEvalPackage, l,l, r -> pProgDef) ;
args[0] = r -> pReqSV ;
args[1] = pDomTree -> pDomTreeSV ;
if ((rc = EvalDirect (r, pSV, 2, args)) != ok)
@@ -1314,7 +1312,7 @@
r -> nPhase = phPerlCompile ;
- if ((rc = EvalOnly (r, pProgRun, ppCompResult, G_SCALAR, "")) != ok)
+ if ((rc = EvalOnly (r, r -> pProgRun, ppCompResult, G_SCALAR, "")) != ok)
return rc ;
cl4 = clock () ;
@@ -1329,8 +1327,8 @@
}
#endif
- StringFree (&pProgRun) ;
- StringFree (&pProgDef) ;
+ StringFree (&r -> pProgRun) ;
+ StringFree (&r -> pProgDef) ;
return ok ;
}
@@ -1469,11 +1467,11 @@
if (sSubName)
{
SV * pSVName = newSVpvf ("%s::%s", r -> Buf.sEvalPackage, sSubName) ;
- rc = CallStoredCV (r, pProgRun, (CV *)pSVName, 1, args, 0, &pSV) ;
+ rc = CallStoredCV (r, r -> pProgRun, (CV *)pSVName, 1, args, 0, &pSV) ;
}
else
{
- rc = CallStoredCV (r, pProgRun, (CV *)pCV, 1, args, 0, &pSV) ;
+ rc = CallStoredCV (r, r -> pProgRun, (CV *)pCV, 1, args, 0, &pSV) ;
if (pSV)
SvREFCNT_dec (pSV) ;
}
@@ -1695,7 +1693,7 @@
pProcessor = pProcessor -> pNext ;
}
- if (!r -> bError)
+ if (!r -> bError && !r -> pImportStash)
{
pProcessor = pFirstProcessor ;
1.20.4.7 +9 -0 embperl/epdat.h
Index: epdat.h
===================================================================
RCS file: /home/cvs/embperl/epdat.h,v
retrieving revision 1.20.4.6
retrieving revision 1.20.4.7
diff -u -r1.20.4.6 -r1.20.4.7
--- epdat.h 2000/10/25 08:08:18 1.20.4.6
+++ epdat.h 2000/10/30 21:07:28 1.20.4.7
@@ -464,6 +464,15 @@
char op_mask_buf[MAXO + 100]; /* save buffer for opcode mask - maxo shouldn't
differ from MAXO but leave room anyway (see BOOT:) */
HV * pImportStash ; /* stash for package, where new macros should be
imported */
+
+#ifdef EP2
+
+ char * * pProg ; /* pointer into currently compiled code */
+ char * pProgRun ; /* pointer into currently compiled run code */
+ char * pProgDef ; /* pointer into currently compiled define code */
+
+#endif
+
} ;
1.75.4.8 +1 -1 embperl/epmain.c
Index: epmain.c
===================================================================
RCS file: /home/cvs/embperl/epmain.c,v
retrieving revision 1.75.4.7
retrieving revision 1.75.4.8
diff -u -r1.75.4.7 -r1.75.4.8
--- epmain.c 2000/10/25 08:08:18 1.75.4.7
+++ epmain.c 2000/10/30 21:07:28 1.75.4.8
@@ -2754,7 +2754,7 @@
}
else
{
- if (!bError)
+ if (!bError && !r -> pImportStash)
{
tDomTree * pDomTree = DomTree_self (r -> xCurrDomTree) ;
Node_replaceChildWithNode (pDomTree, pDomTree -> xDocument,
DomTree_self (l -> xCurrDomTree), l -> xCurrNode) ;
1.70.4.13 +1 -218 embperl/test.pl
Index: test.pl
===================================================================
RCS file: /home/cvs/embperl/test.pl,v
retrieving revision 1.70.4.12
retrieving revision 1.70.4.13
diff -u -r1.70.4.12 -r1.70.4.13
--- test.pl 2000/10/26 07:32:52 1.70.4.12
+++ test.pl 2000/10/30 21:07:29 1.70.4.13
@@ -194,7 +194,7 @@
'repeat' => 2,
},
'importsub.htm' => {
- 'version' => 1,
+# 'version' => 1,
'repeat' => 2,
},
'importsub2.htm' => {
@@ -419,223 +419,6 @@
}
-=pod
-@tests = (
- 'ascii',
- 'pure.htm',
- 'plain.htm',
- 'plain.htm',
- 'plain.htm',
- 'plainblock.htm',
- 'plainblock.htm',
- 'error.htm???8',
- 'error.htm???8',
- 'error.htm???8',
- 'unclosed.htm???1',
-# 'errorright.htm???1',
- 'notfound.htm???1',
- 'notallow.xhtm???1',
- 'noerr/noerrpage.htm???8?2',
- 'errdoc/errdoc.htm???8?262144',
- 'errdoc/epl/errdoc2.htm???8?262144',
- 'rawinput/rawinput.htm????16',
- 'var.htm',
- 'varerr.htm???-1',
- 'varerr.htm???2',
- 'escape.htm',
- 'escape.htm',
- 'spaces.htm',
- 'tagscan.htm',
- 'tagscan.htm??1',
- 'if.htm',
- 'ifperl.htm',
-
'loop.htm?erstes=Hallo&zweites=Leer+zeichen&drittes=%21%22%23%2a%2B&erstes=Wert2',
- 'loopperl.htm?erstes=Hallo&zweites=Leer+zeichen&drittes=%21%22%23&erstes=Wert2',
- 'table.htm',
- 'table.htm??1',
- 'lists.htm?sel=2&SEL1=B&SEL3=D&SEL4=cc',
- 'mix.htm',
- 'nesting.htm',
- 'object.htm???2',
- 'discard.htm???12',
-
'input.htm?feld5=Wert5&feld6=Wert6&feld7=Wert7&feld8=Wert8&cb5=cbv5&cb6=cbv6&cb7=cbv7&cb8=cbv8&cb9=ncbv9&cb10=ncbv10&cb11=ncbv11&mult=Wert3&mult=Wert6&esc=a<b&escmult=a>b&escmult=Wert3',
- 'hidden.htm?feld1=Wert1&feld2=Wert2&feld3=Wert3&feld4=Wert4',
- 'java.htm',
- 'inputjava.htm',
- 'post.htm',
- 'upload.htm?multval=A&multval=B&multval=C&single=S',
- 'reqrec.htm',
- 'reqrec.htm',
- 'include.htm',
- 'includeerr1.htm???1',
- 'includeerr2.htm???4',
- 'registry/Execute.htm',
- 'registry/errpage.htm???16',
- 'registry/tied.htm???3',
- 'registry/tied.htm???3',
-# 'registry/subreq2.htm',
- 'callsub.htm',
- 'callsub.htm',
- 'importsub.htm',
- 'importsub.htm',
- 'importsub2.htm',
- 'importmodule.htm',
- 'recursexec.htm',
- 'nph/div.htm????64',
- 'nph/npherr.htm???8?64',
- 'nph/nphinc.htm????64',
- 'sub.htm',
- 'sub.htm',
- 'exit.htm',
- 'exit2.htm',
- 'exit3.htm',
- 'chdir.htm?a=1&b=2&c=&d=&f=5&g&h=7&=8&=',
- 'chdir.htm?a=1&b=2&c=&d=&f=5&g&h=7&=8&=',
- 'allform/allform.htm?a=1&b=2&c=&d=&f=5&g&h=7&=8&=???8192',
- 'stdout/stdout.htm????16384',
- 'nochdir/nochdir.htm?a=1&b=2???384',
- 'match/div.htm',
- 'match/div.asc',
- 'http.htm',
- 'div.htm',
- 'taint.htm???1',
- 'ofunc/div.htm',
- 'safe/safe.htm???-1?4',
- 'safe/safe.htm???-1?4',
- 'safe/safe.htm???-1?4',
- 'opmask/opmask.htm???-1?12?TEST',
- 'opmask/opmasktrap.htm???2?12?TEST',
- 'mdatsess.htm?cnt=0',
- 'setsess.htm?a=1',
- 'mdatsess.htm?cnt=1',
- 'getnosess.htm?nocookie=2',
- 'mdatsess.htm?cnt=2',
- 'getsess.htm',
- 'mdatsess.htm?cnt=3',
- 'execgetsess.htm',
- 'registry/reggetsess.htm',
- 'getsess.htm',
- 'delsess.htm',
- 'getdelsess.htm',
- 'clearsess.htm',
- 'EmbperlObject/epopage1.htm',
- 'EmbperlObject/epodiv.htm',
- 'EmbperlObject/sub/epopage2.htm',
- 'EmbperlObject/sub/epopage2.htm',
- 'EmbperlObject/sub/eponotfound.htm',
- 'EmbperlObject/obj/epoobj1.htm',
- 'EmbperlObject/obj/epoobj2.htm',
- 'EmbperlObject/obj/epoobj3.htm',
- 'EmbperlObject/obj/epoobj4.htm',
- 'EmbperlObject/base2/epostopdir.htm',
- 'EmbperlObject/base3/epobaselib.htm',
- ) ;
-
-@tests2 = (
- 'ascii',
-# 'tmp/header.htm',
- 'pure.htm',
-## 'plainlong.htm',
-## 'plainlong.htm',
-## 'plainlong.htm',
-## 'plainlong.htm',
- 'plain.htm',
- 'plain.htm',
- 'plain.htm',
- 'plainblock.htm',
- 'plainblock.htm',
- 'error.htm???7',
- 'error.htm???7',
- 'error.htm???7',
- 'errormismatch.htm???1',
- 'errormismatchcmd.htm???1',
- 'unclosed.htm???1',
-# 'errorright.htm???1',
- 'notfound.htm???1',
- 'notallow.xhtm???1',
-## 'noerr/noerrpage.htm???6?2',
-## 'errdoc/errdoc.htm???8?262144',
-## 'rawinput/rawinput.htm????16',
- 'var.htm',
- 'varerr.htm???-1',
-## 'varerr.htm???2',
- 'escape.htm',
- 'escape.htm',
-## 'spaces.htm',
- 'tagscan.htm',
- 'tagscan.htm??1',
- 'if.htm',
- 'ifperl.htm',
-
'loop.htm?erstes=Hallo&zweites=Leer+zeichen&drittes=%21%22%23%2a%2B&erstes=Wert2',
-
'loop.htm?erstes=Hallo&zweites=Leer+zeichen&drittes=%21%22%23%2a%2B&erstes=Wert2',
- 'loopperl.htm?erstes=Hallo&zweites=Leer+zeichen&drittes=%21%22%23&erstes=Wert2',
- 'table.htm',
- 'table.htm??1',
- 'lists.htm?sel=2&SEL1=B&SEL3=D&SEL4=cc',
- 'lists.htm?sel=2&SEL1=B&SEL3=D&SEL4=cc',
- 'mix.htm',
-## 'nesting.htm',
- 'object.htm',
-## 'discard.htm???12',
-
'input.htm?feld5=Wert5&feld6=Wert6&feld7=Wert7&feld8=Wert8&cb5=cbv5&cb6=cbv6&cb7=cbv7&cb8=cbv8&cb9=ncbv9&cb10=ncbv10&cb11=ncbv11&mult=Wert3&mult=Wert6&esc=a<b&escmult=a>b&escmult=Wert3',
- 'hidden.htm?feld1=Wert1&feld2=Wert2&feld3=Wert3&feld4=Wert4',
- 'java.htm',
- 'inputjava.htm',
- 'post.htm',
- 'upload.htm?multval=A&multval=B&multval=C&single=S',
- 'reqrec.htm',
- 'reqrec.htm',
- 'rawinput/include.htm????16',
- 'includeerr1.htm???1',
- 'includeerr2.htm???1',
- 'registry/Execute.htm',
-## 'registry/errpage.htm???16',
- 'registry/tied.htm???3',
- 'registry/tied.htm???3',
-## 'callsub.htm',
-## 'callsub.htm',
-## 'importsub.htm',
-## 'importsub.htm',
-## 'importsub2.htm',
-## 'importmodule.htm',
-## 'recursexec.htm',
- 'nph/div.htm????64',
-## 'nph/npherr.htm???8?64',
- 'nph/nphinc.htm????64',
- 'sub.htm',
- 'sub.htm',
-## 'exit.htm',
-## 'exit2.htm',
-## 'exit3.htm',
- 'chdir.htm?a=1&b=2&c=&d=&f=5&g&h=7&=8&=',
- 'chdir.htm?a=1&b=2&c=&d=&f=5&g&h=7&=8&=',
- 'allform/allform.htm?a=1&b=2&c=&d=&f=5&g&h=7&=8&=???8192',
-## 'stdout/stdout.htm????16384',
- 'nochdir/nochdir.htm?a=1&b=2???384',
- 'match/div.htm',
- 'match/div.asc',
-## 'http.htm',
- 'div.htm',
- 'taint.htm???1',
- 'ofunc/div.htm',
-## 'safe/safe.htm???-1?4',
-## 'safe/safe.htm???-1?4',
-## 'safe/safe.htm???-1?4',
-## 'opmask/opmask.htm???-1?12?TEST',
-## 'opmask/opmasktrap.htm???2?12?TEST',
- 'mdatsess.htm?cnt=0',
- 'setsess.htm?a=1',
- 'mdatsess.htm?cnt=1',
- 'getnosess.htm?nocookie=2',
- 'mdatsess.htm?cnt=2',
- 'getsess.htm',
- 'mdatsess.htm?cnt=3',
- 'execgetsess.htm',
- 'clearsess.htm',
- 'EmbperlObject/epopage1.htm',
-## 'EmbperlObject/sub/epopage2.htm',
- ) ;
-=cut
# avoid some warnings:
No revision
No revision
1.1.2.1.6.1 +1 -16 embperl/eg/images/jazzbkgd.gif
<<Binary file>>
No revision
No revision
1.1.2.2 +1 -2 embperl/test/cmp/binary.htm
<<Binary file>>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]