|
|
1
4
据我所知,你有两个选择 您可以使用XML样式的“标记”让他们定义实体及其分组,但这可能不是最好的。 你的选择是,是的,你可以嵌入一种语言,但你真的需要吗?这不是太过分了吗?你怎么能控制它呢? 如果你只需要非常简单的语法,那么也许可以编写自己的语言。实际上,创建一个简单的解释器并不难,只要你有一个严格、明确的语言。看看你使用的c#编译器的例子吧? 我在大学用java写了一个非常简单的解释器,并没有你想象的那么难。 |
|
|
2
2
如果你真的只想要一种非常简单的语言,你需要一个“递归下降解析器”。 例如,这样的语言:
你可能有这样的语法:
代码如下:
|
|
|
3
2
对于简单的DSL来说,这似乎是一个完美的场景。看见 http://msdn.microsoft.com/en-us/library/bb126235(VS.80).aspx 一些信息。 您还可以使用lua等脚本语言。网。 |
|
|
4
1
这是一个Python式的解决方案,用于构建DSL,您可以使用它来编译和创建字节码数组。
这些类的定义相对简单。这里的每个类都很容易实现为直接调用基础C#模块的Python模块。 语法是纯Python,不需要额外的解析或词法扫描。 |
|
|
5
1
要添加到S.Lott的评论中,请按照以下方式操作 eval a Python script from C# |
|
|
6
0
虽然创建这种迷你语言并将其全部编码可能很有趣,但你需要问的真正问题是:
当现实可能表明对此类请求的真正答案是“否”时,“真正整洁”的功能有一种构建方式。 在继续之前,看看你是否有利益相关者愿意赞助这件事。然后在提交项目之前,与最终用户核实他们真正想要什么。 干杯, R |
|
|
David542 · 任何语言都允许函数名中有空格吗? 11 月前 |
|
|
David542 · 为什么词法分析器通常将var定义为不能以数字开头? 12 月前 |
|
Andy · 将LENGTH OF移动到COMP字段解析失败 1 年前 |
|
|
Chris Geo · 如何找到LR0项目的FOLLOW集合? 1 年前 |
|
|
Yash Singhal · 在reactjs中解析Pdf中的文本 1 年前 |
|
|
i33SoDA · 如何将逗号分隔的数字字符串解析为int数组? 1 年前 |