首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PEG.js:如何使用提示符?

PEG.js:如何使用提示符?
EN

Stack Overflow用户
提问于 2014-05-12 19:12:15
回答 1查看 197关注 0票数 0

我正在用C++创建一个PEG.js解析器,我需要能够使用cin。在匹配后的JS中,当我使用prompt()时,(备用) 在线版本抛出一个'Parse : prompt未定义‘的错误。我正在尝试使用初始化程序来创建一个函数来复制prompt (可能不是优化的,我只是尝试作为一个解决方案)。然而,当我这样做,它仍然给我错误。我也尝试过使用window.prompt,但同样,它不起作用。下面是我所做工作的一个例子:

代码语言:javascript
复制
{
    function cin() {
        window.prompt("");
    }

    function changeVar(variable, newValue) {
        if(typeof variable === typeof newValue) {
            variable = newValue;
        } else if(typeof variable === 'undefined') {
            alert("You can't assign a value to a variable if the variable isn't declared yet!");
        } else {
            alert("Bad assignment. In C++, a variable *must* have the same type *all the time*.");
        }
    }
}

stdin =
    whitespace* "std::cin" whitespace* ">>" whitespace* varToBeChanged:[a-zA-Z_]+ ";" whitespace*
        { changeVar(varToBeChanged, cin('')); return varToBeChanged; }

whitespace =
    space:[ \t]
        { return space; }

然后在解析器测试字段中:

代码语言:javascript
复制
std::cin >> variable;

谢谢你找我。我试过用谷歌搜索这个,然后搜索这个,但是我没有找到任何结果。

另外,这里是主要代码段,对于任何人都需要的所有(当前)额外信息。我在这方面也有一些问题,但是在我发布另一个问题之前,我会尝试自己解决这些问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-13 00:17:11

如果您使用的是http://peg.arcanis.fr/,那么解析器代码将在网络工作者中执行--它无法访问任何UI,比如window或DOM。错误"undefined variable“的字面意思是没有声明windowprompt

如果您将代码粘贴到http://pegjs.majda.cz/online中,它将在网页环境中执行,并且工作完美。

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

https://stackoverflow.com/questions/23617020

复制
相关文章

相似问题

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