我知道有几个关于ActionScript解析器的类似问题,我认为最合适的答案是FlexPMD (http://sourceforge.net/adobe/flexpmd/home/Home/)。不幸的是,这个答案对我来说并不完全有效,因为我需要用ActionScript编写的解析器,它允许我操纵源代码(例如。封装源代码的所有功能)。
为了实现我的目标,我还阅读了有关AS3元编程的文章,但它对我的目的似乎是有限的。
发布于 2015-03-02 02:07:11
我还没有试过,但我偶然发现了这个,它看起来可能就是你正在寻找的:
https://code.google.com/p/as3-commons/source/browse/trunk/as3-commons-asblocks/
发布于 2019-06-04 21:11:23
我做过vegascriptparser,它解析一种近邻方言(VegaScript)。其他部分,vegascriptparser-bytecode和vegascriptparser-semantic,可能会在引用之后完成。
在readme上还有一个有趣的例子:
import vegascriptparser.*
import vegascriptparser.ast.*
const source = <![CDATA[
trace(<{test ? 'x' : 'v'}/>)
x?.v()
]]>.toString()
const program = Parser.quick(source).parse()变成:
Program {
directives: [
↪ ExpressionStatement { CallExpression {
base: Identifier,
args: [ ConditionalExpression, ],
}}
↪ ExpressionStatement { OptionalExpression {
base: Identifier,
sub: CallExpression,
}]}https://stackoverflow.com/questions/15168134
复制相似问题