public Stmts() {
		// while (true) {
		/* The program may have already reach it's end. */

		int lexResult = 0;
		boolean breakLoop = false;
		if (Lexer.nextToken == Token.KEY_END || GlobalAttributes.braceEncounteredPreviously) {
			lexResult = Lexer.nextToken;
			GlobalAttributes.braceEncounteredPreviously = false;
		} else {
			lexResult = Lexer.lex();
		}

		if (lexResult != Token.KEY_END && lexResult != Token.RIGHT_BRACE) {
			stmt = new Stmt(lexResult);
		} else if (lexResult == Token.RIGHT_BRACE) {
			breakLoop = true;
		} else if (lexResult == Token.KEY_END) {
			breakLoop = true;
		}

		if (!breakLoop)
			stmts = new Stmts();
	}