Add function definition parsing

There’s a bug that using left, right will causing the AST level has
malposition