46得票8回答
从PDF文件中提取文本数据

在R中是否有可能解析PDF文件中的文本数据?目前似乎没有相关的包可以进行此类提取,但是否有人尝试过或者见过在R中实现这一点? Python中有PDFMiner,但如果可能的话,我想将这个分析工作全部保留在R中。 有什么建议吗?

42得票5回答
boost.org的Spirit解析器生成框架有哪些缺点?

我在几个问题中看到了关于boost.org的Spirit解析器生成框架的推荐,但是在评论中,有使用Spirit的人不满意。那些人能站出来向我们解释一下使用Spirit的缺点或不足吗?

38得票7回答
LL解析器相对于LR解析器有哪些优势?

LL解析器在今天的解析器生成工具中相对流行的原因是什么优势? 根据维基百科,LR分析似乎比LL分析有优势: LR分析可以处理比LL分析更广泛的语言,并且在错误报告方面也更好,即当输入不符合语法时,它尽可能早地检测到语法错误。这与LL(k)(甚至更糟的是LL(*)解析器)形成对比,后者可能由...

37得票4回答
解析器组合子能否提高效率?

大约6年前,我在OCaml中使用自己的解析器组合器进行了基准测试,发现它们比当时提供的解析器生成器慢了约5倍。最近我重新考虑了这个问题,并对比了Haskell的Parsec和一个用F#编写的简单手写优先级爬升解析器,结果惊讶地发现F#比Haskell快25倍。 以下是我用于从文件读取、解析和...

30得票4回答
Lex和Yacc在PHP中的应用

PHP有没有Lex和Yacc的实现? 如果没有,有人能推荐一个词法分析器和解析器生成器(类似于Lex和Yacc的任何工具),以便生成PHP代码。我不太担心生成的解析器的性能。 我已经厌倦了使用正则表达式来解析那些本不应该用正则表达式解析的东西...

28得票5回答
使用解析器生成器(如happy)与使用解析器组合器相比有什么优势?

为了学习如何编写和解析上下文无关语法,我想选择一种工具。对于Haskell来说,有两个主要的选项:Happy可以从语法描述生成解析器,而*Parsec允许您直接在Haskell中编写解析器。 这两个方法的优缺点是什么?

27得票6回答
无扫描器解析器生成器

前言:尽管解析器(上下文无关语法)识别的语言集比扫描器(正则语法)识别的语言集严格更大,但大多数解析器生成器都需要一个扫描器。 (请不要试图解释背后的原因,我非常清楚)。 我见过一些不需要扫描器的解析器,例如: Elkhound(可选,Tomita/GLR) DParser(Tomit...

27得票2回答
ANTLR4:空格处理

我看过许多使用像这样的空格处理的ANTLR语法: WS: [ \n\t\r]+ -> skip; // or WS: [ \n\t\r]+ -> channel(HIDDEN); 白空格被丢弃并分别发送到隐藏通道。 使用下列这种语法: grammar Not; start...

25得票4回答
Scala解析器:可用性、差异和组合?

我的问题与Scala解析器有关: 哪些解析器可用(在标准库内和外部)? 它们之间有什么区别? 它们共享一个通用的API吗? 不同的解析器能否组合在一起,解析一个输入字符串? 我至少找到了以下这些解析器: Scala的“标准”解析器(似乎是LL解析器) Scala的Packrat解析...

24得票7回答
什么是一个好的C#编译器-编译器/解析器生成器?

我正在寻找一个解析器生成器,它可以根据LL(k)语言的EBNF为我提供C#解析器,并生成在EBNF中定义的类型的类。