《GOF设计模式》—生成器(Builder)—Delphi源码示例:编译子系统中的ByteCodeStream

来源:互联网 发布:圣思园java 百度云 编辑:程序博客网 时间:2024/04/29 06:07
示例:编译子系统中的ByteCodeStream

实现:

ByteCodeStream是一个生成器,它将一个被编译了的方法创建为字节数组。Bytecode对象封装一个字节码,这个字节码可用于指定机器指令。ByteCodeStream不是Builder模式的标准使用,因为它生成的复杂对象被编码为一个字节数组,而不是正常的Smalltalk对象。但ByteCodeStream的接口是一个典型的生成器,而且将很容易用一个将程序表示为复合对象的不同的类来替换ByteCodeStream

字节码通常指的是已经经过编译,但与特定机器码无关,需要直译器转译后才能成为机器码的中间代码。字节码通常不像源码一样可以让人阅读,而是编码后的数值常量、引用、指令等构成的序列。

代码:

参考“外观模式”中“基于外观模式的编译子系统”中ByteCodeStream类的实现