public static boolean NTclassDecl() throws IOException {
		boolean success = true;
		success = ErrorRecovery(NonTerminal.classDecl);
		switch (lookahead) {
		case CLASS:
			if (!match(TokenType.CLASS))
				success = false;
			if (!match(TokenType.ID))
				success = false;
			if (!match(TokenType.LBRACE))
				success = false;
			if (!NTclassMemberList())
				success = false;
			if (!match(TokenType.RBRACE))
				success = false;
			if (!match(TokenType.SEMICOLON))
				success = false;
			if (success)
				writetoFile(derivationFileName,
						"classDecl	->      'class' 'id' '{' classMemberList '}' ';'");

			break;
		default:
			success = false;
		}
		return success;
	}