Modify expression_kernel to generate an AST