add preprocessor
memo: define directive need first token in file