`
prec
  • 浏览: 65366 次
  • 性别: Icon_minigender_1
  • 来自: 互联网
最近访客 更多访客>>
社区版块
存档分类
最新评论

[tamarin系列之6] tamarin外篇---As3Eval

阅读更多

1、As3Eval简介

    这是一个由Tamarin衍生出的as3库,作者把Tamarin的思想融合到了as3的库中。支持as3和ES4两种格式的动态编译、运行,有AS3来解释AS3或ES4,是不是很神奇呢?

   这是一个不折不扣的AS3写的AS3脚本引擎。可以编译很多AS3代码,包括类、方法等。同时也可以融合JS和abc文件,进行多方面编程。

    这里是DEMO。此库提供在线源码源码下载,还提供编译好的SWC组件

 

 2、简单测试As3Eval

      首先我们新建一个Script类

  1. package util.script {
  2.      import com.hurlant.eval.ByteLoader;
  3.      import com.hurlant.eval.Debug;
  4.      import com.hurlant.eval.Evaluator;
  5.      import com.hurlant.test.ILogger;
  6.      import flash.utils.ByteArray;
  7.      public class Script {
  8.          public function eval(src : String) : void {
  9.              var evaluator:Evaluator = new Evaluator
  10.              var bytes:ByteArray = evaluator.eval(src);
  11.              ByteLoader.loadBytes(bytes);
  12.          }
  13.      }
  14.  }

这样,我们就可以使用动态的脚本来工作了

比如令var str : String = "function test() : String {" + "return 'test';  " +"};";

 然后new Script().eval(str);

这样我们就eval了这个test方法

3、自定义外部方法

之后我们可以建立一个实现类,为了方便,我们选择在顶层包建立

  1. package {
  2.      public class Util {
  3.           public static function print(str : String):void {
  4.              trace(str);
  5.          }
  6.      }
  7.  } 

然后我们来扩展实现这个test

new Script().eval(str + "  var temp =  test();  Util.print(temp)");

就相当于

  1. function test() : String {
  2.      return 'test';
  3. }
  4.   var temp = test();
  5.   Util.print(temp);

可以看出Util.print来自eval外部,但是测试通过,说明eval脚本引擎可以与外部类和方法进行沟通。

=========================================

那么还等什么,为脚本引擎发愁的各位,尽情地发挥自己的想象,享受动态脚本带来的好处吧。

关于深入as3eval,请继续关注tamarin系列文章

分享到:
评论

相关推荐

    tamarin-prover入门级介绍

    Tamarin Prover是一款强大的工具,专门用于形式化分析和验证安全协议的安全性。它由Simon Meier、Benedikt Schmidt、Cas Cremers和David Basin等专家开发,结合了瑞士ETH Zurich的信息安全研究所和西班牙IMDEA软件...

    PyPI 官网下载 | tamarin-utils-0.14.5.tar.gz

    **PyPI 官网下载 | tamarin-utils-0.14.5.tar.gz** 这个压缩包文件`tamarin-utils-0.14.5.tar.gz`来源于Python的官方软件仓库PyPI(Python Package Index),它是一个包含众多Python库的地方,方便开发者下载和分享...

    网络安全协议形式化分析验证工具Tamarin的用户手册

    3. **编辑器支持**:Tamarin支持多种代码编辑器,以方便用户编写和编辑协议模型。 4. **常见问题解答(FAQ)**:针对初学者可能遇到的问题,手册提供了FAQ部分,帮助快速解决使用过程中的疑惑。 5. **初始示例**:...

    PyPI 官网下载 | tamarin-utils-0.15.1.tar.gz

    《PyPI上的tamarin-utils-0.15.1.tar.gz:Python库解析与应用》 在Python的世界里,PyPI(Python Package Index)是最重要的软件仓库,它为开发者提供了无数的工具和库,便于他们构建和分享自己的项目。本文将深入...

    tamarin-prover:Tamarin证明程序的主要源代码存储库,用于安全协议验证-Verification code source code

    Tamarin证明者资料库 本自述文件描述了Tamarin证明者用于安全协议验证的存储库的组织。 它的目标受众是Tamarin证明者的感兴趣的用户和将来的开发人员。 有关Tamarin证明器的安装和使用说明,请参见手册的第2章: : ...

    PyPI 官网下载 | tamarin-utils-0.8.5.tar.gz

    `tamarin-utils`正是针对这样的需求而设计的,它提供了一系列与Zookeeper交互的Python接口,使得开发者可以更方便地在Python代码中使用Zookeeper的服务。这包括但不限于创建、删除、更新Zookeeper节点,以及监视节点...

    Python库 | tamarin-utils-0.15.4.tar.gz

    《Python库tamarin-utils-0.15.4:实用工具集详解》 在Python的广阔天地里,各种库犹如繁星点缀,为开发者提供了强大的功能支持。其中,`tamarin-utils`是一个实用的工具集合,它在版本0.15.4中为我们带来了诸多...

    as 殿堂之路

    为了进一步推动AS3的发展,Adobe采取了一系列开源措施,包括将AVM2虚拟机开源并捐赠给Mozilla的Tamarin项目。这一举措不仅增强了开发者对AS3的信心,也促进了AS3技术的广泛应用和发展。 #### 五、Adobe Integrated ...

    基于Tamarin的5G AKA协议形式化分析及其改进方法_.pdf

    基于 Tamarin 的 5G AKA 协议形式化分析及其改进方法 本文主要介绍了基于 Tamarin 的 5G AKA 协议形式化分析及其改进方法。在 5G 移动通信网络中,3GPP 组织标准化了 5G AKA 协议,用以身份认证和密钥协商。文章...

    Flash_ActionScript3殿堂之路.pdf

    - **Tamarin项目**:源码捐赠给Mozilla的Tamarin项目,这表明AS3正积极拥抱开源社区。 #### 4. Adobe AIR的意义 - **跨系统运行时**:2007年推出的Adobe AIR Beta版本,实现了RIA程序可以在多个操作系统上运行的...

    tamarin:小而简单的 Ruby Web 服务器

    gem 'tamarin' 然后执行: $ bundle 或者自己安装: $ gem install tamarin 用法 运行服务器: bundle exec ruby lib / tamarin 然后,在其他终端运行: curl http : //localhost :3030 贡献 分叉它( )...

    EMVerify-PAN-routing:Tamarin模型和EMV非接触式分析

    是GNU脚本,用于生成目标模型并对其进行Tamarin分析。 *.oracle是证明支持的*.oracle 。 包含自动生成的目标模型( .spthy )及其证明( .proof )。 以HTML格式显示分析结果。 包含有用的脚本: 是一个Python...

    Tamarin HD Wallpapers Game Theme-crx插件

    语言:English (United States) 包括Tamarin的HD图像动作冒险视频游戏。 对于Banjo Kazooie Donkey Kong和Mario 64的粉丝! 包括Tamarin的高清图像,动作冒险视频游戏。... 3:没有广告或恼人的弹出窗口

    EMVerify:Tamarin模型和EMV分析

    EM验证 这是EMV标准的模型,是我们IEEE S&P 2021论文EMV标准:Break,Fix,Verify的补充材料。 有关这项工作的详细信息,请访问 。... :GNU脚本,用于生成目标模型并对其进行Tamarin分析。 *.oracle

    Action Script 虚拟机-AVM2 源码

    在压缩包文件`tamarin-central-fbecf6c8a86f`中,包含了AVM2的源代码,Tamarin是AVM2的一个实现,由Mozilla基金会开发。这个版本可能包含最新的改进和修复,是学习和研究AVM2的好起点。下载并分析这个源码,你将能...

    redtamarin, 在 命令行/server 端,运行 AS3.zip

    redtamarin, 在 命令行/server 端,运行 AS3 redtamarin简而言之,redtamarin是基于 Tamarin项目( 例如。 Flash Player 虚拟机),并允许在命令行上运行AS3代码。因为Tamarin只支持,( 对象,array,等等 ),...

    thane:用于 MSOY 的 Tamarin VM 的修改版本

    Thane 是 Tamarin ( ) 的一个轻微修改版本,具有部分 Flash Player 兼容层,主要用 ActionScript 编写,并带有一点原生胶水。 引擎本身被修改为在 x86_64 架构下的 Unix 平台上运行。 现有的 Windows/64 支持已扩展...

    安全协议形式化分析

    2. **SSL/TLS协议**:这是Internet上最常用的安全协议之一,用于保护Web通信的安全。SSL/TLS协议位于应用层和传输层之间,主要由两部分组成: - 上层协议:包括TLS握手协议、TLS密码变化协议和TLS警告协议。 - ...

Global site tag (gtag.js) - Google Analytics