Atitit dsl exer v3 qb3 新特性

Atitit dsl exer v3 qb3 新特性

 

/atiplat_cms/src/com/attilax/dsl/DslParser.java

 

V3 支持typeed参数,与简化的notyp参数

 

V2 支持静态参数

 

V1 初步实现,动态参数简化参数only

 

1. 利用块来区分作用范围的语言,其本质上就是可扩展的,因为不同类型的新块可以加入并嵌入到相应的现有块之中。

XML很容易解析,但是作为一种自定义数据格式其可读性却太差了

关于DSL文法最后再强调一点,一个复杂的文本DSL应该是可以使用BNF(或者EBNF)以形式文法的形式进行定义的。如果你的语言无法用形式文法表达出来,那么它的分析将会非常困难甚至是不可能的。下面几节会介绍更多关于分析与BNF的内容

 

 

3 非文本DSL

除了内部和外部DSL,业界还有一种正在增长的趋势,即倾向于发展更丰富的领域建模手段。DSL是领域的一种表示形式,但其定义中并没有硬性规定这种表现形式或语言必须是文本形式的。

 

很多领域问题可以通过电子表格、图形化模型等丰富的制品形式更好地展现给领域用户;

在基于文本的脚本中,领域逻辑常散落在曲折交错的语法结构里,不经意地增加了复杂性;

领域专家操作起形象化的模型总是比操作源代码更自如。

 

 

 

public  Object parseV3(String args) {

// TODO Auto-generated method stub   com.attilax.encry.RSACoder.main(['fixseed','c:/0k/pri.txt','c:/0k/pub.txt'])

System.out.println("..start");

//@SuppressWarnings("unchecked")

//  com.attilax.ioc.IocFacV3_iocx_iocutil.getBean(com.attilax.order.RechargeOrderService.class).insert('20161024_16926254',5,1528)

    //com.attilax.ioc.IocFacV3_iocx_iocutil.getBean(com.attilax.order.RechargeOrderService.class).insert('20161024_172851950':s,5:i,888:i)

       

List<Token> tokens = new JavaTokener(args).getTokensV4();

Expression buildAst = new AstBuilderSmpVer().buildAstV2(tokens);

Object rzt = new AstParser().parse(buildAst);

  System.out.println(rzt);

System.out.println("...finish");

return rzt;

}作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

Atiend

 


posted @ 2016-11-03 21:51  attilaxAti  阅读(30)  评论(0编辑  收藏  举报