add a part of the bnf and the semantic block