使用SpiderMonkey解析If语句 - 键入错误

时间:2014-10-27 13:55:09

标签: javascript parsing spidermonkey

我目前正在使用spiderMonkey来解析一些JavaScript脚本并获取它们各自的AST。我已经使用赋值表达式和排序完成了这个,但是当我尝试解析if语句时,在执行AST生成的预订序遍历时出现以下错误:

TypeError: root is undefined

我执行预订单遍历的代码如下:

function printTreePreOrder(root)
{


    currentNodeSequence.push(root.type);

    if(root.left!=null)
    {
        printTreePreOrder(root.left);
    }

    if(root.right!=null)
    {
        printTreePreOrder(root.right);
    } 

}

我的预期结果是拥有root.type =“IfStatement”。我使用Mozilla Parser API作为基础:https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API#Built-in_objects

有人可以确定问题是什么吗?这是我尝试访问该类型的方式吗?

这是我目前正在尝试解析的脚本:

if(a>b)
     a=2;
else
     b=3;

此外,我使用Reflect.parse来解析脚本并获取其AST。然后将此AST传递给上述方法(作为参数根目录)

0 个答案:

没有答案