什么是嵌入宏处理器的优秀,简单的脚本语言

时间:2011-07-04 19:32:59

标签: scripting programming-languages macros

我想写一个宏处理器。到目前为止,我已经做了一个非常简单的草图,它应该看起来如何,我得出的结论是,发明一种全新的语言并不是一个好主意,但我应该重用现有的概念。到目前为止,我的草图是一种具有类似tex语法和功能的irb,但我不确定我应该使用什么作为ruby替代品。 语言应该简单但功能强大。我不想在其中编写操作系统,但它应该不如“原始”操作系统。 bc或者。我根本不关心执行时间。嵌入不应该太难,如果语言本身稳定就会很好。

到目前为止,我已经考虑过这些:

  • Lua - 它应该轻松处理文本。 Lua甚至没有while(c=getchar()){}。我很怀疑。
  • awk - 简单,文本处理很简单,但从不打算嵌入
  • perl - 复杂,稳定的方式,但似乎几乎死了。
  • python - 重要的空白;它们不会妨碍内联函数定义吗?
  • groovy / nice / java - 很难/不可能嵌入?也是沉重的方式。
  • javascript - 真的很喜欢它(除了DOM)但是有稳定/可嵌入的实现吗?当有一个新的v8版本时,我不想每两周乱用一次api。正如我所说,我不关心执行时间。

我没有真正找到任何利弊

  • IO
  • 诡计/方案
  • TCL

更新:该语言应具有功能定义,库加载 regexps等功能(循环也非常好)我不想使用传统的宏语言,如M4,因为我希望能够以更多程序(或可能是功能)的方式编写。宏语言有它们的优点,但我需要一种全新的思考问题的方法,这对于初学者来说尤其困难。我的目标是利用两全其美的优势。

1 个答案:

答案 0 :(得分:2)

鉴于TCL是关于字符串和数组处理的,并且用于嵌入,它似乎是一个显而易见的选择。

Luatex有一定的追随者。据推测,他们已经找到了一种方法使其适用于文本处理,因此您可能希望看一下。

Scheme(包括guile)也非常适合编写脚本;或者你可能会看看是否有一种方法可以嵌入一个elisp处理器(嵌入xemacs?),这毕竟是关于文本处理的。