`
allenofchina
  • 浏览: 22501 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

我写的开源ActionScript3语法分析工具

阅读更多

目前ActionScript3没有一个比较好的开源或者是免费的语法分析工具,因此也很难写Code Formatter,Checkstyle等等工具。

 

我以ANTLR为基础, 用Java写了一个可以解析AS3语法的工具。目前还不是很完善,但是可能已经可以解析常用的Actionscript

 

地址如下

匿名访问地址: http://code.google.com/p/asdtk/

 

你可以用SVN下载,在testsrc里你可以用已有的testcase来测试一下是否能正常解析。

 

如果发现bug,请把actionscript文件发到allenofchina@hotmail.com。非常感谢

 

 

2009/3/13

经过一次次的尝试-失败,现在Java端框架已经确定了。

ANTLR端的ActionScript3语法解析已经基本完成,解析300多K的UIComponent.as通过

现在缺少的功能如下:

 

如何确定一个Statement的结尾:ActionScript3里,一个语句的结尾可以是分号,换行符,右中括号,多行注释。现在只能解析以分号为结尾的语句。

 

继续努力

2009/3/18

300+个文件测试通过,但是E4X部分还不够强壮

分享到:
评论
2 楼 hackwaly 2009-12-18  
分号问题其实是从Ecmascript标准里带出来的,es标准中的自动插入分号原则打破了语法的上下文无关性,所以实现起来很麻烦

有三种解决方法:
1,完全手写Parser
2,修改语法(把换行符作为终结符放入产生式中),这种办法最麻烦
3,修改ParserGenerator产生错误恢复代码,在遇到语法错误时判断是否是由于缺少分号引起的,如果是在判断是否满足插入分号原则(如遇到右大括号或者换行)

第三种办法实现起来是最方便的,但是需要ParserGenerator产生的Parser支持错误恢复。

另外,我最近也准备开始写一个as3->js的编译器,不知道博主有没有兴趣
1 楼 hesy_007 2009-02-13  
下载下来看看。谢谢分享。

相关推荐

    actionScript 解析json开源包,比官方的好

    在ActionScript中,常用的JSON解析开源库有as3corelib和Ziggy。as3corelib是Adobe AIR项目的一部分,提供了一系列有用的类和函数,包括JSON解析。Ziggy则是一个轻量级的JSON解析器,设计为简单、快速,适合那些不...

    flash actionscript3+XML+SWFProfiler+PV3D制作环绕镜面相册.zip_actionscript入门

    首先,ActionScript3是Adobe Flash Player支持的面向对象的编程语言,它提供了更高效、更现代的语法和功能。在本案例中,ActionScript3用于编写相册的逻辑,包括图片加载、用户交互和3D效果处理。通过ActionScript3...

    flash游戏开发之 如何反编译.swf文件得到actionscript3 as3源代码.zip

    在Flash游戏开发中,有时我们需要对已有的SWF文件进行逆向工程,以获取ActionScript3(AS3)源代码,以便学习、分析或者修改。本文将深入探讨如何反编译SWF文件来得到AS3代码,这涉及到一系列工具和技术。 首先,...

    ActionScript 3.0编程精髓

    10. **调试和测试**:AS3提供了强大的调试工具,如Flash Professional的ActionScript面板和独立的Flex Builder,帮助开发者追踪和修复代码问题。 通过《ActionScript 3.0编程精髓》这本书,读者不仅能掌握AS3的基本...

    ActionScript 3 RIA 参考指南!

    相比前一代ActionScript 2,AS3在语法、性能和编程模型上有了显著提升,更接近于传统的面向对象语言,如Java或C++。 #### RIA(Rich Internet Application) RIA是指利用客户端浏览器和服务器之间的交互,提供类似...

    ActionScript3配置

    6. **ActionScript 3.0框架**:有许多开源框架可以帮助你快速开发AS3项目,如FlashPunk、Flixel、Starling等。这些框架提供了游戏开发所需的实体系统、事件处理、图形渲染等功能。 7. **ActionScript 3.0标准库**:...

    Foundation ActionScript 3.0 with Flash CS3 and Flex.pdf

    1. **语法基础**:ActionScript 3.0的基础语法包括变量、数据类型、运算符、控制结构等。 2. **面向对象编程**:AS3支持类、接口、继承、封装和多态等OOP特性,这些对于构建复杂的应用程序非常重要。 3. **事件处理*...

    flash ActionScript 3.0 PPT课件

    ActionScript 3.0(AS3)是一种面向对象的编程语言,基于ECMAScript标准,与JavaScript有相似的语法基础。由于两者都是基于ECMAScript,理论上它们的代码可以相互转换,尽管它们的应用场景有所不同:JavaScript主要...

    spring actionscript 入门例子

    Spring ActionScript 是一个开源框架,它将 Spring 框架的核心概念和功能带入了 Adobe Flex 和 ActionScript 开发环境中。这个入门例子旨在帮助初学者理解如何在 Flex 或 ActionScript 项目中应用 Spring ...

    Crypto 用作加密的ActionScript 3 类库

    《Crypto在ActionScript 3中的应用与加密技术详解》 ...总之,Crypto类库为AS3开发者提供了丰富的加密工具,通过理解和熟练运用这些工具,可以在保障信息安全的同时,提升应用程序的质量和安全性。

    ActionScript动作脚本字典

    《ActionScript 动作脚本字典》是一本综合性的参考书籍,它不仅提供了ActionScript的基本语法和编程技巧,还包括了与之相关的各种技术和工具的信息。无论是对于初学者还是经验丰富的开发者而言,这本书都是一个宝贵...

    flashdevelop+actionscript

    FlashDevelop是一款免费、开源的集成开发环境(IDE),专门用于开发基于ActionScript的项目。它以其高效、轻量级和高度可定制的特点,深受Flash开发者喜爱。FlashDevelop提供了代码自动完成、项目管理、调试和编译等...

    Flash_ActionScript3殿堂之路 绝对完整清晰版

    - **开源支持**: ActionScript3积极参与开源运动,AVM2虚拟机的开源进一步扩大了开发者社区,促进了语言的发展。 3. **Adobe AIR与RIA的未来** - **Adobe AIR**: 2007年发布的Adobe AIR Beta版,实现了RIA程序的...

    ActionScript 课堂讲义

    1. **基础语法**:ActionScript的基础语法与JavaScript类似,包括变量声明、数据类型(如Number、String、Boolean等)、运算符、流程控制(条件语句和循环)、函数定义和调用。 2. **面向对象编程**:ActionScript...

    Foundation ActionScript 3.0 with Flash CS3 and Flex.2008.pdf

    与早期版本相比,ActionScript 3.0在性能上有了显著提升,提供了更先进的语法结构和更好的调试工具。 #### Flash CS3概述 Adobe Flash CS3是一款广泛使用的多媒体创作软件,特别适合于创建动画、图形、视频和复杂的...

    flash actionscript3 as3 开发游戏 仿愤怒的小鸟.zip

    总之,使用ActionScript3开发“愤怒的小鸟”这样的游戏,不仅需要掌握AS3的基本语法和面向对象编程,还需要对物理、数学以及游戏设计有深入的理解。这个项目提供了宝贵的实践经验,对于想要提升AS3游戏开发技能的...

    Flash_ActionScript3殿堂之路.pdf

    ### Flash_ActionScript3殿堂之路.pdf 知识点总结 #### 1. ActionScript 3简介与RIA时代背景 - **RIA定义与趋势**:RIA(Rich Internet Application,丰富互联网应用程序)是指那些具备高度互动性、丰富的用户体验...

    Foundation ActionScript 3.0 with Flash CS3 and Flex

    - **改进的调试工具**:ActionScript 3.0提供了更加强大的调试功能,包括代码分析器和调试器,帮助开发者更高效地排查问题。 #### 四、Flash CS3与Flex环境 - **Flash CS3**:Adobe Flash CS3是一款专业级别的...

Global site tag (gtag.js) - Google Analytics