命令解析器/解释器[重复]

Posted

技术标签:

【中文标题】命令解析器/解释器[重复]【英文标题】:command parser/interpreter [duplicate] 【发布时间】:2012-10-09 13:49:29 【问题描述】:

可能重复:Best way to parse command line arguments in C#?

我正在寻找一个可以提供简单命令解析的库。类似于命令行解析器的东西会很好。命令行解析器的问题在于获取实际命令并将其与选项轻松配对。

例如,我可能想打开调试。为此,我想做这样的事情。

debug on -f "c:\logs\debug file.txt"

如果我想开启优化,我可以这样做。

optimize on

optimize off

虽然我可以使用标准命令行解析器来完成此任务,但在实际使用标准命令行解析器之前需要进行一些预处理。我真的只是在寻找一个不需要大量调试的优雅解决方案。

顺便说一句,有没有人推荐在 .NET 中使用 python?

【问题讨论】:

【参考方案1】:

Python 内置了一个名为 argparse Python argparser

对于 C#,您可以使用:C# Argparse

如果我需要自己编写一个,我会从编写一个基于堆栈的语言解释器开始,然后解析选项会非常容易。只需编写词法分析器,您就已经编写了一半的语法。

Python 是其中之一,当您将它添加到任何东西时,它会立即变得很棒。因此,您只能想象将 Python 与 .NET 结合使用会是什么样子。根据个人经验,您可以使用 IronPython 快速完成很多工作。 (哦,你也可以使用 TPL(任务并行库)。

玩得开心!

【讨论】:

感谢您的建议。我查看了您引用的 *** 问题,它为我指出了一些不错的命令行解析器。但是,我不确定他们能否满足我的需要。我曾考虑过创建自己的解释器,但是,由于我从未做过这样的事情,我觉得这将是一项艰巨的任务。也许在未来。我会看看 IronPython,因为我真的很喜欢 Python。 在 Python 中很简单,看看这个链接:4.flowsnake.org/archives/252 非常感谢您的参考。这很有趣,我想我可能会做一些项目来扩展这个概念证明。我认为它可以派上用场。

以上是关于命令解析器/解释器[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Linux 命令解析器

linux基本命令操作-目录与文件的配置和管理

Linux操作系统基础解析之——Bash(Shell)基础知识

mysql工作流程

命令行解析器动词无法识别

寻找 .NET 的命令行参数解析器 [关闭]