怎么用lex处理DFA?# CS - 计算机科学
a*s
1 楼
正在看lex。里面举的例子都挺简单的,似乎
也看懂了。可是还是解决不了这类问题。
比如说:
1 -> a 2
1 -> b 3
2 -> a 2
3 -> b 3
2 ->
3 ->
(这个应该对应regular expression a*|b* 吧?)
我怎么用lex生成一个transition table,然后用这个表
判断某个字串是否符合该规则?
我现在想的是每个状态用一个树的节点表示,每个节点
含若干个指针指向前面的和后面的节点,并且存储导致
状态转换的条件。然后处理字串的每个字符来遍历这个树。
可是总觉得这个不太可行,主要是因为每个节点可能指向
的节点数目在lex扫描之前是不确定的。
也看懂了。可是还是解决不了这类问题。
比如说:
1 -> a 2
1 -> b 3
2 -> a 2
3 -> b 3
2 ->
3 ->
(这个应该对应regular expression a*|b* 吧?)
我怎么用lex生成一个transition table,然后用这个表
判断某个字串是否符合该规则?
我现在想的是每个状态用一个树的节点表示,每个节点
含若干个指针指向前面的和后面的节点,并且存储导致
状态转换的条件。然后处理字串的每个字符来遍历这个树。
可是总觉得这个不太可行,主要是因为每个节点可能指向
的节点数目在lex扫描之前是不确定的。