change: to use util.eval to script template compile.
change: nested struct support has been added.