0

是否可以通过 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

4

1 回答 1

1

是的,这是可能的,只需将块名称与 BEGIN 一起保存,并在获得 END 时检查它。

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

于 2016-02-04T18:15:36.460 回答