我希望尽可能地将AS3文件解析成对象或XML。例如,假设下面的类:
package {
class SomeClass extends AnotherClass {
private var someVariable:Number
public function someMethod(someParameter:Number = 4):void {
var someLocalVariable:Number = someParameter * (2 + someVariable);
}
}
}在解析时,它可能是这样的:
<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解析成某种容量,它也远远超出了我现在所处的位置。
有什么想法吗?
谢谢你,埃里克
发布于 2010-08-25 01:37:36
我实际上已经将PMD解析器移植到了AS3。
您可以查看http://github.com/teotigraphix/as3parser-framework
麦克
发布于 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的软件,但我没有看过。
发布于 2013-03-09 04:01:00
在AS3eval项目中有一个词法分析器、解析器和记号赋予器:
https://stackoverflow.com/questions/1230112
复制相似问题