BẢNG MÔ TẢ CÁC PHƢƠNG THỨC TRONG CHƢƠNG TRÌNH

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp dựa trên hệ thống kiểu để tính cận trên tài nguyên của các chương trình featherweight java có giao tác (Trang 83)

Bảng PL-0 2Mô tả các phương thức dùng để tính toán giới hạn trên chi phí tài nguyên

PHƢƠNG THỨC

private static bool isSignal(char signal)

Mô tả Kiểm tra một ký tự có là một trong các dấu {+, -, #, :}, trả về giá trị Truenếu thuộc một trong các dấu trên.

Ví dụ isSignal (‘+’) = True

private static int getAfterClusterIndex(String S, int index)

Mô tả Lấy chỉ số của dấu liền sau ký tự có chỉ số là indextrong chuỗi số có dấu S. Ví dụ getAfterClusterIndex(‚+3#44+2:5‛, 2)=5

private static String sign(String S)

Mô tả Lấy dãy tuần tự các dấu từ trái sang phải có trong chuỗi số có dấu S. Ví dụ Sign(‚+3#44+2:5‛)= ‚+#+:‛

private static bool isSharpN(String S)

Mô tả Kiểm tra một số có dấu có là dạng n>0, ngƣợc lại trả về #n hay không, trả về True nếu S[0]=’#’ và

False.

Ví dụ isSharpN(‚#4‛)= True; isSharpN(‚-1‛)=False; isSharpN(‚#0‛)=False public static String canonical(String S)

Mô tả Chính tắc hóa một chuỗi số đánh dấu S.

Ví dụ canonical(‚+1+2+1-1-2+1:3‛)= ‚+1#3+1:3‛ public static String sum(String S1, String S2)

Mô tả Phép cộng 2 chuỗi số đánh dấu chính tắc S1 và S2 (Phép toán cộng ⊕), trả về một chuỗi số chính tắc, với S1 và S2 là 2 chuỗi cùng tập dấu có thứ tự. Ví dụ sum (‚#2-1+1:3‛,‚#3-2+1:2‛) = ‚#5-3+2:5‛

private static int calWeight(String S, int h1)

Mô tả Tính giá trị phần trị số sau ký tự có chỉ số h1 của chuỗi số có dấu S.

Ví dụ calWeight(‚#5-356+2:5‛, 3) = 356

private static String calSmallS(String S, int h, int ch)

Mô tả Tính giá trị của số đứng sau chỉ số “#0” nếu h, trả về giá trị số và dấu nếu giá trị ch>1 và

86 Ví dụ calSmallS(‚#54-356+2:5‛,3, 1)=#54 private static String calBigS(String S1, int h1)

Mô tả Lấy phần còn lại của xâu bắt đầu từ vị trí dấu đứng liền sau chỉ số h1.

Ví dụ calBigS(‚#54-356+2:54+5‛, 3)= ‚+2:54+5‛ public static String join(String S1, String S2)

Mô tả Phép gộp 2 chuỗi số có dấu chính tắc S1và S2(Phép toán gộp ⊗). Ví dụ join (‚#3-2‛,‚#5-1#8-1‛) = ‚#8:2#8:2‛

public static String Option(String S1, String S2)

Mô tả Phép chọn 2 chuỗi số có dấu chính tắc S1và S2(Phép toán chọn ⊙). Ví dụ option (‚-2:3#4‛,‚#2-2#4:3#5‛) = ‚#2-2#4:3#5‛

private static int balancePrimitive(String str)

Mô tả Tính hệ số cân bằng của chuỗi số chỉ có giá trị +1 và -1

Ví dụ balancePrimitive(‚+1+1-1+1‛)=2 private static int balanceTFJ(String str)

Mô tả Tính hệ số cân bằng của chuỗi số có dấu chỉ có các thành phần + và - Ví dụ balanceTFJ (‚+4+1-3+1‛)=3

public static Stack<String> TFJStringToStackTFJ(String StringTFJPrimitive)

Mô tả Chuyển một chuỗi số sang ngăn xếp, theo đó mỗi phần tử ngăn xếp sẽ chỉ là chuỗi số có dấu, hoặc “(”, hoặc “)”.

Ví dụ

sT=TFJStringToStackTFJ(‚+1(+1+1-1+1(+1-1)-1-1)-1‛)

với sT có dạng

public static Stack<String> reverseStack(Stack<String> sT)

Mô tả Đảo ngƣợc ngăn xếp sT.

Ví dụ

stackReverse=reverseStack(stackTFJ)

với stackTFJ có dạng:

87

public static Stack<String> optStack(Stack<String> stackTFJ)

Mô tả Tối ƣu ngăn xếp đƣợc. stackTFJ thành một ngăn xếp chứa thông tin có thể tính toán

Ví dụ

stackOptimization=optStack(stackTFJ)

trong đó stackTFJ là:

Và stackOptimization sẽ nhận đƣợc là:

public static String estimateResourcesStack(Stack<String> stackOptimization)

Mô tả Lấy về giá trị giới hạn trên tổng chi phí tài nguyên với tham số đầu vào là ngăn xếp stackOptimization

Ví dụ

estimateResourcesStack(stackOptimization)= ‚#8‛

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp dựa trên hệ thống kiểu để tính cận trên tài nguyên của các chương trình featherweight java có giao tác (Trang 83)