标签: oslo

使用Microsoft Visual Studio进行文本域特定语言(DSL)开发

我在视觉工作室开发了一些DSL.最初,我发现VS2010有一个可视化和建模SDK.它有一个名为DSL工具的工具.但它似乎只适用于图形DSL开发.

然后我看到一些帖子说"奥斯陆"是一个用于开发文本DSL的工具,它"是"微软产品 - 微软不再支持该工具.http://blogs.msdn.com/b/modelcitizen/archive/2010/09/22/update-on-sql-server-modeling-ctp-repository-modeling-services-quot-quadrant-quot-and-quot- M-quot.aspx

因此,我想知道我是否想开发一个文本DSL,哪种工具最好?如果我使用F#powerpack和FSLex和FSYacc实现DSL解析器,你怎么看?

dsl f# oslo dsl-tools visual-studio

9
推荐指数
2
解决办法
2975
查看次数

面向复合编程(COP),.NET 4.0,MEF和Oslo存储库

过去的一年里,在.NET社区(ala Qi4j)中围绕COP似乎引起了一些兴趣.一些人已经推出了自己的COP框架(参见下面的链接),看起来.NET 4.0的Dynamic Dispatch和MEF可能在任何.NET COP框架中都有潜在的作用.

一方面,很多这样的事情似乎可以追溯到System/38天的想法(是的,我是一个老家伙),尽管另一方面它似乎也非常适合Oslo(建模和存储库)).任何人都可以评论微软是否在COP上做任何工作?

最近的一些.NET COP框架工作:

Hendry Luk - 滚动你自己的COP

Yves GoEleven.com - 警察 - 概念证明

AndersNorås - 诡计还是特质?使用C#进行面向组合编程

MagnusMårtensson - Unity应用程序块上面向复合的编程高峰

architecture mef oslo cop

7
推荐指数
1
解决办法
3566
查看次数

Shift减少并减少冲突

我很难绕过这个并且需要一些帮助来理解转移减少并减少冲突.我有一个语法,我似乎无法理解为什么它有问题.我可以附上语法,但我想知道这是如何工作的.

第一个问题,MGrammer创建了什么类型的解析器?据我了解,shift reduce和reduce reduce冲突取决于解析器的类型.

第二个问题,什么意味着减少减少冲突和什么意味着转移减少冲突?

我知道词法分析和正式语法的基础知识,但是自从我使用语言设计以来已经有一段时间了,所以这里的任何帮助都是非常合适的.

更新:

我正在使用一种空白重要的语言,我想知道在MGrammar中这样做的可能性,我是否需要看一眼才能解决歧义?

oslo mgrammar shift-reduce-conflict reduce-reduce-conflict

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

使用奥斯陆和M有什么优势,何时使用它?

在参加了关于奥斯陆/ MI的演讲之后,我正在努力看到使用它优于现有方法的优势以及在什么情况下它会有用.

我知道它很新,并不是所有的细节都已经发布等等但是有些人可以给我一些优势,当你可能会使用它时?

谢谢,

亚历克斯

.net modeling oslo m

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

微软奥斯陆项目将解决哪些问题?

我观看了很少关于"奥斯陆"的视频/网络直播,但我仍然没有看到它们是如何结合在一起的.

我知道奥斯陆是一个建模平台.

创建DSL的过程是什么?

它不仅仅是创建DSL的工具吗?

我知道MGramma用于创建DSL的语法.

什么是M语言?

什么是MSchema?

创建MGrammar并将其编译为.mgx后,下一步是什么?

oslo

5
推荐指数
1
解决办法
696
查看次数

奥斯陆的Intellipad:如何设置3列MGrammarMode?

我一直在使用奥斯陆作为MSchema.效果很好.我可以为数据库设计编写一个M Schema,并生成T-SQL以使用PK,FK构建整个数据库,检查完整性等.我已经设置了一个.bat文件来将.m编译成.mx然后加载它进入数据库,然后运行SqlMetal进入我的项目,并在30秒内继续我的更改.我喜欢它.

好的,现在我正在进入mGrammar.我不太确定如何将它合并到我的应用程序中,但我会弄明白的.我首先需要设置Intellipad给我输入/语法/输出三联画.我很难过.我无法想出用流程设置它的任何方法.是的,我可以接受song.mg项目并将其重命名,但这并没有让我对这个东西如何运作有任何见解.有任何想法吗?

oslo m mgrammar intellipad

4
推荐指数
1
解决办法
674
查看次数

T4 vs CodeDom vs Oslo

在我正在使用的应用程序脚手架项目中,我正在尝试决定是否使用Oslo,T4CodeDom来生成代码.我们的目标是将依赖关系降至最低,并从用户故事中为域驱动设计驱动代码生成.第一步是从用户故事创建测试,但我们希望领域专家能够在各种不同的媒体(例如自定义应用程序,Word等)中编写他们的故事,并且仍然可以从故事.

到目前为止我所知道的:

  1. CodeDom需要.NET,但只能输出.NET类文件(例如.cs,.vb).难度水平相当高.
  2. T4需要CodeDom和VS Standard +.难度级别相当合理,尤其是T4工具箱.
  3. 奥斯陆很新.我不知道依赖项,但我想你必须至少使用.NET 3.5.我也不确定代码生成能力或添加新语法的复杂性.但是,领域专家可能很容易在Intellipad中编写用户故事.还不确定将Word中的故事转换为MGrammar的简易性.

您使用上述任何工具有什么想法,经验等等.我们希望坚持使用Microsoft或开源工具.

.net t4 code-generation codedom oslo

4
推荐指数
1
解决办法
2331
查看次数

什么是模型驱动的开发有益?

开罗成名的微软正在开发一个新的建模平台 Oslo .微软服务器和工具业务高级副总裁Bob Muglia表示,建模的好处一直很明显.

从简单实用的角度来看,奥斯陆给用户带来的明显好处是什么?

code-generation mda oslo mdd

4
推荐指数
1
解决办法
1028
查看次数

什么是Microsoft OSLO?

它是DSL生成工具还是自然查询语言?

oslo

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

"DSL Tools"和"Oslo"有什么区别?

我刚开始玩特定领域的工具开发,而且我正在使用Visual Studio SDK DSL Tools.但是,我听说微软还有另一项针对特定领域开发的计划,称为"奥斯陆".

我的印象是DSL Tools专注于图形领域特定语言,而Oslo专注于文本语言,但我不确定.

有人可能会指出"DSL Tools"和"Oslo"之间的区别是什么?

dsl oslo dsl-tools visual-studio-2008

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

微软代号?

今天我走在MSDN论坛上,我看到两个非常奇怪的论坛,微软代号"奥斯陆"微软代号'都柏林',这是什么?他们做什么?

iis oslo

-5
推荐指数
1
解决办法
344
查看次数