小编Pra*_*nth的帖子

选择DSL框架

我正在开发一个需要我定义DSL的项目.由于提出正确的DSL对我的项目至关重要,我决定评估现有的框架,这些框架有助于定义DSL,解析它和代码生成(必须使用基于.NET的语言)我考虑的框架是:

  1. Boo语言具有可定制的编译器和pythonish语法,非常适合定义DSL.
  2. Windows powershell,支持可扩展的命令行开关.
  3. 支持可视化建模的Microsoft DSL工具,但不太灵活(在我看来)
  4. ANTLR是经过验证的工具
  5. C#流畅的接口.(对此不太满意)
  6. 奥斯陆框架(在生产中使用是否成熟?)

上面提到的每个框架都有利弊,我无法做出决定.在上述框架之间做出选择,你会选择哪一个?为什么?

还有其他任何框架都是如此根本以至于我可能错过了吗?

任何帮助或指导将不胜感激.

.net dsl

8
推荐指数
1
解决办法
2791
查看次数

生成一个sencha触摸应用程序

我正在尝试使用Windows上的"sencha generate app MyApp ../MyApp"命令创建一个新的sencha touch应用程序.

我做了以下事情:

下载最新的sencha SDK并将其解压缩到"D:\ MyProjects\sencha-touch-2.1.0-gpl"文件夹中.

"D:\ MyProjects\SenchaSDKTools-2.0.0-beta3"文件夹中安装了sencha SDK工具.

确保系统环境变量"SENCHA_SDK_TOOLS_2_0_0_BETA3"确实指向"d:\ MyProjects下\ SenchaSDKTools-2.0.0-β3"

根据sencha文档,我应该在sencha SDK或应用程序文件夹中运行sencha命令.

所以,如果我的CD到文件夹"d:\ MyProjects下\煎茶触摸-2.1.0-GPL"和运行"煎茶生成的应用程序MyApp的../MyApp",我得到这样的警告信息

**"[WARN] The current working directory (D:\MyProjects\sencha-touch-2.1.0-gpl) is not a recognized Sencha SDK or application folder. Running in backwards compatible mode."**
Run Code Online (Sandbox Code Playgroud)

为什么sencha不认识这个SDK文件夹?

看着代码"sencha.js"文件包括作为SDK工具的一部分,似乎煎茶正在寻找一个".senchasdk"文件.

所以我从示例文件夹中的一个子文件夹尝试了相同的命令(因为此文件夹包含.senchasdk文件)

现在我最终得到了一个错误

"node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module 'D:\MyProjects\sencha-touch-2.1.0-gpl\command\sencha.js'
    at Function._resolveFilename (module.js:332:11) …
Run Code Online (Sandbox Code Playgroud)

sencha-touch sencha-touch-2 sencha-touch-2.1 sencha-command

6
推荐指数
1
解决办法
2万
查看次数