标签表测试.txt

来自「自己开发的汇编式脚本语言编译器」· 文本 代码 · 共 42 行

TXT
42
字号
    // ---- 标签表测试 --------------------------------------------------------

    // ---- 初始化标签表
    
    InitLinkedList( &g_LabelTable );

    // ---- 为标签表赋值

    // 两个标签名称相同,函数域不同
    // 结果应为两个标签 test1
    AddLabel( "test1", 0, 0 );
    AddLabel( "test1", 0, 1 );

    // 两个标签作用域相同,标签名不同
    // 结果应为两个不同标签 test2_1 test2_2
    AddLabel( "test2_1", 0, 0 );
    AddLabel( "test2_2", 0, 0 );

    // 两个标签相同,作用域也相同
    // 结果应为一个标签 test3
    AddLabel( "test3", 3, 1 );
    AddLabel( "test3", 4, 1 );

    // ---- 输出标签表

    LinkedListNode  *pCurrNode  = g_LabelTable.pHead;
    for( int i=0 ; i<g_LabelTable.iNodeCount ; ++i )
    {
        LabelNode   *pCurrLabel = (LabelNode*)pCurrNode->pData;

        cout <<left<<setw(20)<< "Index " << pCurrLabel->iIndex << endl;
        cout <<left<<setw(20)<< "Ident " << pCurrLabel->pstrIdent << endl;
        cout <<left<<setw(20)<< "Func Index " << pCurrLabel->iFuncIndex << endl; 
        cout <<left<<setw(20)<< "Target Index " << pCurrLabel->iTargetIndex << endl << endl;

        pCurrNode   = pCurrNode->pNext;
    }

    // ---- 释放标签表

    FreeLinkedList( &g_LabelTable );

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?