新的脚本语言

我正在尝试自己创建一个脚本语言(它不一定非常完美 – 尽管如果它会很好),主要是因为我这样做很有趣并且了解它们是如何创建的等等。

根据这里的答案: 创建一个我应该研究的脚本语言是这样的: http : //msdn.microsoft.com/en-us/library/xawadt95%28VS.85%29.aspx 。 但是,我完全不知道MSDN页面是关于什么的。

有人可以帮忙吗?

PS是否有任何针对Windows脚本宿主的免费/开源脚本语言,它还有可供我使用的完整源代码?

谢谢

我开始编写一个指南,介绍如何为Windows Script Host实现自己的语言引擎,但是我没有完成任务。

http://blogs.msdn.com/ericlippert/archive/tags/SimpleScript/default.aspx

如果您这样做是为了好玩并了解如何创建语言,我建议您远离Windows脚本宿主。 相反,尝试从更好的例子中学习。 一个良好的第一步是让自己学习http://www.lua.org/ ,学习语言,阅读它是如何实现的,并自己动手。 从语言的角度来看,另一种语言非常糟糕,但很容易实现的是Tcl 。 从Ousterhout的原始Usenix论文开始。

我希望我能推荐一本关于设计和实现自己的编程语言的好书。 我从未见过一个。 (我在这些方面看过一些不好的书,但不希望不尊重作者,我不会识别它们。)但如果你能在一个好的大学图书馆度过一段美好的时光,你就能找到一些有趣的东西。文件。 您可能还会发现检查我们的Friedman和Wand的书“编程语言要点”是值得的 – 尽管它非常技术性,它确实有一些关于编写解释器的好东西。 PJ Brown还有一本很好的(但非常古老的)书,名为Writing Interactive Compilers and Interpreters

制作简单脚本中断程序的简单方法是将源代码由换行符分割成数组并循环遍历每个成员。 这是一个示例字符串source = @“print Hello World!stop”); foreach(source.split(’\ n’)中的字符串a){if(a.StartsWith(“print”)){Console.WriteLine(a.Substring(6)); } if(a ==“stop”){Console.ReadLine(); }