// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/**
 * Check Empty Statement for automatic semicolon insertion
 *
 * @path ch07/7.9/S7.9_A8_T2.js
 * @description Checking if execution of some semicolons with LineTerminators pases
 */

//CHECK#1
;
;
;
;

