我想使用 bison/flex创建简单的 xml 解析器。我不需要验证、注释、参数,只有<tag>value</tag>
,其中值可以是数字、字符串或其他<tag>value</tag>
。
例如:
<div>
<mul>
<num>20</num>
<add>
<num>1</num>
<num>5</num>
</add>
</mul>
<id>test</id>
</div>
如果有帮助,我知道可能出现的所有标签的名称。我知道给定标签可以容纳多少子标签。是否可以创建可以执行以下操作的野牛解析器:
- new Tag("num", 1) // tag1
- new Tag("num", 5) // tag2
- new Tag("add", tag1, tag2) // tag3
- new Tag("num", 20) // tag4
- new Tag("mul", tag4, tag3)
...
- root = top_tag
标签和子标签数量:
- 数量:1(唯一值)
- str:1(唯一值)
- 添加 | 子 | 穆尔| div: 2 (num | str | tag, num | str | tag)
你能帮我用语法来创建上面给出的 AST 吗?