• 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

     

  • 相关阅读:
    还是java中的编码问题
    java restful api
    编码方式
    LinkedHash
    Zoj 2562 More Divisors (反素数)
    spark复习总结03
    spark复习总结02
    spark复习总结01
    使用二进制解决一个字段代表多个状态的问题
    spark性能调优05-troubleshooting处理
  • 原文地址:https://www.cnblogs.com/attilax/p/6028386.html
Copyright © 2020-2023  润新知