[求助]有没有用 JS 做过语言的大侠, 怎样把 DSL 转化成代码?
发布于 12 年前 作者 jiyinyiyong 4330 次浏览 最后一次编辑是 8 年前

想模仿 LispyScript 做一门很简单的语言, 然后编译到 JS, http://lispyscript.com/ 我主要想去掉很多括号, 效果, 可能像下面这样吧, 已经在尝试写了 https://gist.github.com/3617971 不会用 Jison 也不熟悉 Paser AST, 现在的代码是模仿 LispyScript 的 https://github.com/jiyinyiyong/scirpus/blob/gh-pages/src/to_code.coffee 先解析成 token, 然后直接把下面这样的 token 按模版编译成代码: http://jiyinyiyong.github.com/scirpus/html/aray.html 但是这样生成的代码用 esprima 梳理的时候发现经常代码会出错, 不知道现在有什么好的办法… 求指点…

3 回复

去掉括号之类的我觉得很coffee,javascript难看就在很多回调函数. 嘿嘿,你可以考虑加个关键字之后编译出来时异步回调的^ ^

操作 AST 我还不会啊, 瞟过 Mozilla 上的文档… 太难懂了… 我觉得所有 (跨行 or 行尾连续) 的括号都很难看, 这在 coffee 里也有点

@jiyinyiyong 慢慢看呗,你说的这些我一头的问号^ ^

回到顶部