Modelled grammar after open group's shell spec.