Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于解析Bash脚本的Haskell库?_Bash_Parsing_Haskell - Fatal编程技术网

用于解析Bash脚本的Haskell库?

用于解析Bash脚本的Haskell库?,bash,parsing,haskell,Bash,Parsing,Haskell,有人知道可以解析任意Bash脚本的Haskell库吗 粗略搜索Hackage表明有一个名为bash的包用于编写脚本,但我没有看到任何用于解析脚本的内容 基本上,我刚刚收集了大量Bash脚本,我想对其进行一些代码分析。但第一阶段显然是能够解析这些东西 我个人不太了解巴什。我想我可以坐下来,翻阅大量的手册页,获得完整的BNF语法。(考虑到shell的长期向后兼容历史,我认为这非常复杂。)我只是想知道是否有其他人已经为我完成了这项工作…也许可以扩展 Sh是用于解析和操作的模块集合 shell语法中的表

有人知道可以解析任意Bash脚本的Haskell库吗

粗略搜索Hackage表明有一个名为
bash
的包用于编写脚本,但我没有看到任何用于解析脚本的内容

基本上,我刚刚收集了大量Bash脚本,我想对其进行一些代码分析。但第一阶段显然是能够解析这些东西

我个人不太了解巴什。我想我可以坐下来,翻阅大量的手册页,获得完整的BNF语法。(考虑到shell的长期向后兼容历史,我认为这非常复杂。)我只是想知道是否有其他人已经为我完成了这项工作…

也许可以扩展

Sh是用于解析和操作的模块集合 shell语法中的表达式。这是一个更大项目的一部分,嘘。 请注意,在我们达到版本之前,API有些不稳定 1.0


祝你好运。如果您要自己编写解析器,您将需要它。我认为您最好尝试查看bash代码并从解析器开始工作。存在Haskell bash解析器的可能性似乎很小。您可以从Haskell本地使用一些库来获取AST。可能性:,bash源代码中的yacc文件有6000行长,似乎有相当多的黑客攻击。但是我认为它并没有那么糟糕。@MathematicalOrchid
sh
通常不是
bash
的符号链接,尽管我相信它在OSX和其他一些系统上。Debian有一个相当不错的
checkbashims
工具。最常用的扩展是
[[/code>@singpolyma。我的脚本肯定包含了
[[/code>的大量用法。所以,是的,我想它是Bash。。。