我写这篇文章是为了询问您认为应该完成的最佳方式。我的任务是为 Gorbachev SyntaxHighlighter 实现新的画笔。但我根本不知道 sparql。搜索后,我想到了移植一个现成的荧光笔。我选择一种基于python的。但它是词法分析器。 https://github.com/gniezen/n3pygments/tree/master/swlexers 寻找有关该方法的意见,最终是否可以提示我更好的解决方案。欢迎任何反馈。
最好的祝福。
我写这篇文章是为了询问您认为应该完成的最佳方式。我的任务是为 Gorbachev SyntaxHighlighter 实现新的画笔。但我根本不知道 sparql。搜索后,我想到了移植一个现成的荧光笔。我选择一种基于python的。但它是词法分析器。 https://github.com/gniezen/n3pygments/tree/master/swlexers 寻找有关该方法的意见,最终是否可以提示我更好的解决方案。欢迎任何反馈。
最好的祝福。
我会说你必须像其他语言的语法高亮一样做同样的事情,SPARQL 只不过是一种查询语言,它的关键字来自W3.org,我们可以识别需要突出显示的关键字,
例如简单查询:
SELECT ?title
WHERE
{
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title .
}
在这里,我们需要突出显示SELECT
?title
它有两次,并且where
带有打开和关闭大括号{
,}
所以在这种情况下应该这样做,
因此,根据语言关键字创建列表,这将帮助您完成任务:)
我希望这个能帮上忙..
最好的方法是阅读语言规范。但是如果你懒得做,你可以看看其他荧光笔,比如 codemirror:https ://github.com/marijnh/CodeMirror/blob/master/mode/sparql/sparql.js