中文

零时语法高亮:泛化与加速

软件工程 2024-02-15 v1

摘要

零时语法高亮是快速将视觉次要符号值与语言派生中每个字符关联的任务。该领域的研究受线上软件开发工具普及程度的驱动,这些工具频繁在屏幕上显示源代码并严重依赖语法高亮机制。在此背景下,三个相对立的需求困扰着该空间的解析器:速度、准确性和开发成本。速度约束对于确保工具可用性至关重要,表现为对最终用户访问线上源代码的响应性以及最小化系统开销。同时,实现精确的高亮显示对于增强代码可理解性至关重要。然而,要获得准确的结果则需要能够对待分析的代码进行语法分析,即使其语法正确性有所变化。此外,解决此类解析器的开发成本也至关重要,考虑到众多编程语言版本的存在。当前该领域的最先进方法利用编程语言的原始词法分析器和解析器创建语法高亮预言,随后用于训练基于递归神经网络的基础模型。鉴于此类解决方案的泛化性仍是未知数,本文通过将原始工作扩展到三个额外的主流编程语言并对结果进行全面评估来解决此问题。此外,通过引入一种新型基于卷积的神经网络模型,缓解了该工作在评估性能和训练成本方面的原始局限性。本研究考察了在 GPU 上运行模型的性能提升,发现新的 CNN 实现比以前的方法更快,同时保持高准确率。

关键词

引用

@article{arxiv.2402.08754,
  title  = {On-the-Fly Syntax Highlighting: Generalisation and Speed-ups},
  author = {Marco Edoardo Palma and Alex Wolf and Pasquale Salza and Harald C. Gall},
  journal= {arXiv preprint arXiv:2402.08754},
  year   = {2024}
}