17得票6回答
在Python中高效匹配多个正则表达式

当你有正则表达式时,编写词法分析器非常容易。今天我想用Python编写一个简单的通用分析器,写出了以下代码:import re import sys class Token(object): """ A simple Token structure. Contains...

17得票4回答
创建“无上下文语法”的技巧

我是CFG的新手,可以有人给我一些创建生成某种语言的CFG的提示吗? 例如: L = {a^m b^n | m >= n} 我得到的是: So -> a | aSo | aS1 | e S1 -> b | bS1 | e 但我认为这个区域是错误的,因为b的数量可能大于a的数量。

16得票10回答
你是否曾在实际应用中成功使用过词法分析器和语法分析器?

最近,我开始学习ANTLR。我知道词法分析器/语法分析器可以一起用于构建编程语言。 除了DSL或编程语言,你是否曾经直接或间接地使用过词法分析器/语法分析器工具(以及相关知识)来解决现实世界中的问题?平均程序员是否可以在没有词法分析器/语法分析器知识的情况下解决这些问题?

16得票3回答
有哪些用于Erlang/OTP的分析器和剖析器?

有没有适用于Erlang的好的代码分析器/性能分析工具?我需要一个可以为我的代码构建调用图(例如gprof)的工具。 有没有适用于Erlang的好的代码分析器/性能分析工具?我需要一个可以为我的代码构建调用图(例如gprof)的工具。

16得票1回答
如何在Javascript中实现词法分析

大家好,感谢阅读。 我正在尝试做一个类似 Google 的计算器。你输入一个字符串,它会确定是否可以计算并返回结果。 我从基础开始慢慢构建:+ - / * 和括号处理。 我希望随着时间的推移改进计算器,并且在一段时间前学习了一些词法分析的知识,我构建了一个令牌列表和相关的正则表达式模式。...

15得票2回答
Flex文件中的"premature eof error"错误

我有以下代码,当我运行 flex hello.l 命令时会出现错误 "hello.l",line 31: premature EOF。%{ #include <stdlib.h> #include "y.tab.h" %} %% ("hi"|"oi")"\n" ...

14得票1回答
为什么要使用解析器生成器而不是可配置解析器?

标题已经概括了问题。假设使用源代码生成的解析器生成器(其将要解析的语法硬编码到程序中)所能实现的任何功能,都可以通过可配置解析器来实现(该解析器将要解析的语法以数据结构的形式保存)。 我想,硬编码的代码生成解析器将具有性能优势,因为少了一层间接引用,但是编译和运行它(或在动态语言中使用exe...

13得票4回答
如何实现语法高亮?

我正在学习并且想要为C++文件编写自己的语法高亮。请问有人能够给我如何实现的建议吗? 对我而言,当文件被打开时: 需要解析文件,并决定它是什么类型的源代码文件。只相信扩展名可能不是万无一失的。 需要知道哪些关键字/命令适用于哪种语言 需要判断每个关键字/命令应该得到什么颜色 我想在O...

12得票5回答
Python - 词法分析和标记化

我想加快我的发现过程,因为这是我第一次涉足词法分析的世界。也许这甚至是错误的路径。首先,我会描述我的问题: 我有非常大的属性文件(大约1,000个属性),精简后实际上只有15个重要属性,其余可以生成或很少更改。 例如:general { name = myname ip = 127...

12得票2回答
必须将“&=”始终解释为运算符吗?

我在编程过程中不小心忘记在常量引用和其默认值之间加上一个空格。我惊讶地发现它在Intellisense中显示为错误,所以我进行了编译,结果发现它无法在GCC 4.3.4、4.5.1或4.7.2中工作,并且在Visual Studio 2012中也无法工作。 以下是一个等效的示例,展示了这个错...