我正在使用yacc(bison)和flex编写一个简单的HTML解析器。
如何制定这条规则:
column -> <td>text</td>column | NULL
我尝试过很多类似这样的表单:
COLUMN : L_TAG T_OPEN R_TAG ID L_TAG T_CLOSE R_TAG COLUMN
|
;
//这些标记在词法分析器中指定。
不幸的是,它不起作用。无论我将COLUMN放在规则开头还是结尾,都会给出shift/reduce错误。即使我像这样使用NULL:
{$$ = NULL}
或者将其留空。我需要使用NULL来使规则递归,并且可以在相邻位置多次使用同一个标签,就像这样:
<tr>name</tr><tr>age</tr>
我该如何让这个工作起来?