🤖 AI Summary
This work investigates how code representation formats impact the code generation performance of large language models (LLMs), identifying parsing difficulty as a critical limiting factor and, for the first time, systematically validating a positive correlation between code parseability and model performance. To address this, we propose GramTrans: a method grounded in formal language theory that automatically refactors context-free grammars into LL(1)-compatible grammars, augmented by a hierarchical conflict-resolution algorithm to enable controllable trade-offs between syntactic simplicity and token efficiency. Extensive experiments across Python and Java benchmarks—using state-of-the-art models including StarCoder, DeepSeek-Coder, and Qwen2.5—demonstrate that GramTrans significantly outperforms baseline representations such as raw ASTs and S-expressions. The results confirm the method’s effectiveness, robustness, and cross-lingual generalizability.
📝 Abstract
Code generation has shown great promise in assisting software development. A fundamental yet underexplored question is how the choice of code representation affects model performance. While existing studies employ various representations, such as treating code as plain text, grammar rule sequences, or syntax tree sequences, they lack a principled understanding of the relationship between parsing difficulty and model effectiveness. This paper proposes a conjecture: the easier a representation is to parse, the better performance the model achieves. We formalize this idea using grammar classes, where representations in simpler classes (e.g., LL(1)) are easier to parse. Through a controlled experiment on a Python-based DSL, we show that parsing difficulty strongly correlates with model performance. Motivated by this finding, we present GramTrans, a general approach that automatically transforms a context-free language into a representation within the LL(1) class. GramTrans introduces a novel hierarchical conflict elimination algorithm, enabling a flexible trade-off between syntactic simplicity and token efficiency. We evaluate GramTrans on both Python and Java using three code generation models: StarCoder 1B, DeepSeek-Coder 1.3B, and Qwen2.5 1.5B. Across multiple benchmarks, GramTrans consistently delivers significant improvements over baseline representations. Furthermore, our analysis of existing representations reconfirms the strong alignment between parsing difficulty and model performance, providing additional support for the conjecture.