小编Nat*_*enn的帖子

需要堆栈跟踪,但 Cygwin 甚至不会打印核心转储

我有一个在 Windows 7 上的 Cygwin 中运行的程序,它总是导致分段错误。这不是我的程序,但我需要帮助,开发人员要求我至少提供堆栈跟踪我的 Cygwin 变量如下所示:error_start=c:/cygwin/bin/dumper.exe. 在执行程序之前,我也运行了这个命令:ulimit -c unlimited. 这是我可以通过谷歌(包括这个问题)找到的唯一两个要求,以便在分段错误后从 Cygwin 获取某种信息。

但是,当我运行该程序时,它会打印消息Segmentation fault,并且不打印 a.exe.stackdump 或任何其他转储文件,也不会启动转储程序实用程序。关于如何获取所需信息的任何建议?

debugging cygwin

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

Java循环超过一半的数组

我想在Java中循环一半的数组; 这是因为矩阵将是完全对称的.如果我循环抛出i列和j行,每次我执行矩阵[i] [j]的操作时,我将对矩阵[j] [i]执行完全相同的操作.我应该能够通过不循环超过一半矩阵来节省时间.有关最简单方法的任何想法吗?

java loops matrix

4
推荐指数
1
解决办法
1782
查看次数

使用XML :: Twig解析文件句柄

我在XML :: Twig文档中看到,parse($text)解析标量的函数包含xml文本,以及parsefile($fileName)读取和解析xml文件.我想解析输入流(文件句柄或STDIN).仍在涉及文档,没有找到任何东西.我该怎么做?

xml perl inputstream xml-twig

4
推荐指数
1
解决办法
463
查看次数

XML :: Twig评论

我有一个XML文档,我需要将其转换为另一种类型的XML.有些信息无法在我想要转换的XML中编码,因此我希望将额外信息存储为注释.但是,我无法弄清楚如何在XML :: Twig中创建注释节点.有谁知道怎么样?

xml perl xml-twig

4
推荐指数
1
解决办法
866
查看次数

无法在语法中分离G0和G1规则

我试图得到一个看似非常基本的Marpa语法工作.我使用的代码如下:

use strict;
use warnings;
use Marpa::R2;
use Data::Dumper;
my $grammar = Marpa::R2::Scanless::G->new(
    {
        source => \(<<'END_OF_SOURCE'),
            :start ::= ExprSingle
            ExprSingle ::= Expr AndExpr

            Expr ~ word

            AndExpr ~ word*
            word ~ [\w]+

            :discard ~ ws
            ws ~ [\s]+
END_OF_SOURCE
    }
);
my $reader = Marpa::R2::Scanless::R->new(
    {
        grammar => $grammar,
    }
);
my $input = 'foo';
$reader->read(\$input);
my $value = $reader->value;
print Dumper $value;
Run Code Online (Sandbox Code Playgroud)

这打印$VAR1 = \'foo';.所以它认出一个字就好了.但我希望它能识别出一串词

my $input='foo bar'
Run Code Online (Sandbox Code Playgroud)

现在脚本打印:

Error in SLIF G1 read: Parse exhausted, …
Run Code Online (Sandbox Code Playgroud)

perl parsing tokenize marpa

4
推荐指数
1
解决办法
179
查看次数

使用 XML::LibXML 删除 XML 命名空间

我正在将 XML 文档转换为 HTML。需要做的事情之一是删除命名空间,命名空间不能在 HTML 中合法声明(除非它是根标记中的 XHTML 命名空间)。我发现过 5 到 10 年前的帖子,介绍使用 XML::LibXML 和 LibXML2 来实现这一点有多么困难,但最近没有那么多。这是一个例子:

use XML::LibXML;
use XML::LibXML::XPathContext;
use feature 'say';

my $xml = <<'__EOI__';
<myDoc>
  <par xmlns:bar="www.bar.com">
    <bar:foo/>
  </par>
</myDoc>
__EOI__

my $parser = XML::LibXML->new();
my $doc = $parser->parse_string($xml);

my $bar_foo = do{
    my $xpc = XML::LibXML::XPathContext->new($doc);
    $xpc->registerNs('bar', 'www.bar.com');
    ${ $xpc->findnodes('//bar:foo') }[0];
};
$bar_foo->setNodeName('foo');
$bar_foo->setNamespace('','');
say $bar_foo->nodeName; #prints 'bar:foo'. Dang!

my @namespaces = $doc->findnodes('//namespace::*');
for my $ns (@namespaces){
    # $ns->delete; #can't find any such method for namespaces …
Run Code Online (Sandbox Code Playgroud)

xml perl xml-namespaces libxml2 xml-libxml

4
推荐指数
1
解决办法
3505
查看次数

使用Parse :: RecDescent解析带有嵌套括号的字符串

我正在尝试使用Parse::RecDescentmake解析器来解析括号表达式和一元运算符?.

到目前为止,我创建解析器时失败了,因为规则expression是左递归的:

use strict;
use warnings;
use Parse::RecDescent;

my $test = <<END;
((foo)? bar)
END

my $grammar = q(
    parse: expression(s)
    expression: string | parend | expression(s)
    parend : "(" (string | expression) ")" /\??/
    string : /\w+/ /\??/

);
my $parser = Parse::RecDescent->new($grammar);
my $result = $parser->parse($test);
if($result){
    print $result;
}else{
    print STDERR "Invalid grammar\n";
}
Run Code Online (Sandbox Code Playgroud)

perl parsing parentheses parse-recdescent

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

将Unix移植到Windows - 使用pwd.h

我正在尝试使用MinGW 编译libUnihan代码,但是遇到了需要移植的函数.该函数的目的是获得规范路径表示.它使用pwd.h(这是POSIX,而MinGW不是)因此它可以通过检索passwd包含的结构来解释使用'〜'来表示主目录pw_dir.我发现一些信息在这里,和一个端口realpath 在这里,但我仍然完全处于亏损至于如何处理这个.使用MinGW,我仍然有一个主页目录,~并且位于/home/nate,但由于它不是POSIX,我不必pwd.h帮我找到这个主目录的位置.

问:如何将下面的功能移植到MinGW上?

/**
 * Return the canonicalized absolute pathname.
 *
 * It works exactly the same with realpath(3), except this function can handle the path with ~,
 * where realpath cannot.
 *
 * @param path The path to be resolved.
 * @param resolved_path Buffer for holding the resolved_path.
 * @return resolved path, NULL is the resolution is not sucessful. …
Run Code Online (Sandbox Code Playgroud)

c unix windows mingw posix-api

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

Devel ::尺寸报告的子尺寸

我刚刚从Gabor Szabo 阅读这篇文章,他指出Devel :: Size报告说一个简单sub {}的报告需要8,516字节的空间.报告的尺寸是否正确?如果是这样,为什么Perl需要为一个空子程序分配这么多空间?

c perl internals subroutine

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

带有转义字符的JavaCC引用

标记可包含转义字符的引用字符串的常用方法是什么?这里有些例子:

1) "this is good"
2) "this is\"good\""
3) "this \is good"
4) "this is bad\"
5) "this is \\"bad"
6) "this is bad
7)  this is bad"
8)  this is bad
Run Code Online (Sandbox Code Playgroud)

下面是一个不能正常工作的示例解析器; 除了成功解析的示例4和5之外,它具有预期的结果.

options
{
  LOOKAHEAD = 3;
  CHOICE_AMBIGUITY_CHECK = 2;
  OTHER_AMBIGUITY_CHECK = 1;
  STATIC = false;
  DEBUG_PARSER = false;
  DEBUG_LOOKAHEAD = false;
  DEBUG_TOKEN_MANAGER = true;
  ERROR_REPORTING = true;
  JAVA_UNICODE_ESCAPE = false;
  UNICODE_INPUT = false;
  IGNORE_CASE = false;
  USER_TOKEN_MANAGER = false;
  USER_CHAR_STREAM = false;
  BUILD_PARSER = true;
  BUILD_TOKEN_MANAGER = …
Run Code Online (Sandbox Code Playgroud)

java quotes parsing escaping javacc

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