実行時にはa,i,l,f,d,voidしか区別する必要ないんだから、
結構簡単なんじゃないの?