Towards More Trustworthy and Interpretable LLMs for Code through Syntax-Grounded Explanations