小编Tim*_*idt的帖子

如何从JISON解析器中获取抽象语法树(AST)?

所以我通过JISON生成了一个解析器:

// mygenerator.js
var Parser = require("jison").Parser;

// a grammar in JSON
var grammar = {
    "lex": {
        "rules": [
           ["\\s+", "/* skip whitespace */"],
           ["[a-f0-9]+", "return 'HEX';"]
        ]
    },

    "bnf": {
        "hex_strings" :[ "hex_strings HEX",
                         "HEX" ]
    }
};

// `grammar` can also be a string that uses jison's grammar format
var parser = new Parser(grammar);

// generate source, ready to be written to disk
var parserSource = parser.generate();

// you can also use the parser directly from memory …
Run Code Online (Sandbox Code Playgroud)

javascript parsing jison

15
推荐指数
2
解决办法
5094
查看次数

如何在TRAMP环境中为Git设置不同的作者/提交者?

我在Git控件下编辑文件,Emacs 23.3.1/TRAMP/VC通过ssh连接sudoed(/sudo:sudouser@host:file相应地tramp-default-proxies-alist设置). sudouser是一个共享帐户,所以我不想设置user.email/ user.name全局,而是使用GIT_AUTHOR_NAME/ GIT_AUTHOR_EMAIL/ GIT_COMMITTER_NAME/ GIT_COMMITTER_EMAIL来设置它只是为了我的连接.

我没有找到设置环境的方法/更改命令vc-git本身.将环境变量添加到tramp-remote-process-environment:

(add-to-list 'tramp-remote-process-environment "GIT_AUTHOR_EMAIL=tim@tim-landscheidt.de")
(add-to-list 'tramp-remote-process-environment "GIT_AUTHOR_NAME='Tim Landscheidt'")
(add-to-list 'tramp-remote-process-environment "GIT_COMMITTER_EMAIL=tim@tim-landscheidt.de")
(add-to-list 'tramp-remote-process-environment "GIT_COMMITTER_EMAIL='Tim Landscheidt'")
Run Code Online (Sandbox Code Playgroud)

工作,但我担心,如果我想在我需要另一个身份的主机上工作,它可能会在将来咬我.

有没有办法将不同的作者/提交者限制为一个TRAMP连接?

git emacs tramp

5
推荐指数
1
解决办法
1332
查看次数

可以在DBI的selectcol_arrayref&Co.中使用命名占位符吗?

在某种程度上可以使用DBI允许@bind_values的命名占位符吗?E. g.,我想发表如下声明:

my $s = $DB->selectcol_arrayref ("SELECT a FROM b
                                  WHERE c = ? OR d = ? OR e = ?;",
                                  {},
                                  $par1, $par2, $par1) or
        die ($DB->errstr ());
Run Code Online (Sandbox Code Playgroud)

不容易出错.我正在使用DBD :: Pg和DBD :: SQLite.

sqlite postgresql perl dbi

3
推荐指数
1
解决办法
2593
查看次数

如何在perl-mode中指定字符串引用而不使Emacs晕?

我需要在Perl中使用对(常量)字符串的引用.如果我写:

my $a = \'test';
print $$a;
Run Code Online (Sandbox Code Playgroud)

Emacs(23.3.1)的perl-mode认为一个字符串从第二个撇号开始,弄乱了填充和fontification.使用双引号(")不会改变这一点.

如何在不使用额外变量或切换到cperl-mode的情况下解决这个问题,我发现它相当"响亮"?

emacs

3
推荐指数
1
解决办法
48
查看次数

如何在Gerrit中搜索变更集而不是需要重新设置?

在我们的Gerrit安装(2.8.1-2-g724b796)中,我想搜索一下无法合并但必须重新定义的我的变更集.例如,此更改将"Can Merge" 更改为"No",并且需要手动rebase.

是否有搜索语法来查找这些更改?我们的管理员是否需要设置额外的标签或类似的东西?

gerrit

2
推荐指数
1
解决办法
159
查看次数

阻止 Firefox 在运行 web-ext 时打开隐私声明?

在开发 Web 扩展时,我使用(例如)测试它们web-ext run --bc -u https://stackoverflow.com/。对于 Firefox 56.0(和web-ext2.2.2),:

  1. 打开一个窗口“浏览器控制台”,
  2. 打开另一个窗口并开始加载https://stackoverflow.com/,并且
  3. 在该窗口中打开另一个选项卡以显示Firefox 隐私声明

最后一部分不仅本身很烦人,而且还让人分心,因为(AFAICT)它在浏览器控制台中填充了与该页面脚本相关的警告。

如何防止 Firefox 在调用时打开 Firefox 隐私声明web-ext,或许可以通过设置某些首选项来实现--pref

firefox firefox-addon-webextensions

2
推荐指数
1
解决办法
2596
查看次数