pascal-like grammar