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
相关文章
- Kotlin 1.4 来了!全新语言特性和更多改进
- 【黄啊码】用PHP7性能居然是5.6的三倍?赶紧看看它有什么新特性-续
- Java8新特性之Stream流(含具体案例)
- Flutter 3.7 新特性:介绍后台isolate通道
- MySQL 8.0.31并行构建索引特性管窥
- Java 19 新特性一览
- WebAssembly 的核心语言特性与未来发展
- 【HTML5】HTML5 语义化标签 ( HTML5 简介 | 新增特性 | 语义化标签及代码示例 )
- Mybatis多表查询与动态SQL特性详解
- Java学习笔记之二十八深入了解Java8新特性详解编程语言
- Git 2.1发布:新特性预览
- 滥用Edge浏览器的“恶意站点警告”特性,实现地址栏欺骗
- 深度解析Redis:高速缓存数据库的强大特性(redis数据库特点)
- MySQL 数据库的特性介绍——从功能完备到高度安全化(mysql的特性)
- 探究Oracle数据库中的自连接特性(oracle中自连接特点)
- K8S 生态周报| Kubernetes v1.22.0 正式发布,新特性一览!
- C#特性扩展方法