首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析.as (AS3)文件

如何解析.as (AS3)文件
EN

Stack Overflow用户
提问于 2009-08-04 21:52:20
回答 4查看 3.5K关注 0票数 2

我希望尽可能地将AS3文件解析成对象或XML。例如,假设下面的类:

代码语言:javascript
复制
package {
   class SomeClass extends AnotherClass {
      private var someVariable:Number

      public function someMethod(someParameter:Number = 4):void {
         var someLocalVariable:Number = someParameter * (2 + someVariable);
      }
   }
}

在解析时,它可能是这样的:

代码语言:javascript
复制
<package name="">
   <class id="783" name="SomeClass" extendsId="782">
      <variable id="784" visibility="private" type="Number"/>
      <function id="785" name="someMethod" returnType="void">
         <parameter id="786" name="someParameter" type="Number">
            <expression>
               <number value="4"/>
            </expression>
         </parameter>
         <variable id="787" name="someLocalVariable" type="Number"/>
         <code>
            <assign toId="787">
               <expression>
                  <variable id="786"/>
                  <operator type="*"/>
                  <expression>
                     <number value="2"/>
                     <operator type="+"/>
                     <variable id="786"/>
                  </expression>
               </expression>
            </assign>
         </code>
      </function>
   </class>
</package>

。。即使我得不到像这样好的、整洁的xml结构,即使它能将AS3解析成某种容量,它也远远超出了我现在所处的位置。

有什么想法吗?

谢谢你,埃里克

EN

回答 4

Stack Overflow用户

发布于 2010-08-25 01:37:36

我实际上已经将PMD解析器移植到了AS3。

您可以查看http://github.com/teotigraphix/as3parser-framework

麦克

票数 5
EN

Stack Overflow用户

发布于 2009-12-04 19:11:00

FlexPMD有一个as3解析器。(FlexPMD是Adobe的一个Java项目,用于报告as3源代码中违反最佳实践的情况。)

http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD上托管FlexPMD

代码在http://opensource.adobe.com/svn/opensource/flexpmd/trunk的subversion代码库中

缺点是你需要使用Maven来构建FlexPMD (我,我从来没有让它工作过),但是因为你只需要一个或三个项目,所以可以手工提取这些项目,而不是太多的咒骂和叫喊。

您可能还想深入了解Flex SDK源代码(也在opensource.adobe.com上),看看Adobe是否提供了其他用于解析as3的软件,但我没有看过。

票数 4
EN

Stack Overflow用户

发布于 2013-03-09 04:01:00

在AS3eval项目中有一个词法分析器、解析器和记号赋予器:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1230112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档