2016-02-12 79 views
-1

我知道有弄清楚正则表达式自己基于树的构建方式。例如,您可以构建代表所有复数(例如,a + bi,bi + a,...)的树的树,然后基于构建的树可以找出复数的正则表达式。此方法是构建语法分析编译器的一部分。但是,我不记得它是如何完成的。任何人都可以提供帮助吗?如何找出正则表达式

+1

正则表达式有时用于扫描仪/分词器。但编译器的解析器部分通常使用(E)BNF语法或代码中的相同(递归下降)。正则表达式不能正确匹配嵌套的表达式 –

回答

0

搜索后,我发现它。该树称为分析树。看到下面的链接: Compiler Design - Syntax Analysis

但是,它似乎马上写出正则表达式更容易。我认为这可以用来构建一个过程来验证表达式而不使用Regex类。