Для цели C вы можете использовать
//This must be assigned somewhere
@lexer::context {
ANTLR3_UINT32 defaultChannel;
}
TOKEN : 'blah' {$channel=defaultChannel;};
Это сбрасывается после каждого правила, поэтому, если вы хотите, чтобы назначение канала сохранялось между правилами, вам, возможно, придется переопределить nextTokenStr ().