混合式代码生成器 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://www.codercto.com/soft/d/747.html

七周七语言

七周七语言

Bruce A.Tate / 巨成、戴玮、白明 / 人民邮电出版社 / 2012-5-8 / 59.00元

内容简介: 从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。 Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、......一起来看看 《七周七语言》 这本书的介绍吧!

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

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具