c# – 解释自定义语言

c# – 解释自定义语言,第1张

概述我需要开发一个应用程序,它将读取和理解文本文件,在其中我将找到描述 *** 作列表的自定义语言(即烹饪配方).此语言尚未定义,但可能采用以下形式之一: > C代码 (此代码是随机生成的,仅用于示例目的): beginrepeat(10){ bar(toto, 10, 1999, xxx);}result = foo(xxxx, 10);if(foo == ok){ ...} 我需要开发一个应用程序,它将读取和理解文本文件,在其中我将找到描述 *** 作列表的自定义语言(即烹饪配方).此语言尚未定义,但可能采用以下形式之一:

> C代码

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

beginrepeat(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

总结

以上是内存溢出为你收集整理的c# – 解释自定义语言全部内容,希望文章能够帮你解决c# – 解释自定义语言所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存