使用flex和bison解析块

时间:2016-02-04 11:29:49

标签: parsing block flex-lexer bisonc++

是否可以通过flex和bison解析Block?

示例:

假设

BEGIN BLOCK BLK_ROWDEC
            NAME                          cell_rowdec
            SIZE                          UNI_rowdecSize
            ITERATE                       itr_rows
            DIRECTION                     lgDir_rowdec
            STRAP                         STRD1,STRD3,STRD2
            WRAP                          WRD1
            VIA                           VIAB,VIAC,VIAD
ENDS BLK_ROWDEC

现在我想检查是否BEGIN和END属于同一个块?/是否可以使用flex和bison

1 个答案:

答案 0 :(得分:1)

是的,可以使用BEGIN保存块名称,并在收到END时进行检查。

但是块名称在这里是多余的,并且Bison将自动匹配开始和结束。如果您可以从语法中删除它,我会这样做。