typedef struct { NB_LINE_HEADER_t header; unsigned char tokens[]; } nb_line_t;
The CoreBASIC interpreter only uses pointers to a nb_line_t so it doesn't matter about the size of the tokens member, but defining it to have 32 token bytes means that it's easy to take a look at the line and its tokens in the debugger.