asm/lex.c
static struct Token *lex_push(
        struct Context *ctx,
        struct Token *current,
        struct Token token
    ) {
    current->next = asmalloc(sizeof(struct Token));
    token.prev = current;
    token.next = NULL;
    token.input = ctx->input;
    token.line = ctx->input->line;
    token.line_no = ctx->input->line_no;
    token.flags =
        (ctx->ifs.size == 0 || (BUFPEEK(ctx->ifs) == IFF_SUCCESS))
            ? 0 : (1 << TF_IGNORE);
    *current->next = token;

    if (token.flags & TF_IGNORE) {
        asmdbg(ctx, current->next, "Pushed ignore token");
    }

    return current->next;
}
// pushes a token to the token stream, returning the latest in the stream
pushes a token to the token stream, returning the latest in the stream
pushes a token to the token stream returning the latest in the stream
static struct Token *lex_push(
        struct Context *ctx,
        struct Token *current,
        struct Token token
    ) {
    current->next = asmalloc(sizeof(struct Token));
    token.prev = current;
    token.next = NULL;
    token.input = ctx->input;
    token.line = ctx->input->line;
    token.line_no = ctx->input->line_no;
    token.flags =
        (ctx->ifs.size == 0 || (BUFPEEK(ctx->ifs) == IFF_SUCCESS))
            ? 0 : (1 << TF_IGNORE);
    *current->next = token;
    if (token.flags & TF_IGNORE) {
        asmdbg(ctx, current->next, "Pushed ignore token");
    }
    return current->next;
}
static struct Token * lex_push ( struct Context * ctx , struct Token * current , struct Token token ) { current -> next = asmalloc ( sizeof ( struct Token ) ) ; token . prev = current ; token . next = NULL ; token . input = ctx -> input ; token . line = ctx -> input -> line ; token . line_no = ctx -> input -> line_no ; token . flags = ( ctx -> ifs . size == 0 || ( BUFPEEK ( ctx -> ifs ) == IFF_SUCCESS ) ) ? 0 : ( 1 << TF_IGNORE ) ; * current -> next = token ; if ( token . flags & TF_IGNORE ) { asmdbg ( ctx , current -> next , " " ) ; } return current -> next ; }
pushes a token to the token stream, returning the latest in the stream
pushes a token to the token stream returning the latest in the stream