有没有适用于Flex和Bison的Sublime Text语法?

13

我正在寻找Sublime Text中可以使我的Flex和Bison文件(或lex/yacc)以易读的方式高亮显示的语法... Sublime Text自动选择Lisp用于Flex文件,但这并不是很好。有没有建议尝试其他语法?或者是否有一个有用的插件(到目前为止还没有找到任何东西)?


这个人,https://github.com/Jackneill/sublime-text-packages/tree/master/Packages,似乎有Bison和Flex的软件包。我自己没有尝试过。 - Wolf
Flex实际上是Adobe Flex,但添加Bison可能会很有趣。谢谢。 - Lieven Cardoen
5个回答

15
我还没有找到一个专门为Sublime构建的,但我找到了一个适用于TextMate的,Sublime与之兼容。
因此,对于Flex高亮,您只需要将TextMate的语法文件 git clone到您的Packages文件夹中即可。
关于Bison,我找到了一个TextMate的语法,但对我来说效果不太好。这个Vaklarados发布的在我的源文件中效果更好。

那个插件正是我所需要的!谢谢!然而,Vlakarados发布的那个不是yacc-bison。仍在寻找中,可能很快就要写一个了。 - nevelis
你好,我已经在“C:\Program Files\Sublime Text 3\Packages\”中克隆了这个仓库,但即使重启后ST3仍然不知道flex语法,我错在哪里了? - Hey
1
@Arno 我也遇到了同样的问题。Git仓库中有一个文件名带有:,所以在Windows上无法正确克隆。你需要手动下载Syntaxes/Lex:Flex.tmLanguage文件(并从文件名中删除:),然后将其放入文件夹中,这样应该就可以正常工作了。 - Entity

3

thalesmello发布的那个对于Flex很有效。对于Bison,我找到了这一个——它非常简单,但是可以作为一个开始:

https://github.com/Jackneill/sublime-text-packages/tree/master/Packages/Bison

如果你找到更好的,请告诉我!

编辑:我收回之前的说法——Flex那个会用粉色高亮显示起始状态和C/C++代码,看起来很糟糕。对于基本的lex文件,看起来还不错,但是需要改进。 :)

再次编辑:正如sonu kumar指出的那样,该项目已经从Github中删除。你可以尝试使用内置的OCamlyacc语法高亮(相当不错),或者另一个替代品:https://bitbucket.org/artyom_smirnov/sublime-text-bison-highlighter(还需要一些工作)。

我现在更多地使用Sublime,并且在Flex/Bison中做了相当多的工作,所以也许有一天我会写一个……:D


1
啊,糟糕,项目似乎被删除了... :( 我得找一个克隆版本。 - nevelis
1
@sonukumar 找不到一个克隆 - 内置的 OCamlyacc 看起来还不错,这里还有另一个:https://bitbucket.org/artyom_smirnov/sublime-text-bison-highlighter/src/2c46905909f4ae77ba02504122dffb3052ec8171/Bison.tmLanguage?at=master 但它不如 OCamlyacc。 - nevelis
谢谢,我使用软件包管理器安装了。所以没有问题。 - sonus21
我们有没有在Windows上解决lex/flex的方案?安装在Linux系统(Ubuntu)上可以工作,但在Windows上失败并显示“文件名无效”的错误。 - sonus21

2

2

确实有以下两款插件:

编写自己的非典型语言插件并不难,只需要浏览其他语言语法文件的源代码,并复制粘贴修改所需内容即可。同时还可以提高你的正则表达式技能水平。


7
我猜我必须自己写它们,因为Flex是Adobe Flex,而Bison是二进制JSON。 - Lieven Cardoen
抱歉,看起来我在这件事上理解有误,当你回复上面的评论后,我非常确定你实际上是在谈论Adobe :) - Sergey Telshevsky
确实,我有点困惑。 - Lieven Cardoen
我知道这是一个旧答案。但是你的答案链接是404。 - Max Base

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接