gpt4 book ai didi

parsing - Unix 命令行选项语法

转载 作者:行者123 更新时间:2023-12-02 16:36:10 24 4
gpt4 key购买 nike

这是一个家庭作业问题。我想为 Unix 命令行选项编写一个简单的解析器。
首先,我想用 BNF 定义一个语法。

Options = Option | Options, space, Option;
Option = OptionName | OptionName, OptionArguments;
OptionName = '--', any character excluding '-' | OptionName, any character;
OptionArguments = OptionArgument | OptionArguments, space, OptionArgument;
OptionArgument = any character excluding '-' | OptionArgument, any character;

(这里的“任何字符”是任何字母数字字符)。

这有道理吗?下一个问题是如何添加“旧”Unix 选项,这些选项以单个连字符开头并且可以组合在一起(例如 ls -lht)

最佳答案

请注意,给定的语法相当模糊 - 例如,如果您连续有几个单词,您将不知道这些是不同的选项还是带有某些参数的选项。

至于你的第二个问题(关于“旧”unix),你可以在语法中添加另一个规则,类似的东西:

option -> optionGroup | (anything that was there before);
optionGroup -> '-', flags;
flags -> flag | flag, flags;
flag -> single letter;

关于parsing - Unix 命令行选项语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4416908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com