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://www.cnblogs.com/attilax/

Atiend

上一篇:mac os x 安装mysql遇到 Access denied for user 'root'@'localhost' (using password: YES)的解决方法


下一篇:20145319 《网络渗透》免考—API拦截技术