【发布时间】:2010-11-12 04:14:12
【问题描述】:
乍一看,shunting yard algorithm 似乎适用于 POSIX 正则表达式解析,但由于我在编写解析器方面没有太多经验(或理论背景),所以我想在开始写东西之前问一下 SO只是半途而废。
也许这个问题的一个更复杂的版本是:对于可以应用调车场算法的问题类别,什么是好的正式陈述?
澄清:这个问题是关于你是否可以使用分流算法的基本原理将POSIX re语法解析成抽象语法树,而不是你是否可以使用正则表达式来实现分流算法。抱歉,我说得不够清楚!
【问题讨论】:
-
当您谈论解析正则表达式时,您的意思是对描述常规语言的字符串进行标记吗?还是您的意思是执行它所代表的有限状态自动机?还是别的什么?
-
我的意思是构建一个表示正则表达式的 AST。我知道,将 AST 转换为自动机以匹配正则表达式是另一个问题。