编程语言
首页 > 编程语言> > 在python中创建语法高亮显示(PyQt4)

在python中创建语法高亮显示(PyQt4)

作者:互联网

我一直在互联网上搜索文本编辑器中特定文件的语法突出显示,我读到了Lexers和Yacc.我对语法高亮的概念很困惑.

我使用PyQt4创建了一个简单的文本编辑器,我希望它能够启用语法高亮的编程语言,如HTML,CSS,Python,C/C++.但我不知道如何开始实施这个以及从哪里开始.请有人指出我正确的方向,并清楚我对语法高亮的疑虑.请.

解决方法:

您需要将文本划分为词法标记(单词,数字,符号等),找出每个标记的内容,并相应地对其进行着色.识别数字和符号很容易,但要知道单词是变量,函数,关键字还是根据语言的语法规则解析文本.这就是为什么你的搜索找到词法分析(Lex)和解析(Yacc)的参考.词法分析是关于将字母和符号组合成单词和其他标记,解析是关于这些标记如何组合在一起构成语法上有效的程序.

Python有一个库模块tokenize,它完全符合Python语言的要求.该文档甚至表示它对于漂亮打印和着色屏幕显示非常有用.希望使用它可以让您更好地了解所有这些东西是如何工作的.然后你可以搜索Python库来解析其他语言,或者自己编写一个.

有一个Stack Overflow问题here建议pyPEG用于解析其他语言. Jimothy对Pygments的建议也很好.

标签:python,text-editor,syntaxhighlighter,pyqt4
来源: https://codeday.me/bug/20190722/1507739.html