งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ไวยากรณ์ของภาษาการทำ โปรแกรม (2) (SYNTAX OF PROGRAMMING LANGUAGES) 1.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ไวยากรณ์ของภาษาการทำ โปรแกรม (2) (SYNTAX OF PROGRAMMING LANGUAGES) 1."— ใบสำเนางานนำเสนอ:

1 ไวยากรณ์ของภาษาการทำ โปรแกรม (2) (SYNTAX OF PROGRAMMING LANGUAGES) 1

2 Extended BNF  เริ่มมีการปรับปรุงรูปแบบ BNF ให้สามารถเขียนได้ ง่ายขึ้น เรียกว่ารูปแบบ EBNF (Extended BNF) หรือ EBNF  ประเด็นสำคัญของการปรับปรุงคือ …………………………… โดยใช้สัญลักษณ์เพิ่มเข้ามา ดังนี้ 2

3 Extended BNF  …………………………….……. อยู่ภายใน เครื่องหมาย [ ]  หมายถึง ลำดับของสัญลักษณ์ซึ่งเป็นทางเลือก ซึ่ง อาจจะเขียนหรือไม่ก็ได้ → if ‘(’ ‘)’ [ else ]  ……………………………….. อยู่ภายใน เครื่องหมาย ( ) และเขียนแยกกันโดยใช้ |  หมายถึง ใช้บ่งบอกตัวเลือกที่เป็นไปได้ทั้งหมด ซึ่ง จะต้องเลือกว่าเป็นตัวใดตัวหนึ่งที่อยู่ภายใน เครื่องหมาย ( ) เท่านั้น → ( + | - ) 3

4 Extended BNF  ………………………. อยู่ภายในเครื่องหมาย { }  หมายถึงสิ่งที่อยู่ในวงเล็บเกิดขึ้นซ้ำๆ กันได้ หลายๆ ครั้ง  สำหรับกฎที่มีการเรียกตัวเองซ้ำ สามารถใช้ { } เพื่อทำให้การเรียกตัวเองซ้ำหมดไป → { | }*  สามารถเพิ่มเติมสัญลักษณ์บอกการเกิดซ้ำ  {…}* หมายถึง สิ่งที่อยู่ในวงเล็บเกิดขึ้นซ้ำๆ กันได้ …………………………….  {…}+ หมายถึง สิ่งที่อยู่ในวงเล็บเกิดขึ้นซ้ำๆ กันได้ ……………………………. 4

5 ตัวอย่าง BNF  BNF  + | - |  * | / |  นิพจน์คือ เทอมเดี่ยวๆ เพียงเทอมเดียว ( เช่น Y, 345) หรือ เป็น เทอมที่ซับซ้อนขึ้นโดยนำหลายๆ เทอมมา บวก ลบ คูณ หาร กันได้ ( เช่น Y / 2 * Z)  เทอม คือ แฟคเตอร์หนึ่งแฟคเตอร์ หรือ หลายแฟคเตอร์มาคูณ หรือหารกัน 5

6 ตัวอย่าง BNF แปลงไปเป็น EBNF  EBNF 6

7 จงแปลงไวยากรณ์ BNF นี้ให้ กลายเป็น EBNF   ; | ;  =  a | b | c | d  + | -  |  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 7

8 จงแปลงไวยากรณ์ BNF นี้ให้ กลายเป็น EBNF 8

9 Syntax Chart (Diagram)  แผนภูมิไวยากรณ์ ใช้ในการอธิบายไวยากรณ์ของ ภาษาคอมพิวเตอร์ โดยเริ่มต้นใช้ในการอธิบายภาษา Pascal โดยใช้รูปภาพอธิบายโครงสร้างภาษา  สัญลักษณ์นอนเทอร์มินอล จะถูกเขียนอยู่ ใน ……………………  สัญลักษณ์เทอร์มินอล จะถูกเขียนอยู่ ใน ………………………. 9

10 BNF : arithmetic expressions ::= + | - | ::= * | / | ::= number | name | ‘(’ ‘)’ 10

11 Syntax Chart : arithmetic expressions 11

12 Context-Free Grammars  Context-Free Grammars  Developed by Noam Chomsky in the mid-1950s  Language generators, meant to describe the syntax of natural languages 12

13 Context Free Grammar  ให้ ……………………………… หรือ Context-Free-Grammar ประกอบด้วย 4 เซตจำกัด คือ  V คือ  T คือ  P คือ  S คือ

14 Context Free Grammar LET G(V,T,S,P) V = T = S = P = ::= = ::= | ::= 1|2|3|4|5|6|7|8|9 ::= +|- 14

15 Context Free Grammar พิจารณา ประโยค 1 – 5 ว่าเป็นสมาชิกของ Grammar หรือไม่ Q1: Is 1  L(G)? Q2: Is 1+1  L(G)? Q3: Is 1+1=3  L(G)? Q4: Is 1-2=-1  L(G)? Q5: Is =5  L(G)? 15


ดาวน์โหลด ppt ไวยากรณ์ของภาษาการทำ โปรแกรม (2) (SYNTAX OF PROGRAMMING LANGUAGES) 1.

งานนำเสนอที่คล้ายกัน


Ads by Google