Parsing composed grammars with language boxes