complete function grammar