|
|
1
4
众所周知,C++是很难解析的;编写一个能够捕获所有案例的正则表达式是不可能的。例如,可以有无限数量的嵌套圆括号,这表明即使是C++语言的这一子集也不是规则的。
|
|
|
2
2
看一看 Boost.Spirit 它是一个增强库,允许使用C++代码和没有预处理器实现递归下降分析器。您必须指定一个 BNF Grammar ,然后传递一个字符串供其解析。您甚至可以生成一个抽象语法树(abstractsyntax Tree,AST),这对于处理解析的数据非常有用。 BNF规范看起来像是一个整数或单词的列表,分开后可能看起来像:
有关更多信息,请参阅文档,该库在开始时有点复杂,但随后它变得更易于使用(而且功能更强大)。 |
|
|
3
0
不可以。即使是函数原型也可以有任意级别的嵌套,因此不能用单个正则表达式来表示。 如果你真的把自己限制在非常接近你的例子的事情上(正好是2个参数,等等),那么你能提供一个不匹配的例子吗? |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |