版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:Clemson Univ Comp Sci Div Sch Comp Clemson SC USA Maynooth Univ Dept Comp Sci Maynooth Kildare Ireland
出 版 物:《SOFTWARE-PRACTICE & EXPERIENCE》 (软件:实践与经验)
年 卷 期:2019年第49卷第3期
页 面:380-400页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:front end grammarware grammar engineering parser programming language evolution Python software engineering
摘 要:In this paper, we describe our experience in grammar engineering to construct multiple parsers and front ends for the Python language. We present a metrics-based study of the evolution of the Python grammars through the multiple versions of the language in an effort to distinguish and measure grammar evolution and to provide a basis of comparison with related research in grammar engineering. To conduct this research, we have built a toolkit, which builds on tools developed in other research. We use to build a system that automates much of the process needed to translate the Python grammars from EBNF to a formalism acceptable to the parser generator. We exploit the suite of Python test cases, used by the Python developers, to validate our parser generation. Finally, we describe our use of the parser generator to facilitate the parser and front-end construction, eliminating some of the transformations and providing practical support for grammar modularisation.