コード例 #1
0
static void lAddByte(TokenStream *fTok, unsigned char fVal)
{
    TokenBlock *lBlock;
    lBlock = fTok->current;
    if (lBlock->count >= lBlock->max)
        lBlock = lNewBlock(fTok, 0);
    lBlock->data[lBlock->count++] = fVal;
} // lAddByte
コード例 #2
0
ファイル: tokens.c プロジェクト: CGAnderson/cgc-opensrc
TokenStream *NewTokenStream(const char *name)
{
    TokenStream *pTok;

    pTok = (TokenStream *) malloc(sizeof(TokenStream));
    pTok->next = NULL;
    pTok->name = idstr(name);
    pTok->head = NULL;
    pTok->current = NULL;
    lNewBlock(pTok);
    return pTok;
} // NewTokenStream
コード例 #3
0
TokenStream *NewTokenStream(const char *name, MemoryPool *pool)
{
    TokenStream *pTok;

    if (!pool)
        pTok = (TokenStream *) malloc(sizeof(TokenStream));
    else
        pTok = (TokenStream*)mem_Alloc(pool, sizeof(TokenStream));
    pTok->next = NULL;
    pTok->name = idstr(name, pool);
    pTok->head = NULL;
    pTok->current = NULL;
    lNewBlock(pTok, pool);
    return pTok;
} // NewTokenStream
コード例 #4
0
ファイル: tokens.c プロジェクト: CGAnderson/cgc-opensrc
static void lAdd4Bytes(TokenStream *fTok, unsigned char *fVal)
{
    TokenBlock *lBlock;
    unsigned char *pc;

    lBlock = fTok->current;
    if (lBlock->count + 4 > lBlock->max)
        lBlock = lNewBlock(fTok);
    pc = &lBlock->data[lBlock->count];
    lBlock->count += 4;
    pc[0] = fVal[0];
    pc[1] = fVal[1];
    pc[2] = fVal[2];
    pc[3] = fVal[3];
} // lAdd4Bytes