如何为应用程序创建计算机或脚本语言?

时间:2009-04-30 19:54:24

标签: programming-languages scripting

重复:

和其他人我现在懒得找。


我不是在问如何制作一种非常复杂的语言。我只是想了解基础知识。我会用c#作为底层语言。我知道这很模糊。我希望有一些非常基本的东西可以指导我。

我认为我最感兴趣的是创建脚本语言。例如,我看到人们编写程序,但后来他们的应用程序有脚本语言。我不想重写Windows脚本语言。假设我有一个文本文件阅读器,并且出于某种原因想要一种脚本语言来自动化某些东西。我不知道该怎么问。

谢谢。

编辑 - 谢谢你的回答。我正在考虑更多的学习而不是现在正在做的事情。我可能会使用LUA,但我试图更多地了解这个概念。

6 个答案:

答案 0 :(得分:4)

你可以看一下LUA - 每次我问自己“如何在插入插入任务时,我就用它取得了巨大成功我的其中一个应用?“

编辑:以下是一些示例(摘自links page,诚然,笨拙Lua Wiki),了解如何在应用中嵌入Lua:

  

答案 1 :(得分:2)

您可以使用Python或Javascript等现有语言。例如,对于Javascript,Java应用程序有http://www.mozilla.org/rhino/。因此,通常您不需要实际发明新语言,只需为已存在的语言提供自定义API。

答案 2 :(得分:1)

有些术语是有序的。你可能在谈论domain-specific language。 将文本文件转换为“可执行文件”的两种基本方法:a compileran interpreter。解释器更适合脚本概念,因为一次构建和执行一行更容易。请注意,除了一种非常简单的语言之外,编写一个体面的解析器或一个体面的解释器都是非常重要的。关于口译员的经典着作是SICP,但对于初学者来说这是一本非常难的书。

答案 3 :(得分:1)

Scott Hanselman在他的latest hanselminutes podcast中提到,集成IronPython以允许编写现有应用程序的脚本非常容易。

如果您对使应用程序可编写脚本的最终目标感兴趣,那么您一定要考虑使用现有语言而不是尝试编写自己的语言。

如果您对编写自己的脚本语言的教育经历更感兴趣,那么您应该去实现它!

答案 4 :(得分:0)

没有必要创建一种新的脚本语言,例如。 Rhino是一种广泛使用的可嵌入式javascript(http://www.mozilla.org/rhino/)或MS的Jscript,您可以直接在您的产品中使用。

我已经走了你要问的方式 - 我曾经创建了自己的方案解释器。这非常有效,但我们重新发明了很多技术,并没有真正获得很多额外的好处。如果只使用其中一个可用的方案,我们会好得多。即使它很有趣也很成功,我不会再做出那个决定。

答案 5 :(得分:0)

首先你需要像lex这样的词法解析器,然后是像bison一样的语法解析器。

然后您可以使用语法分析器创建一个解释器来“执行”语法结果。

这就是大多数脚本语言的用法。

p.s:另一种方法是通过编写shell来练习 - shell脚本(bash,csh或sh)是高度简化的脚本语言。