extract from bash parse.y