framework for language independent parser generation