混合式代码生成器 ArbitraryGen

码农软件 · 软件分类 · 代码生成工具 · 2019-03-06 12:28:32

软件介绍

ArbitraryGen 是一个支持混合式代码生成器。包括三种模式

  • 普通代码生成模式,直接通过在生成代码的代码中指定生成代码的样式和和模板;(思路简单,效率高,但扩展性和灵活性没那么高)

  • 脚本引擎模式,模板是通过脚本定义,使用脚本引擎来生成代码,相比(1)具有较高的灵活性和扩展性;

  • 混合式代码生成模式,模板支持脚本和源码混合的方式定义,想比(2)更为灵活和可扩展性。

特性:

  1. 将脚本和源码混合到代码的源文件中;

  2. 代码生成操作是可持续的;

  3. 脚本在代码生成后不会被删除,而是将生成的代码附于脚本区域之后,以便于脚本的可持续使用;

  4. 每次生成代码前会将上次生成的代码删除。

代码解析流程

1、解析的大致流程

生成代码的流程,先用一个transfer脚本将模板文件(包含生成代码的脚本程序片段),转换成可执行的、完整的脚本程序,最后通过脚本引擎运行得到的脚本程序从而生成所需的代码程序。

实际上,模板文件是一个脚本程序和原代码混合的体,需要用transfer脚本去将模板文件里面的脚本和源码的混合体转换成脚本引擎能够执行的脚本程序,一句话就是脚本引擎运行用脚本去解析脚本得到的脚本!

2、模板文件的处理

解析思路:将模板文件切割成n段,将脚本代码和原代码分离,最终组合成一段脚本代码,再将数据源注入,通过脚本引擎运行脚本,生成想要的代码。

1)将源代码扫描一遍,遇到脚本起始标识/@@@#SCRIPT-BEGIN#,此处作为一个分割点,开始拼接脚本代码,直到遇到 #SCRIPT-END#@@@/ 脚本区结束标识,结束脚本代码的拼接;

2)遇到//@@@#AUTO-GEN-BEGIN# 已生成代码代码起始标识,程序将忽略后面的所有字符,直到遇到 //@@@#AUTO-GEN-END# 已生成代码结束标识才停止;

3)其它非1)和2)情况的串,将当做普通的字符串拼接起来;

4)经过上述的过程,可以得到一个完整可执行的脚步程序了。

本文地址:https://codercto.com/soft/d/747.html

断层地带

断层地带

杰弗里·摩尔 (Geoffrey A.moore) 著 / 季晓楠,凌炜 译 / 机械工业出版社 / 2009-1 / 33.00元

从股东权益谈起,并把“股东权益管理”作为根本立场,明确阐述了公司市场价值的内涵:在竞争环境中,公司的市场价值等于在当前和计划的生产经营活动下,未来可预计的收益用风险系数贴现后的现值。断层地带:经济中的危险境地,在这里勇敢的创新者给市场带来了惨烈的竞争,撕杀得天昏地暗。每家公司都处在这样的环境中,但是没有一个管理者能够控制它。一起来看看 《断层地带》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具