gpt4 book ai didi

regex - 编写语法荧光笔

转载 作者:行者123 更新时间:2023-12-03 01:39:31 25 4
gpt4 key购买 nike

我希望为我正在考虑从事的夏季项目编写自己的语法荧光笔,但我不确定如何编写自己的语法荧光笔。

我知道有很多实现,但我想了解正则表达式以及语法突出显示的工作原理。

语法高亮是如何工作的以及开发语法高亮有哪些好的引用?语法荧光笔是否在输入时扫描每个字符,还是在输入每个字符后扫描整个文档/文本区域?

任何见解将不胜感激。

谢谢。

PS:我本来打算用 ActionScript 编写它

最佳答案

语法荧光笔可以通过两种非常通用的方式工作。第一个为突出显示的语言实现了完整的词法分析器和解析器,准确识别每个标记的类型(关键字、类名、实例名、变量类型、预处理器指令...)。这提供了根据某些规范准确突出显示代码所需的所有信息(红色的关键字,蓝色的类名,等等)。

第二种方式类似于 Google Code Prettify使用,而不是为每种语言实现一个词法分析器/解析器,而是使用几个非常通用的解析器,可以在大多数语法上完成不错的工作。例如,这个荧光笔将能够很好地解析和突出显示任何类似 C 的语言,因为它的词法分析器/解析器可以识别这些语言的通用组件。

这还有一个优点,因此,您不需要显式指定语言,因为引擎将自行确定哪个通用解析器可以完成最好的工作。当然,缺点是突出显示不如使用特定于语言的解析器时那么完美。

关于regex - 编写语法荧光笔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/809423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com