[feature] parse nested rules