why top_compstmt -> compstmt? we don't change rules