add preprocess to handle function definition pattern in s5