我想在C#中编写一个简单的DSL。不要太复杂。我正在寻找与Lex和Yacc等效的.NET版本。到目前为止,我找到的最简单的选择是GOLD Parser builder。另一个选择是使用F#中可用的lex和yacc,但我现在不想用F#编程。
如果你有任何关于.NET版本的Lex或Yacc的建议,我很乐意听取!
谢谢!
我在维也纳大学的网站上找到了C# Lex和C# CUP
我不确定这是否符合您的需求,但奥斯陆具备创建文本DSL的能力。
它还有更多功能,但您可以忽略所有存储库和大愿景等内容,只需生成一个语法,即可将您的DSL解析为AST。或者,您可以利用内置的支持,将其解析为数据库中的一组行。