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

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

Syntax and Semantics ธนวัฒน์ แซ่ เอียบ. Introduction ภาษาจำเป็นต้องอธิบายให้กับผู้คนจำนวนมาก สามารถเข้าใจคำอธิบายที่ภาษานั้นจัดเตรียมไว้ ให้ –ALGOL 60.

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


งานนำเสนอเรื่อง: "Syntax and Semantics ธนวัฒน์ แซ่ เอียบ. Introduction ภาษาจำเป็นต้องอธิบายให้กับผู้คนจำนวนมาก สามารถเข้าใจคำอธิบายที่ภาษานั้นจัดเตรียมไว้ ให้ –ALGOL 60."— ใบสำเนางานนำเสนอ:

1 Syntax and Semantics ธนวัฒน์ แซ่ เอียบ

2 Introduction ภาษาจำเป็นต้องอธิบายให้กับผู้คนจำนวนมาก สามารถเข้าใจคำอธิบายที่ภาษานั้นจัดเตรียมไว้ ให้ –ALGOL 60 และ ALGOL 68 เป็นภาษาแรกที่ใช้ รูปแบบที่สั้นกระชับในการอธิบายรูปแบบภาษา จากคำอธิบายเหล่านี้จะต่อช่วยให้ โปรแกรมเมอร์สามารถนำไปเขียน expressions statements และโครงสร้างของโปรแกรม ทั้งหมดได้ รวมทั้งผลกระทบที่เกิดขึ้นเมื่อ โปรแกรมปฏิบัติงาน การเรียนภาษาที่ใช้ในการเขียนโปรแกรม เหมือนกับการเรียนภาษาตามธรรมชาติ สามารถ แบ่งออกได้ 2 ส่วนคือ syntax และ semantics

3 Syntax Syntax คือรูปแบบของ expressions statement และ program units – ไวยกรณ์ของภาษาบอกได้ 2 สิ่งคือ อะไรคือส่วนที่ถูกต้อง อะไรคือความสัมพันธ์ระหว่างส่วนที่ถูกต้อง ตัวอย่าง if statement ของภาษา C if (i>0) printf(“Finish”);

4 Syntax The lowest level syntactic units are called lexemes –The description of lexemes can be given by a lexical specification –Lexemes include its identifiers, literals, operators, and special words if (i>0) sum = sum + 4;

5 Syntax A token of a language is a category of its lexemes –An identifier is a token that can have lexemes or instance, such as sum and total –In some cases, a token has only a single possible lexemes plus_op, the token for the arithmetic operator symbol +, has just one possible lexemes

6 Syntax พิจารณา statement ของภาษา C ดังต่อไปนี้ Index = 2 * count + 17; Q. Lexemes มีอะไรบ้างและแต่ละ lexemes คือ tokens อะไร (tokens มีดังต่อไปนี้ equal_sign, mult_op, semicolon, int_literal, identifier, plus_op) LexemesTokens

7 Syntax Syntax informally Example: “Everything between “/*” and “+/” is a comment and should be ignored.” Code: /*Store the result in y.*/ x = 3; */ y = x * 17.2; => Syntax formally

8 Semantics Semantics คือความหมายของ expressions statement และ program units เหล่านี้

9 Syntax Formally กลไกที่ใช้อธิบายไวยกรณ์ของภาษาที่ใช้ในการ เขียนโปรแกรมเรียกว่า grammars Fundamentals –A metalanguage คือภาษาซึ่งใช้อธิบาย ภาษาอื่นเช่น BNF –BNF ใช้ abstractions ในโครงสร้างของไว ยกรณ์ เช่น assignment statement ของภาษา C ใช้ abstraction คือ กำหนดได้จาก -> =

10 BNF สัญลักษณ์ทางซ้ายของลูกศรเรียกว่า left-hand side (LHS) – คือ abstraction ที่จะนำมานิยาม ข้อความทางขวามือเรียกว่า right-hand side (RHS) – ประกอบด้วยการผสมระหว่าง tokens, lexemes, การอ้างถึง abstraction อื่น ทั้งหมดนี้เรียกว่า rule หรือ production ( ซึ่ง และ ต้องนิยามเพื่อทำ ให้ สมบูรณ์ )

11 BNF Abstraction สามารถมีรูปแบบไวยากรณ์ได้ มากกว่าหนึ่งรูปแบบ – การนิยามหลายๆการนิยามสามารถเขียนได้ โดยใช้สัญลักษณ์ | – ตัวอย่าง if statement ของภาษา Pascal สามารถเขียนได้ดังนี้ -> if then -> if then else หรือเขียนด้วยรูปแบบ -> if then | if then else

12 BNF รายการที่มีความยาวไม่คงที่ทางคณิตศาสตร์ สามารถเขียนโดยใช้ ellipsis (…) เช่น 1, 2, … BNF ไม่สามารถมี ellipsis ทางเลือกคือการใช้ recursion แทน -> identifier | identifier, นิยาม เป็นไปได้ทั้ง identifier ตัวเดียว หรือ identifier ตามด้วย comma และตาม ด้วย อื่นๆ ถ้านิยาม identifier -> 1 | 2 | 3 แล้ว จะเป็นรายการใดได้บ้าง

13 BNF BNF คือเครื่องมือสำหรับใช้นิยามภาษา – สามารถนำกฎต่างๆที่มีมาใช้สร้างเป็น sentences – กระบวนการสร้าง sentence เรียกว่า derivation Grammar ของภาษาส่วนใหม่เริ่มต้นด้วยการ นิยาม เป็นอันดับแรก

14 Exercise Grammar ของภาษาหนึ่ง -> begin end -> | ; -> = -> A | B | C -> + | - | ให้เขียนตัวอย่าง derivation จาก grammar ที่ กำหนดให้

15 Exercise Grammar ของ Assignment Statement -> = -> A | B | C -> + | * | ( ) | ให้เขียน derivation เพื่อให้ได้ statement ดังต่อไปนี้ A = B * ( A+C)

16 ที่มา Concepts of programming languages : Sebesta, Robert W.


ดาวน์โหลด ppt Syntax and Semantics ธนวัฒน์ แซ่ เอียบ. Introduction ภาษาจำเป็นต้องอธิบายให้กับผู้คนจำนวนมาก สามารถเข้าใจคำอธิบายที่ภาษานั้นจัดเตรียมไว้ ให้ –ALGOL 60.

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


Ads by Google