Precedence rule คือกฎที่กำหนดความสำคัญของตัวดำเนินการ (operators) ซึ่งในการประเมินผลนิพจน์จะประเมินผลนิพจน์ตามความสำคัญของตัวดำเนินการ อะไรสำคัญก่อนก็จะถูกดำเนินการก่อน และอะไรสำคัญน้อยจะถูกดำเนินการเป็นลำดับถัดไป
Associativity คือการพิจารณาว่าในกรณีที่ตัวดำเนินการมีความสำคัญเท่ากันนั้น จะประเมินผลอย่างไร เช่น ประเมินตามลำดับของตัวดำเนินการจากซ้ายมือไปขวามือหรือจากขวามือไปซ้ายมือ ภาษาแต่ละภาษามีการออกแบบที่แตกต่างกันได้ ภาษาส่วนใหญ่เลือกกำหนดการดำเนินการจากซ้ายมือไปขวามือ
เช่น
A = B + C * 10 / 40
ถ้าความสำคัญของตัวดำเนินการจากสำคัญมากไปสำคัญน้อยคือ
* /,
+
=
และ Associativity กำหนดให้ดำเนินการจากซ้ายไปขวา
การประเมินผลนิพจน์คือ
C * 10 -> ผลลัพธ์1
ผลลัพธ์1 / 40 -> ผลลัพธ์2
B + ผลลัพธ์2 -> ผลลัพธ์3
ผลลัพธ์3 -> A
หรือ
(A = (B + ((C * 10)1 /40 )2) 3) 4
[ทำแบบฝึกหัด]
No comments:
Post a Comment