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