加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 解释自定义语言

发布时间:2020-12-16 01:40:10 所属栏目:百科 来源:网络整理
导读:我需要开发一个应用程序,它将读取和理解文本文件,在其中我将找到描述操作列表的自定义语言(即烹饪配方).此语言尚未定义,但可能采用以下形式之一: C代码 (此代码是随机生成的,仅用于示例目的): beginrepeat(10){ bar(toto,10,1999,xxx);}result = foo(xxxx,
我需要开发一个应用程序,它将读取和理解文本文件,在其中我将找到描述操作列表的自定义语言(即烹饪配方).此语言尚未定义,但可能采用以下形式之一:

> C代码

(此代码是随机生成的,仅用于示例目的):

begin
repeat(10)
{
    bar(toto,10,1999,xxx);
}
result = foo(xxxx,10);
if(foo == ok)
{
    ...
}
else
{
    ...
}
end

> XML代码

(此代码是随机生成的,仅用于示例目的):

<recipe>
    <action name="foo" argument"bar,toto,xxx" repeat=10/>
    <action name="bar" argument"xxxxx;10" condition="foo == ok">
        <true>...</true>
        <false>...</false>
    </action>
</recipe>

无论选择哪种语言,都必须处理简单的条件,循环.

我从来没有做过这样的事情,但初看起来,我认为将这些操作描述为XML将更简单但功能更少.

在浏览StackOverFlow之后,我发现了一个名为“ANTLR”的工具的聊天…我开始阅读“The Definitive ANTLR Reference”,但由于我从未做过那种东西,我发现很难知道它是不是真的那种我需要的工具……

换句话说,我需要读取文本文件,正确解释它并在我的C#代码中执行操作.这些操作将通过以下简单条件进行交互:

>如果operation1失败,我执行operation2 else operation3.
>重复操作4次10次.

什么是最好的语言来描述那些文本文件(XML,我自己的)?这些发展过程中的关键点是什么?

我希望我很清楚:)

非常感谢您的帮助和建议!

解决方法

XML非常适合以冗长的方式存储关系数据.但是,我认为这是编写程序等逻辑的可怕候选者.

您是否考虑过使用现有的语法/脚本语言,而不是编写自己的语言/脚本语言?例如:

LUA

Python

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读