我正在尝试在 ANTLRv3 上创建一个简单的类似 BaSH 的语法,但无法解析(和检查)子 shell 命令中的输入。
进一步说明:
我想解析以下输入:
$(命令参数*) `命令参数` “一些文本$(命令参数*)”
并且能够像使用简单输入(例如:命令参数)一样检查它的内容。
IE:
解析它会生成一棵树
(SUBSHELL (CMD 命令(PARAM 参数*)))(标记为大写)
我可以忽略 '$('s 和 '`'s,但这不会涵盖在双引号字符串中使用子 shell 的情况,例如:
$ echo "字符串测试 $(ls -l) end"
所以......关于如何实现这一目标的任何提示?