BlockList -> cons_BlockList(Block BlockList) | cons_BlockListNil() ; Block -> cons_Block(STR DList); DList -> cons_DListNil() | cons_DList(Deriv DList) ; Deriv -> cons_Deriv(STR SimbList); SimbList -> cons_SimbListNil() | cons_SimbList(Simb SimbList) ; Simb -> cons_Term(STR) | cons_NTerm(STR) ;