首先,我想要一种编程语言来实现该语言与我的应用程序环境之间的交互。我写了一些只知道if
,void
和function
的变量及其范围的变量,当然还调用了内置函数,它们都能完美地工作。但现在,我坚持使用一些部分并意识到我不能继续进行简单的文本解析,而且还有很多我不能做的事情。
为此,我搜索了这个主题并获得了Creating programming language using C#。这很好,但我有两个问题。
简而言之,有没有人知道如何在不了解Lexers,思考的情况下制作语言......
感谢。
答案 0 :(得分:6)
答案 1 :(得分:4)
我不确定我是否真的理解你的问题。
这是您的计划的延伸吗?用C#编写的库函数集合?
或者您在C#中编写解释器的完全独立的语言? (这是我猜的)
如果是后者,在过去的好日子里,我会指向Lex / Yacc(GIYF)。
现在,我只能说是ANTLR。查看Five minute introduction to ANTLR 3和ANTLR v3 C# Code generator and Runtime library
只需在此页面上查看IDE的屏幕截图
答案 2 :(得分:1)
创建自己的语言是可能的,但非常具有挑战性。没有词法分析器之类的东西你就做不好。
创建自己的语言也会迫使您的客户学习另一种语言,而且这种推定语言不会存在现存的第三方代码或库。
另一种方法是嵌入现有语言并通过它来展示您的应用程序的功能。 Python是嵌入的一个非常常见的选择,但还有许多其他选项。我强烈建议您为此任务考虑嵌入现有语言而不是发明自己的语言。