Grammar-Based Code Representation: Is It a Worthy Pursuit for LLMs?
Qingyuan Liang, Zhao Zhang, Zeyu Sun, Zheng Lin, Qi Luo, Yueyi Xiao, Yizhou Chen, Yuqun Zhang, Haotian Zhang, Lu Zhang, Bin Chen, Yingfei Xiong
TL;DR
This work investigates whether grammar-based code representations remain beneficial for billion-scale LLMs, where syntax errors are rare. It introduces GrammarCoder, a decoder-only transformer augmented with a grammar-rule vocabulary and trained through continued pre-training and instruction tuning on Python data. Empirical results on HumanEval(+) and MBPP(+) show that grammar-based representations outperform token-based CPT baselines, with additional gains from semantic-focused analyses that amplify subtle code differences. The findings suggest that incorporating structural grammar information improves semantic differentiation and code generation even at very large scales, and the authors provide public GrammarCoder resources for further research.
Abstract
Grammar serves as a cornerstone in programming languages and software engineering, providing frameworks to define the syntactic space and program structure. Existing research demonstrates the effectiveness of grammar-based code representations in small-scale models, showing their ability to reduce syntax errors and enhance performance. However, as language models scale to the billion level or beyond, syntax-level errors become rare, making it unclear whether grammar information still provides performance benefits. To explore this, we develop a series of billion-scale GrammarCoder models, incorporating grammar rules in the code generation process. Experiments on HumanEval (+) and MBPP (+) demonstrate a notable improvement in code generation accuracy. Further analysis shows that grammar-based representations enhance LLMs' ability to discern subtle code differences, reducing semantic errors caused by minor variations. These findings suggest that grammar-based code representations remain valuable even in billion-scale models, not only by maintaining syntax correctness but also by improving semantic differentiation.
