VirtualBox

Changeset 44842 in vbox for trunk/src/VBox/Storage/testcase


Ignore:
Timestamp:
Feb 27, 2013 12:40:44 PM (12 years ago)
Author:
vboxsync
Message:

Storage/testcase: Script engine updates

Location:
trunk/src/VBox/Storage/testcase
Files:
3 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Storage/testcase/VDScript.cpp

    r44840 r44842  
    5151#include <VBox/log.h>
    5252
    53 #include "VDScript.h"
    5453#include "VDScriptAst.h"
     54#include "VDScriptInternal.h"
    5555
    5656/**
     
    181181    PVDSCRIPTTOKEN pTokenNext;
    182182} VDTOKENIZER;
    183 /** Pointer to a tokenize state. */
    184 typedef struct VDTOKENIZER *PVDTOKENIZER;
    185183
    186184/**
     
    220218} VDSCRIPTFN;
    221219typedef VDSCRIPTFN *PVDSCRIPTFN;
    222 
    223 /**
    224  * Script context.
    225  */
    226 typedef struct VDSCRIPTCTXINT
    227 {
    228     /** String space of external registered and source defined functions. */
    229     RTSTRSPACE        hStrSpaceFn;
    230     /** List of ASTs for functions - VDSCRIPTASTFN. */
    231     RTLISTANCHOR      ListAst;
    232     /** Pointer to the current tokenizer state. */
    233     PVDTOKENIZER      pTokenizer;
    234 } VDSCRIPTCTXINT;
    235 /** Pointer to a script context. */
    236 typedef VDSCRIPTCTXINT *PVDSCRIPTCTXINT;
    237220
    238221/**
     
    512495        ch = vdScriptTokenizerGetCh(pTokenizer);
    513496    }
    514     while (RT_C_IS_ALNUM(ch));
     497    while (RT_C_IS_ALNUM(ch) || ch == '_');
    515498
    516499    /* Check whether we got an identifier or an reserved keyword. */
     
    950933    int rc = VINF_SUCCESS;
    951934
     935    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
     936
    952937    if (vdScriptTokenizerSkipIfIsPunctuatorEqual(pThis->pTokenizer, '('))
    953938    {
     
    1001986    }
    1002987
     988    LogFlowFunc(("returns rc=%Rrc\n", rc));
    1003989    return rc;
    1004990}
     
    10161002    PVDSCRIPTASTEXPR pExpr = NULL;
    10171003
     1004    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
     1005
    10181006    rc = vdScriptParseAssignmentExpression(pThis, &pExpr);
    10191007    if (RT_SUCCESS(rc))
     
    10331021    }
    10341022
     1023    LogFlowFunc(("returns rc=%Rrc\n", rc));
    10351024    return rc;
    10361025}
     
    10541043    int rc = VINF_SUCCESS;
    10551044    PVDSCRIPTASTEXPR pExpr = NULL;
     1045
     1046    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
    10561047
    10571048    rc = vdScriptParsePrimaryExpression(pThis, &pExpr);
     
    11131104            vdScriptAstNodeFree(&pExpr->Core);
    11141105    }
     1106
     1107    LogFlowFunc(("returns rc=%Rrc\n", rc));
    11151108    return rc;
    11161109}
     
    11391132    PVDSCRIPTASTEXPR pExprTop = NULL;
    11401133
     1134    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
     1135
    11411136    while (true)
    11421137    {
     1138        bool fQuit = false;
    11431139        PVDSCRIPTASTEXPR pExprNew = NULL;
    11441140
     
    11951191            /* Must be a postfix expression. */
    11961192            rc = vdScriptParsePostfixExpression(pThis, &pExprNew);
     1193            fQuit = true;
    11971194        }
    11981195
     
    12091206                pExpr = pExprNew;
    12101207            }
     1208            if (fQuit)
     1209                break;
    12111210        }
    12121211        else
     
    12191218        vdScriptAstNodeFree(&pExprTop->Core);
    12201219
     1220    LogFlowFunc(("returns rc=%Rrc\n", rc));
    12211221    return rc;
    12221222}
     
    12411241    PVDSCRIPTASTEXPR pExpr = NULL;
    12421242
     1243    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
     1244
    12431245    rc = vdScriptParseUnaryExpression(pThis, &pExpr);
    12441246    if (RT_SUCCESS(rc))
     
    12861288            vdScriptAstNodeFree(&pExpr->Core);
    12871289    }
     1290
     1291    LogFlowFunc(("returns rc=%Rrc\n", rc));
    12881292    return rc;
    12891293}
     
    13071311    PVDSCRIPTASTEXPR pExpr = NULL;
    13081312
     1313    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
     1314
    13091315    rc = vdScriptParseMultiplicativeExpression(pThis, &pExpr);
    13101316    if (RT_SUCCESS(rc))
     
    13441350            vdScriptAstNodeFree(&pExpr->Core);
    13451351    }
     1352
     1353    LogFlowFunc(("returns rc=%Rrc\n", rc));
    13461354    return rc;
    13471355}
     
    13651373    PVDSCRIPTASTEXPR pExpr = NULL;
    13661374
     1375    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
     1376
    13671377    rc = vdScriptParseAdditiveExpression(pThis, &pExpr);
    13681378    if (RT_SUCCESS(rc))
     
    14021412            vdScriptAstNodeFree(&pExpr->Core);
    14031413    }
     1414
     1415    LogFlowFunc(("returns rc=%Rrc\n", rc));
    14041416    return rc;
    14051417}
     
    14251437    PVDSCRIPTASTEXPR pExpr = NULL;
    14261438
     1439    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
     1440
    14271441    rc = vdScriptParseShiftExpression(pThis, &pExpr);
    14281442    if (RT_SUCCESS(rc))
     
    14781492            vdScriptAstNodeFree(&pExpr->Core);
    14791493    }
     1494
     1495    LogFlowFunc(("returns rc=%Rrc\n", rc));
    14801496    return rc;
    14811497}
     
    14991515    PVDSCRIPTASTEXPR pExpr = NULL;
    15001516
     1517    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
     1518
    15011519    rc = vdScriptParseRelationalExpression(pThis, &pExpr);
    15021520    if (RT_SUCCESS(rc))
     
    15361554            vdScriptAstNodeFree(&pExpr->Core);
    15371555    }
     1556
     1557    LogFlowFunc(("returns rc=%Rrc\n", rc));
    15381558    return rc;
    15391559}
     
    15551575    int rc = VINF_SUCCESS;
    15561576    PVDSCRIPTASTEXPR pExpr = NULL;
     1577
     1578    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
    15571579
    15581580    rc = vdScriptParseEqualityExpression(pThis, &pExpr);
     
    15821604            vdScriptAstNodeFree(&pExpr->Core);
    15831605    }
     1606
     1607    LogFlowFunc(("returns rc=%Rrc\n", rc));
    15841608    return rc;
    15851609}
     
    16011625    int rc = VINF_SUCCESS;
    16021626    PVDSCRIPTASTEXPR pExpr = NULL;
     1627
     1628    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
    16031629
    16041630    rc = vdScriptParseBitwiseAndExpression(pThis, &pExpr);
     
    16281654            vdScriptAstNodeFree(&pExpr->Core);
    16291655    }
     1656
     1657    LogFlowFunc(("returns rc=%Rrc\n", rc));
    16301658    return rc;
    16311659}
     
    16471675    int rc = VINF_SUCCESS;
    16481676    PVDSCRIPTASTEXPR pExpr = NULL;
     1677
     1678    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
    16491679
    16501680    rc = vdScriptParseBitwiseXorExpression(pThis, &pExpr);
     
    16741704            vdScriptAstNodeFree(&pExpr->Core);
    16751705    }
     1706
     1707    LogFlowFunc(("returns rc=%Rrc\n", rc));
    16761708    return rc;
    16771709}
     
    16931725    int rc = VINF_SUCCESS;
    16941726    PVDSCRIPTASTEXPR pExpr = NULL;
     1727
     1728    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
    16951729
    16961730    rc = vdScriptParseBitwiseOrExpression(pThis, &pExpr);
     
    17201754            vdScriptAstNodeFree(&pExpr->Core);
    17211755    }
     1756
     1757    LogFlowFunc(("returns rc=%Rrc\n", rc));
    17221758    return rc;
    17231759}
     
    17391775    int rc = VINF_SUCCESS;
    17401776    PVDSCRIPTASTEXPR pExpr = NULL;
     1777
     1778    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
    17411779
    17421780    rc = vdScriptParseLogicalAndExpression(pThis, &pExpr);
     
    17661804            vdScriptAstNodeFree(&pExpr->Core);
    17671805    }
     1806
     1807    LogFlowFunc(("returns rc=%Rrc\n", rc));
    17681808    return rc;
    17691809}
     
    18001840    int rc = VINF_SUCCESS;
    18011841    PVDSCRIPTASTEXPR pExpr;
     1842
     1843    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
    18021844
    18031845    rc = vdScriptParseLogicalOrExpression(pThis, &pExpr);
     
    19101952            vdScriptAstNodeFree(&pExpr->Core);
    19111953    }
     1954
     1955    LogFlowFunc(("returns rc=%Rrc\n", rc));
    19121956    return rc;
    19131957}
     
    19291973    int rc = VINF_SUCCESS;
    19301974    PVDSCRIPTASTEXPR pAssignExpr = NULL;
     1975
     1976    LogFlowFunc(("pThis=%p ppAstNodeExpr=%p\n"));
    19311977
    19321978    rc = vdScriptParseAssignmentExpression(pThis, &pAssignExpr);
     
    19592005        *ppAstNodeExpr = pAssignExpr;
    19602006
     2007    LogFlowFunc(("returns rc=%Rrc\n", rc));
    19612008    return rc;
    19622009}
     
    24342481                    pAstNodeFn->pFnIde   = pFnIde;
    24352482                    pAstNodeFn->pRetType = pRetType;
     2483                    RTListInit(&pAstNodeFn->ListArgs);
    24362484
    24372485                    pFnIde = NULL;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette