richter 01/02/25 14:04:44
Modified: . Tag: Embperl2c ep2.h epcomp.c epparse.c
Embperl/Syntax Tag: Embperl2c EmbperlBlocks.pm
Log:
Embperl 2 - multiple syntaxes
Revision Changes Path
No revision
No revision
1.1.2.8 +0 -2 embperl/Attic/ep2.h
Index: ep2.h
===================================================================
RCS file: /home/cvs/embperl/Attic/ep2.h,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- ep2.h 2001/02/23 19:40:25 1.1.2.7
+++ ep2.h 2001/02/25 22:04:42 1.1.2.8
@@ -58,8 +58,6 @@
/* ---- from epcomp.c ----- */
-int embperl_CompileInit (void) ;
-
int embperl_CompileInitItem (/*i/o*/ register req * r,
/*in*/ HV * pHash,
/*in*/ int nNodeName,
1.4.2.35 +4 -4 embperl/Attic/epcomp.c
Index: epcomp.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epcomp.c,v
retrieving revision 1.4.2.34
retrieving revision 1.4.2.35
diff -u -r1.4.2.34 -r1.4.2.35
--- epcomp.c 2001/02/23 06:49:49 1.4.2.34
+++ epcomp.c 2001/02/25 22:04:42 1.4.2.35
@@ -59,7 +59,7 @@
/* ------------------------------------------------------------------------ */
-int embperl_CompileInit (/*out*/ tEmbperlCompilerInfo * * ppInfo)
+static int embperl_CompileInit (/*out*/ tEmbperlCompilerInfo * * ppInfo)
{
tEmbperlCompilerInfo * pInfo = malloc (sizeof (tEmbperlCompilerInfo)) ;
@@ -221,7 +221,7 @@
pInfo -> pEmbperlCmds[nNodeName].bPerlCodeRemove |= pCmd -> bPerlCodeRemove ;
if (pCmd -> nSwitchCodeType)
pInfo -> pEmbperlCmds[nNodeName].nSwitchCodeType = pCmd -> nSwitchCodeType ;
- if (pCmd -> sMayJump && !pEmbperlCmds[nNodeName].sMayJump)
+ if (pCmd -> sMayJump && !pInfo -> pEmbperlCmds[nNodeName].sMayJump)
pInfo -> pEmbperlCmds[nNodeName].sMayJump = pCmd -> sMayJump ;
if (r -> bDebug & dbgParse)
@@ -1144,7 +1144,7 @@
int nAttr = 0 ;
int nStartCodeOffset = 0 ;
int nCheckpointCodeOffset = 0 ;
- tEmbperlCompilerInfo * pInfo = (tEmbperlCompilerInfo *)(r -> pTokenTable ->
pCompilerInfo) ;
+ tEmbperlCompilerInfo * pInfo = (tEmbperlCompilerInfo *)(*(void * *)r ->
pTokenTable) ;
if (pCurrReq -> bDebug & dbgParse)
@@ -1157,7 +1157,7 @@
if (nNdx <= pInfo -> nMaxEmbperlCmd)
{
- pCmd = pCmdHead = &pInfo -> EmbperlCmds[nNdx] ;
+ pCmd = pCmdHead = &(pInfo -> pEmbperlCmds[nNdx]) ;
//??if (pCmd -> nNodeType != pNode -> nType)
// pCmd = NULL ;
}
1.4.2.7 +2 -3 embperl/Attic/epparse.c
Index: epparse.c
===================================================================
RCS file: /home/cvs/embperl/Attic/epparse.c,v
retrieving revision 1.4.2.6
retrieving revision 1.4.2.7
diff -u -r1.4.2.6 -r1.4.2.7
--- epparse.c 2001/02/23 19:40:26 1.4.2.6
+++ epparse.c 2001/02/25 22:04:42 1.4.2.7
@@ -39,13 +39,13 @@
struct tTokenTable
{
+ void * pCompilerInfo ; /* stores tables of the compiler , must be first
item */
tCharMap cStartChars ; /* for every vaild start char there is one bit set
*/
tCharMap cAllChars ; /* for every vaild char there is one bit set */
struct tToken * pTokens ; /* table with all tokens */
int numTokens ; /* number of tokens in above table */
int bLSearch ; /* when set perform a linear, instead of a
binary search */
struct tToken * pContainsToken ;/* pointer to the token that has a pContains
defined (could be only one per table) */
- void * pCompilerInfo ; /* stores tables of the compiler */
} ;
@@ -610,8 +610,7 @@
level-- ;
}
/* add token as node */
- if (!(xNewNode = Node_appendChild (pDomTree, pToken ->
nNodeType, (nCDataType == ntypAttrValue && pToken -> nNodeType != ntypAttr)?(pToken ->
nForceType?2:1):0, pNodeName, strlen (pNodeName), xParentNode, level, GetLineNoOf (r,
pC
-urrTokenStart))))
+ if (!(xNewNode = Node_appendChild (pDomTree, pToken ->
nNodeType, (nCDataType == ntypAttrValue && pToken -> nNodeType != ntypAttr)?(pToken ->
nForceType?2:1):0, pNodeName, strlen (pNodeName), xParentNode, level, GetLineNoOf (r,
pCurrTokenStart))))
{
r -> Buf.pCurrPos = pCurrTokenStart ;
No revision
No revision
1.1.2.2 +14 -1 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.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- EmbperlBlocks.pm 2001/02/23 19:40:28 1.1.2.1
+++ EmbperlBlocks.pm 2001/02/25 22:04:44 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: EmbperlBlocks.pm,v 1.1.2.1 2001/02/23 19:40:28 richter Exp $
+# $Id: EmbperlBlocks.pm,v 1.1.2.2 2001/02/25 22:04:44 richter Exp $
#
###################################################################################
@@ -44,6 +44,19 @@
$self -> AddToRoot (\%Blocks) ;
$self -> {-tagtype}
+
+ $self -> AddMetaCmd ('if',
+ {
+ perlcode => 'if (%&<noname>%) { ',
+ removenode => 10,
+ mayjump => 1,
+ stackname => 'metacmd',
+ 'push' => 'if',
+ }) ;
+
+
+
+
}
# ---------------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]