richter     00/05/30 23:21:52

  Modified:    .        Tag: Embperl2 Embperl.xs TODO ep.h epcomp.c epdom.c
                        epdom.h epparse.c
               Embperl  Tag: Embperl2 Syntax.pm
               test/cmp Tag: Embperl2 error.htm if.htm
               test/html Tag: Embperl2 table.htm
  Log:
  Embperl 2 - Tables
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.26.2.12 +7 -0      embperl/Embperl.xs
  
  Index: Embperl.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.xs,v
  retrieving revision 1.26.2.11
  retrieving revision 1.26.2.12
  diff -u -r1.26.2.11 -r1.26.2.12
  --- Embperl.xs        2000/05/29 07:34:29     1.26.2.11
  +++ Embperl.xs        2000/05/31 06:21:49     1.26.2.12
  @@ -725,6 +725,13 @@
       pCurrReq -> bEscModeSet = -1 ;
       DomTree_checkpoint (xDomTree, xChild) ;
   
  +void
  +embperl_DomTree_discardAfterCheckpoint (xDomTree, xNode)
  +    int xDomTree
  +    int xNode
  +CODE:
  +    DomTree_discardAfterCheckpoint (xDomTree, xNode) ;
  +
   #void
   #Node_parentNode (xChild)
   #    int xChild
  
  
  
  1.90.2.2  +5 -0      embperl/TODO
  
  Index: TODO
  ===================================================================
  RCS file: /home/cvs/embperl/TODO,v
  retrieving revision 1.90.2.1
  retrieving revision 1.90.2.2
  diff -u -r1.90.2.1 -r1.90.2.2
  --- TODO      2000/05/24 21:08:16     1.90.2.1
  +++ TODO      2000/05/31 06:21:49     1.90.2.2
  @@ -130,3 +130,8 @@
   
   - <body [$if ... endif$]>  -> tagscan.htm
   
  +- <xxxx> -> empty loop -> loop.htm
  +
  +- <th>, $cnt -> table.htm
  +
  +
  
  
  
  1.23.2.4  +29 -0     embperl/ep.h
  
  Index: ep.h
  ===================================================================
  RCS file: /home/cvs/embperl/ep.h,v
  retrieving revision 1.23.2.3
  retrieving revision 1.23.2.4
  diff -u -r1.23.2.3 -r1.23.2.4
  --- ep.h      2000/05/19 13:35:26     1.23.2.3
  +++ ep.h      2000/05/31 06:21:49     1.23.2.4
  @@ -485,10 +485,39 @@
   
   int EvalMain (/*i/o*/ register req *  r) ;
   
  +int CallStoredCV  (/*i/o*/ register req * r,
  +                 /*in*/  const char *  sArg,
  +                    /*in*/  CV *          pSub,
  +                    /*in*/  int           numArgs,
  +                    /*in*/  SV **         pArgs,
  +                    /*in*/  int           flags,
  +                    /*out*/ SV **         pRet) ;
  +
  +
   /* ---- from epdbg.c ----- */
   
   int SetupDebugger (/*i/o*/ register req * r) ;
   
   
  +/* ---- from epparse.c ----- */
   
   extern struct tTokenTable DefaultTokenTable ;
  +
  +int BuildTokenTable (/*i/o*/ register req *    r,
  +                     /*in*/  HV *              pTokenHash,
  +                  /*in*/  const char *         pDefEnd,
  +                     /*out*/ struct tTokenTable * pTokenTable) ;
  +
  +int ParseFile (/*i/o*/ register req * r) ;
  +
  +
  +/* ---- from epcomp.c ----- */
  +
  +int embperl_CompileInit (void) ;
  +
  +int embperl_CompileInitItem      (/*i/o*/ register req * r,
  +                               /*in*/  HV *           pHash,
  +                               /*in*/  int            nNodeName) ;
  +
  +embperl_CompileDocument (/*i/o*/ register req * r) ;
  +
  
  
  
  1.1.2.19  +53 -14    embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.1.2.18
  retrieving revision 1.1.2.19
  diff -u -r1.1.2.18 -r1.1.2.19
  --- epcomp.c  2000/05/30 14:12:32     1.1.2.18
  +++ epcomp.c  2000/05/31 06:21:49     1.1.2.19
  @@ -25,6 +25,7 @@
       int                  numPerlCode ;
       int                  bRemoveNode ;
       int                  bPerlCodeRemove ;
  +    int                  bCompileChilds ;
       const char *    sMayJump ;
       } ;
   
  @@ -47,7 +48,7 @@
   /* ------------------------------------------------------------------------ */
   
   
  -int embperl_CompileInit ()
  +int embperl_CompileInit (void)
   
       {
       ArrayNew (&pEmbperlCmds, 256, sizeof (struct tEmbperlCmd)) ; 
  @@ -117,6 +118,7 @@
       pEmbperlCmds[nNodeName].sMayJump     = GetHashValueStr (pHash, "mayjump", NULL) 
;
       pEmbperlCmds[nNodeName].bPopStack    = GetHashValueInt (pHash, "pop", 0) ;
       pEmbperlCmds[nNodeName].bPerlCodeRemove  = GetHashValueInt (pHash, 
"perlcoderemove", 0) ;
  +    pEmbperlCmds[nNodeName].bCompileChilds  = GetHashValueInt (pHash, 
"compilechilds", 1) ;
   
   
       if (r -> bDebug & dbgParse)
  @@ -489,6 +491,10 @@
                        int  l = sprintf (s, "$_ep_DomTree,%u", pNode -> xNdx) ;
                        StringAdd (ppCode, s, l) ; 
                        }
  +                 else if (*p == 't')
  +                     {
  +                     StringAdd (ppCode, "$_ep_DomTree", 0) ; 
  +                     }
                    else if (*p == 'l')
                        {
                        char s [20] ;
  @@ -537,16 +543,26 @@
       char *          pCode = NULL ; 
       char *          sStackValue = NULL ;
       int                  nStartCodeOffset = 0 ;               
  +    int                  nCheckpointCodeOffset = 0 ;               
  +
   
  -    if (*bCheckpointPending && (pNode -> nType == ntypText || pNode -> nType == 
ntypCDATA) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
  +    if (pCurrReq -> bDebug & dbgParse)
  +     lprintf (pCurrReq, "[%d]EPCOMP: #%d -------> parent=%d node=%d type=%d 
text=%s\n", pCurrReq -> nPid, pNode -> xNdx, Node_parentNode (pDomTree, pNode -> 
xNdx), pNode -> xNdx, pNode -> nType, Node_selfNodeName(pNode)) ; 
  +    
  +    //if (*bCheckpointPending && (pNode -> nType == ntypText || pNode -> nType == 
ntypCDATA) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
  +    if (*bCheckpointPending && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 
0)
        {
        int l ;
        char buf [80] ;
        
        pNode -> bFlags |= nflgCheckpoint ;
  -     l = sprintf (buf, "_ep_cp($_ep_DomTree,%d) ;\n", *bCheckpointPending<0?pNode 
-> xNdx:*bCheckpointPending) ;
  -     StringAdd (&pProg, buf,  l) ; 
  +     l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", *bCheckpointPending<0?pNode 
-> xNdx:*bCheckpointPending) ;
  +     nCheckpointCodeOffset = StringAdd (&pProg, buf,  l) ; 
        *bCheckpointPending = 0 ;
  +
  +     if (pCurrReq -> bDebug & dbgParse)
  +         lprintf (pCurrReq, "[%d]EPCOMP: #%d Checkpoint\n", pCurrReq -> nPid, pNode 
-> xNdx) ; 
  +     
        }
   
       while (pAttr = Element_selfGetNthAttribut (pDomTree, pNode, nAttr++))
  @@ -586,6 +602,8 @@
                           if (l)
                               StringAdd (&pProg, pCode, l) ;
                        StringAdd (&pProg, "\n",  1) ; 
  +                     if (pCurrReq -> bDebug & dbgParse)
  +                         lprintf (pCurrReq, "[%d]EPCOMP: #%d Code:    %*.*s\n", 
pCurrReq -> nPid, pNode -> xNdx, l, l, pCode) ; 
                        }
                       break ;
                       }
  @@ -620,6 +638,8 @@
                   if (embperl_CompileToPerlCode (pDomTree, pNode, pCmd -> sMayJump, 
&sStackValue))
                    {
                    *bCheckpointPending = -1 ;
  +                 if (pCurrReq -> bDebug & dbgParse)
  +                     lprintf (pCurrReq, "[%d]EPCOMP: #%d Set Checkpoint pending\n", 
pCurrReq -> nPid, pNode -> xNdx) ; 
                    }
   
            if (pCmd -> bRemoveNode & 1)
  @@ -627,7 +647,15 @@
               else if (pCmd -> bRemoveNode & 8)
                pNode -> bFlags |= nflgIgnore ;
   
  -            if (pCmd -> sStackName && pCmd -> sPushStack)
  +         if (nCheckpointCodeOffset && (pNode -> bFlags == 0 || (pNode -> bFlags & 
nflgIgnore)))
  +             {
  +             pProg[nCheckpointCodeOffset] = '#' ;
  +             if (pCurrReq -> bDebug & dbgParse)
  +                 lprintf (pCurrReq, "[%d]EPCOMP: #%d Remove Checkpoint\n", pCurrReq 
-> nPid, pNode -> xNdx) ; 
  +             nCheckpointCodeOffset = 0 ;
  +             }
  +     
  +         if (pCmd -> sStackName && pCmd -> sPushStack)
                   {
                   if (embperl_CompileToPerlCode (pDomTree, pNode, pCmd -> sPushStack, 
&sStackValue))
                    {
  @@ -640,15 +668,18 @@
       else
           pCmd = NULL ;
       
  -    xChildNode = pNode -> bFlags?Node_firstChild (pDomTree, xNode):0 ;
  -
  -    while (xChildNode)
  +    if (pCmd == NULL || pCmd -> bCompileChilds)
        {
  -     embperl_CompileNode (pDomTree, xChildNode, bCheckpointPending) ;
  +     xChildNode = pNode -> bFlags?Node_firstChild (pDomTree, xNode):0 ;
   
  -     xChildNode  = Node_nextSibling (pDomTree, xChildNode) ;
  -     }
  +     while (xChildNode)
  +         {
  +         embperl_CompileNode (pDomTree, xChildNode, bCheckpointPending) ;
   
  +         xChildNode  = Node_nextSibling (pDomTree, xChildNode) ;
  +         }
  +     }
  +         
       if (pCmd)
        {
           if (embperl_CompileToPerlCode (pDomTree, pNode, pCmd -> sPerlCodeEnd, 
&pCode))
  @@ -657,21 +688,29 @@
                   {
                   int l = ArrayGetSize (pCode) ;
                   if (l)
  -                    StringAdd (&pProg, pCode, l) ;
  -             StringAdd (&pProg, "\n",  1) ; 
  -                }
  +                    {
  +                 StringAdd (&pProg, pCode, l) ;
  +                 StringAdd (&pProg, "\n",  1) ; 
  +                 if (pCurrReq -> bDebug & dbgParse)
  +                     lprintf (pCurrReq, "[%d]EPCOMP: #%d Codeend: %*.*s\n", 
pCurrReq -> nPid, pNode -> xNdx, l, l, pCode) ; 
  +                 }
  +             }
               }
        else
            {
            if (pCmd -> bPerlCodeRemove && nStartCodeOffset)
                {
                pProg[nStartCodeOffset] = '#' ;
  +             if (pCurrReq -> bDebug & dbgParse)
  +                 lprintf (pCurrReq, "[%d]EPCOMP: #%d Remove Codeblock\n", pCurrReq 
-> nPid, pNode -> xNdx) ; 
                }
            }
           if (pCmd -> sPerlCodeEnd && pCmd -> sMayJump)
               if (embperl_CompileToPerlCode (pDomTree, pNode, pCmd -> sMayJump, 
&sStackValue))
                {
                *bCheckpointPending = -1 ;
  +             if (pCurrReq -> bDebug & dbgParse)
  +                 lprintf (pCurrReq, "[%d]EPCOMP: #%d Set Checkpoint pending\n", 
pCurrReq -> nPid, pNode -> xNdx) ; 
                }
           if (pCmd -> sStackName && pCmd -> sPushStack)
               {
  
  
  
  1.1.2.23  +110 -19   embperl/Attic/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.c,v
  retrieving revision 1.1.2.22
  retrieving revision 1.1.2.23
  diff -u -r1.1.2.22 -r1.1.2.23
  --- epdom.c   2000/05/30 14:12:33     1.1.2.22
  +++ epdom.c   2000/05/31 06:21:49     1.1.2.23
  @@ -34,8 +34,27 @@
   #define dom_malloc(s)  (nMemUsage += s, malloc(s))
   #define dom_free(s)    (free(s))
   
  +
   /* ------------------------------------------------------------------------ */
   /*                                                                          */
  +/* mydie                                                                    */
  +/*                                                                          */
  +/* Fatal Error                                                              */
  +/*                                                                          */
  +/* ------------------------------------------------------------------------ */
  +
  +int mydie (char *  msg)
  +    {
  +    strncpy (pCurrReq -> errdat1, msg, sizeof (pCurrReq -> errdat1)) ;
  +    LogError (pCurrReq, 9999) ;
  +    puts (msg) ;
  +    exit (1) ;
  +    }
  +
  +
  +
  +/* ------------------------------------------------------------------------ */
  +/*                                                                          */
   /* ArrayNew                                                                 */
   /*                                                                          */
   /* Create a new dynamic array                                               */
  @@ -448,6 +467,13 @@
       return n ;
       }
   
  +/* ------------------------------------------------------------------------ */
  +/*                                                                          */
  +/* DomTree_checkpoint                                                       */
  +/*                                                                          */
  +/* Add a new checkpoint to sync the programm execution with the DOM tree    */
  +/*                                                                          */
  +/* ------------------------------------------------------------------------ */
   
   void DomTree_checkpoint (tIndex xDomTree, tNode xChild)
   
  @@ -456,28 +482,94 @@
       tDomTree * pDomTree = DomTree_self (xDomTree) ;
       int n = ArrayAdd (&pDomTree -> pOrder, 1) ;
       (pDomTree -> pOrder)[n] = xChild ;
  +    if (pCurrReq -> bDebug & dbgParse)
  +     lprintf (pCurrReq, "[%d]Checkpoint: Node=%d OrderIndex %d\n", pCurrReq -> 
nPid, xChild, n) ; 
       }
   
   
  +/* ------------------------------------------------------------------------ */
  +/*                                                                          */
  +/* DomTree_selfCheckpoint                                                   */
  +/*                                                                          */
  +/* Add a new checkpoint to sync the programm execution with the DOM tree    */
  +/*                                                                          */
  +/* ------------------------------------------------------------------------ */
  +
   void DomTree_selfCheckpoint (tDomTree * pDomTree, tNode xChild)
   
   
       {
       int n = ArrayAdd (&pDomTree -> pOrder, 1) ;
       (pDomTree -> pOrder)[n] = xChild ;
  +    if (pCurrReq -> bDebug & dbgParse)
  +     lprintf (pCurrReq, "[%d]Checkpoint: Node=%d OrderIndex %d\n", pCurrReq -> 
nPid, xChild, n) ; 
       }
   
   
  +/* ------------------------------------------------------------------------ */
  +/*                                                                          */
  +/* DomTree_discardAfterCheckpoint                                           */
  +/*                                                                          */
  +/* Search for the next checkpoint after xNode and discard all checkpoints   */
  +/* set after and including that one                                      */
  +/*                                                                          */
  +/* ------------------------------------------------------------------------ */
   
  -int mydie (char *  msg)
  +int DomTree_selfDiscardAfterCheckpoint (/*in*/ tDomTree *        pDomTree, 
  +                                      /*in*/ tNodeData *     pNode)
  +
  +
       {
  -    strncpy (pCurrReq -> errdat1, msg, sizeof (pCurrReq -> errdat1)) ;
  -    LogError (pCurrReq, 9999) ;
  -    puts (msg) ;
  -    exit (1) ;
  +    tNodeData *      pArgNode = pNode ;
  +    tNode    xNode ;
  +    tNodeData * pChild ;    
  +    tNode *     pOrder ;
  +    int         n ;
  +    int         o ;
  +
  +    while (pNode && (pNode -> bFlags & nflgCheckpoint) == 0)
  +     {
  +     pChild = Node_selfFirstChild (pDomTree, pNode) ;
  +     if (pChild)
  +         if (DomTree_selfDiscardAfterCheckpoint (pDomTree, pChild))
  +             return 1 ;
  +                                 
  +     pNode = Node_selfNextSibling (pDomTree, pNode) ;
  +     }
  +
  +    if (pNode == NULL)
  +     return 0 ;
  +
  +    xNode = pNode -> xNdx ;
  +
  +    pOrder = pDomTree -> pOrder ;
  +    o = n = ArrayGetSize (pOrder) ;
  +    while (--n >= 0)
  +     {
  +     if (pOrder[n] == xNode)
  +         break ;
  +     }
  +    ArraySetSize (&pDomTree -> pOrder, n) ;
  +
  +    if (pCurrReq -> bDebug & dbgParse)
  +     lprintf (pCurrReq, "[%d]Checkpoint Discard: Node=%d Checkpoint=%d  OrderIndex 
%d -> %d\n", pCurrReq -> nPid, pArgNode -> xNdx, xNode, o, n) ; 
  +    
  +    return 1 ;
       }
   
   
  +
  +int DomTree_discardAfterCheckpoint (/*in*/ tIndex  xDomTree, 
  +                                  /*in*/ tNode   xNode)
  +
  +
  +    {
  +    tDomTree * pDomTree = DomTree_self (xDomTree) ;
  +    tNodeData * pNode   = Node_self (pDomTree, xNode) ;
  +    
  +    return DomTree_selfDiscardAfterCheckpoint (pDomTree, pNode) ;
  +    }
  +
   /* ------------------------------------------------------------------------ 
   
   interface Node {
  @@ -1178,18 +1270,6 @@
   
       while (pNode)
        {
  -     if (pNode -> bFlags & nflgReturn)
  -         { /* we should use another node to replace this one */
  -         if ((xNextNode = pDomTree -> pOrder[nOrderNdx]) != pNode -> xNdx)   
  -             {
  -             if (pCurrReq -> bDebug & dbgParse)
  -                 lprintf (r, "[%d]toString: Replace Node=%d with Node=%d\n", r -> 
nPid, pNode -> xNdx, xNextNode) ; 
  -             pSavedNode = pNode ;    
  -             pNextNode  = Node_self (pDomTree, xNextNode) ;
  -             }
  -         nOrderNdx++ ;
  -         }
  -
        if (pNode -> bFlags & nflgCheckpoint)
            { /* see how the control flow contiounes */
            if ((xNextNode = pDomTree -> pOrder[nOrderNdx]) != pNode -> xNdx)   
  @@ -1226,8 +1306,19 @@
                }
            nOrderNdx++ ;
            }
  -     if (pSavedNode)
  -         pNode = pNextNode ;
  +
  +     if (pNode -> bFlags & nflgReturn)
  +         { /* we should use another node to replace this one */
  +         if ((xNextNode = pDomTree -> pOrder[nOrderNdx]) != pNode -> xNdx)   
  +             {
  +             if (pCurrReq -> bDebug & dbgParse)
  +                 lprintf (r, "[%d]toString: Replace Node=%d with Node=%d\n", r -> 
nPid, pNode -> xNdx, xNextNode) ; 
  +             pSavedNode = pNode ;    
  +             pNode  = Node_self (pDomTree, xNextNode) ;
  +             }
  +         nOrderNdx++ ;
  +         }
  +
   
        if (pCurrReq -> bDebug & dbgParse)
            lprintf (r, "[%d]toString: Node=%d type=%d flags=%x text=>%s<= (#%d)\n", r 
-> nPid, pNode -> xNdx, pNode -> nType,  pNode -> bFlags, Ndx2String (pNode -> nText), 
pNode -> nText) ; 
  
  
  
  1.1.2.19  +13 -0     embperl/Attic/epdom.h
  
  Index: epdom.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.h,v
  retrieving revision 1.1.2.18
  retrieving revision 1.1.2.19
  diff -u -r1.1.2.18 -r1.1.2.19
  --- epdom.h   2000/05/30 14:12:33     1.1.2.18
  +++ epdom.h   2000/05/31 06:21:49     1.1.2.19
  @@ -189,7 +189,20 @@
               /*in*/ const char * sAdd,
               /*in*/ int          nLen) ;
   
  +int DomInit (void) ;
   
  +int DomTree_clone (/*in*/ tDomTree * pOrgDomTree,
  +                /*out*/tDomTree * *  pNewDomTree) ;
  +
  +int DomTree_new (tDomTree * * pNewLookup) ;
  +
  +void DomTree_checkpoint (tIndex xDomTree, tNode xChild) ;
  +
  +int DomTree_selfDiscardAfterCheckpoint (/*in*/ tDomTree *        pDomTree, 
  +                                      /*in*/ tNodeData *     pNode) ;
  +
  +int DomTree_discardAfterCheckpoint (/*in*/ tIndex  xDomTree, 
  +                                  /*in*/ tNode   xNode) ;
   
   tNode Node_appendChild (/*in*/ tDomTree *  pDomTree,
                        /*in*/  tNodeType        nType,
  
  
  
  1.1.2.18  +3 -3      embperl/Attic/epparse.c
  
  Index: epparse.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epparse.c,v
  retrieving revision 1.1.2.17
  retrieving revision 1.1.2.18
  diff -u -r1.1.2.17 -r1.1.2.18
  --- epparse.c 2000/05/29 07:34:30     1.1.2.17
  +++ epparse.c 2000/05/31 06:21:49     1.1.2.18
  @@ -133,7 +133,7 @@
                }
   
            if (strcmp (pKey, "embperl") == 0)
  -             embperl_CompileInitItem (r, SvRV (pSVValue), pToken -> nNodeName) ;
  +             embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> 
nNodeName) ;
            }
        }           
   
  @@ -219,7 +219,7 @@
   
   int BuildTokenTable (/*i/o*/ register req *    r,
                        /*in*/  HV *              pTokenHash,
  -                  /*in*/  char *               pDefEnd,
  +                  /*in*/  const char *         pDefEnd,
                        /*out*/ struct tTokenTable * pTokenTable)
   
                        
  @@ -288,7 +288,7 @@
            p -> sName     = pKey ;
            p -> sText     = GetHashValueStr (pHash, "text", "") ;
            p -> nTextLen  = strlen (p -> sText) ;
  -         p -> sEndText  = GetHashValueStr (pHash, "end", pDefEnd) ;
  +         p -> sEndText  = GetHashValueStr (pHash, "end", (char *)pDefEnd) ;
            p -> sNodeName = GetHashValueStr (pHash, "nodename", NULL) ;
            p -> nNodeType = GetHashValueInt (pHash, "nodetype", ntypTag) ;
            p -> bUnescape = GetHashValueInt (pHash, "unescape", 0) ;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.13  +19 -7     embperl/Embperl/Attic/Syntax.pm
  
  Index: Syntax.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
  retrieving revision 1.1.2.12
  retrieving revision 1.1.2.13
  diff -u -r1.1.2.12 -r1.1.2.13
  --- Syntax.pm 2000/05/30 14:12:33     1.1.2.12
  +++ Syntax.pm 2000/05/31 06:21:51     1.1.2.13
  @@ -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.2.12 2000/05/30 14:12:33 richter Exp $
  +#   $Id: Syntax.pm,v 1.1.2.13 2000/05/31 06:21:51 richter Exp $
   #
   ###################################################################################
   
  @@ -92,12 +92,14 @@
               embperl => { 
                       perlcode => 
                           [
  -                        'if (!defined (_ep_rp(%$n%,scalar(do{%#~0:$col%})))) { last 
l%^*htmlrow% ; }',
  -                        'if (!defined (_ep_rp(%$n%,scalar(do{%#~0:$row%})))) { last 
l%^*htmltable% ; }',
  +                        'if (!defined (_ep_rp(%$n%,scalar(do{%#~0:$col%})))) 
%#~-0:$row% { if ($col == 0) { XML::Embperl::DOM::DomTree_discardAfterCheckpoint 
(%$t%,%^*htmltable%) ; last l%^*htmltable% ; } else { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmlrow%) ; last 
l%^*htmlrow% ; }}',
  +                        'if (!defined (_ep_rp(%$n%,scalar(do{%#~0:$col%})))) { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmlrow%) ; last 
l%^*htmlrow% ; }',
  +                        'if (!defined (_ep_rp(%$n%,scalar(do{%#~0:$row%})))) { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmltable%) ; last 
l%^*htmltable% ; }',
                           '_ep_rp(%$n%,scalar(do{%#0%}));', 
                           ],
                       removenode  => 4,
  -                    mayjump => '%#~0:$col|$row|$cnt% %?*htmlrow% %?*htmltable%'
  +                    mayjump => '%#~0:$col|$row|$cnt% %?*htmlrow% %?*htmltable%',
  +                    compilechilds => 0,
                       }
               },
           },
  @@ -108,11 +110,14 @@
           'procinfo' => {
               embperl => { 
                           perlcode    => [
  -                                'if (!defined (scalar (do {%#~0:$row|$col|$cnt%}))) 
{ last ; } %^*-htmltable%',
  +                                'if (!defined (scalar(do{%#~0:$col%}))) %#~-0:$row% 
{ if ($col == 0) { XML::Embperl::DOM::DomTree_discardAfterCheckpoint 
(%$t%,%^*htmltable%) ; last l%^*htmltable% ; } else { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmlrow%) ; last 
l%^*htmlrow% ; }}',
  +                                'if (!defined (scalar(do{%#~0:$col%}))) { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmlrow%) ; last 
l%^*htmlrow% ; }',
  +                                'if (!defined (scalar(do{%#~0:$row%}))) { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmltable%) ; last 
l%^*htmltable% ; }',
                                   '{%#0%;}',
                                   ],
                           removenode  => 3,
                           mayjump     => 1,
  +                        compilechilds => 0,
                           },
               },
           },
  @@ -125,6 +130,7 @@
                           perlcode    => '%#0%',
                           removenode  => 3,
                           mayjump     => 1,
  +                        compilechilds => 0,
                           },
               },
           },
  @@ -136,6 +142,7 @@
               embperl =>  { 
                           perlcode => 'if (!$first++) { %#0% } ;',
                           removenode  => 3,
  +                        compilechilds => 0,
                           }
               },
           },
  @@ -143,7 +150,10 @@
           'text' => '[#',
           'end'  => '#]',
           'procinfo' => {
  -            embperl => { removenode  => 3, },
  +            embperl => { 
  +                compilechilds => 0,
  +                removenode  => 3, 
  +                },
               },
           },
         ) ;  
  @@ -154,7 +164,9 @@
   $CmdsLink{'Embperl output code'}{'nodename'} = '[+url' ;
   $CmdsLink{'Embperl output code'}{'procinfo'}{'embperl'}{'perlcode'} = 
                           [
  -                        'if (!defined 
(_ep_rpurl(%$n%,scalar(do{%#~0:$row|$col|$cnt%})))) { last ; } %^*-htmltable%',
  +                        'if (!defined (_ep_rpurl(%$n%,scalar(do{%#~0:$col%})))) 
%#~-0:$row% { if ($col == 0) { XML::Embperl::DOM::DomTree_discardAfterCheckpoint 
(%$t%,%^*htmltable%) ; last l%^*htmltable% ; } else { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmlrow%) ; last 
l%^*htmlrow% ; }}',
  +                        'if (!defined (_ep_rpurl(%$n%,scalar(do{%#~0:$col%})))) { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmlrow%) ; last 
l%^*htmlrow% ; }',
  +                        'if (!defined (_ep_rpurl(%$n%,scalar(do{%#~0:$row%})))) { 
XML::Embperl::DOM::DomTree_discardAfterCheckpoint (%$t%,%^*htmltable%) ; last 
l%^*htmltable% ; }',
                           '_ep_rpurl(%$n%,scalar(do{%#0%}));', 
                           ] ;
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.5.2.4   +1 -1      embperl/test/cmp/error.htm
  
  Index: error.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/error.htm,v
  retrieving revision 1.5.2.3
  retrieving revision 1.5.2.4
  diff -u -r1.5.2.3 -r1.5.2.4
  --- error.htm 2000/05/30 14:12:34     1.5.2.3
  +++ error.htm 2000/05/31 06:21:51     1.5.2.4
  @@ -10,7 +10,7 @@
   ^<br>&nbsp;&nbsp;&nbsp;&nbsp;syntax error at test/html/error.htm line \d+, at EOF
   ^<br>&nbsp;&nbsp;&nbsp;&nbsp;syntax error at test/html/error.htm line \d+, near 
&quot;\$error is here &quot;
   ^<br>&nbsp;&nbsp;&nbsp;&nbsp;syntax error at test/html/error.htm line \d+, near 
&quot;}
  -^<br>&nbsp;&nbsp;&nbsp;&nbsp;_ep_cp&quot;
  +^<br>&nbsp;&nbsp;&nbsp;&nbsp; _ep_cp&quot;
   ^<br>&nbsp;&nbsp;&nbsp;&nbsp;syntax error at test/html/error.htm line \d+, near 
&quot;
   ^<br>&nbsp;&nbsp;&nbsp;&nbsp;
   ^<br>&nbsp;&nbsp;&nbsp;&nbsp;}&quot;<p>
  
  
  
  1.4.2.2   +1 -1      embperl/test/cmp/if.htm
  
  Index: if.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/if.htm,v
  retrieving revision 1.4.2.1
  retrieving revision 1.4.2.2
  diff -u -r1.4.2.1 -r1.4.2.2
  --- if.htm    2000/05/24 21:08:29     1.4.2.1
  +++ if.htm    2000/05/31 06:21:51     1.4.2.2
  @@ -16,7 +16,7 @@
   
   a3
   a <br>
  -    a4
  +a4
   a5
   a <br>
       b is null <br>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.4.2.3   +20 -16    embperl/test/html/table.htm
  
  Index: table.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/table.htm,v
  retrieving revision 1.4.2.2
  retrieving revision 1.4.2.3
  diff -u -r1.4.2.2 -r1.4.2.3
  --- table.htm 2000/05/30 14:12:35     1.4.2.2
  +++ table.htm 2000/05/31 06:21:52     1.4.2.3
  @@ -30,7 +30,7 @@
      $b[2][2] = 'b3/3' ;
   
      $maxcol=99 ;
  --]
  +-][###
      $a[0][[0] = '1/1' ;<BR>
      $a[1][[0] = '2/1' ;<BR>
      $a[1][[1] = '2/2' ;<BR>
  @@ -96,14 +96,16 @@
       </tr> 
   </table>
   
  -[#
  +###]
   
  -<table border="2" width="100%">
  +<table border="1" width="100%">
       <tr>
           <td>[+ $a[$row][$col] +] </td>
       </tr> 
   </table>
   
  +[#
  +
   <table border="2" width="100%">
       <tr>
           <th>1</th>
  @@ -115,7 +117,7 @@
       </tr> 
   </table>
   
  -<table border="2" width="100%">
  +<table border="3" width="100%">
       <tr>
           <th>[+ $b[2][$col] +]</th>
       </tr> 
  @@ -124,7 +126,9 @@
       </tr> 
   </table>
   
  -<table>
  +#]
  +
  +<table border="4">
       <tr>
           <td>
               <table>
  @@ -137,7 +141,7 @@
       </tr> 
   </table>
   
  -<table border="3" width="100%">
  +<table border="5" width="100%">
       <tr>
           <td>[+ $b[2][$col] +]</td>
       </tr> 
  @@ -146,7 +150,7 @@
       </tr> 
   </table>
   
  -<table border="4" width="100%">
  +<table border="6" width="100%">
       <tr>
           <td>[+ $a[$row+1][0] +]</td>
       </tr> 
  @@ -155,7 +159,7 @@
       </tr> 
   </table>
   
  -<table>
  +<table border="7">
       <tr>
           <TD BGCOLOR="[+ ($row & 
1)?(($col&1)?'#7CFC00':'#A4A4B4'):(($col&1)?'#FFFF00':'#F4A460') +]">[+ $a[$row][$col] 
+] </td>
       </tr> 
  @@ -164,7 +168,7 @@
   
   [-    $a[0][1] = 'a1/2' ; -]
   
  -<table>
  +<table border="8">
       <tr>
           <TD BGCOLOR="#F4A460">[+ $a[$row*2][$col*2] +] </td>
           <TD BGCOLOR="#FFFF00">[+ $a[$row*2][$col*2+1] +] </td>
  @@ -190,16 +194,16 @@
   
   -]
   
  -    <table border="0" width="100%">
  +    <table border="9" width="100%">
           <tr>
  -            <td><table border="0">
  +            <td><table border="10">
                   <tr>
                       <td valign="top">
                       <a 
href="inhalt.htm?Region=[+$regs[$row]{Id}+]">[+$regs[$row]{Id}+]</a></td>
                   </tr>
               </table>
               </td>
  -            <td><table border="0">
  +            <td><table border="11">
                   <tr>
                       <td valign="top"><p align="left">
                       <a 
href="inhalt.htm?Kategorie=[+$kats[$row]{Id}+]">[+$kats[$row]{Id}+]</a></p>
  @@ -218,9 +222,9 @@
   -]
   
   
  -    <table border="0" width="100%">
  +    <table border="12" width="100%">
           <tr>
  -            <td><table border="0">
  +            <td><table border="13">
                   <tr>
                       <td valign="top">
                       [- $cmp = $regs[$row]{Id} -]
  @@ -230,7 +234,7 @@
                   </tr>
               </table>
               </td>
  -            <td><table border="0">
  +            <td><table border="14">
                   <tr>
                       <td valign="top"><p align="left">
                       [- $cmp = $kats[$row]{Id} -]
  @@ -243,7 +247,7 @@
               </td>
           </tr>
       </table>
  -
  +[#
   
   <hr><P>$tabmode=3 + 48 ; $maxcol = 4; $maxrow = 4 <P>
   [- $tabmode=3 + 48 ; $maxcol = 4; $maxrow = 4 -]
  
  
  

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

Reply via email to