我为我的非常基本的问题道歉,但是,我真的在这里挣扎。我需要做一个递归下降解析器。我正在使用 Python 并使用 PLY。我的语法如下:
<列表> → (<序列>) | ()
<序列> → <列表元素> , <序列> | <列表元素>
<列表元素> → <列表> | 数字
看起来像这样吗?我走远了吗?最终目标是将列表读入数据结构,然后将其打印出来。
定义 p_list(p) '列表:“(”序列“)” | "("")"' 定义 p_sequence(p) 'sequence : list_el","sequence | list_el' 定义 p_list_el(p) 'list_el:列表 | 数字'
如果有人想知道完整的解决方案是什么,我会尽快发布。