Swift

Swift Grammar – วิธีอ่านเอกสารอ้างอิงของ swift ให้เข้าใจ

ในเอกสารอ้างอิงของภาษา swift บนเว็บไซต์ swift.org นั้น จะมีการเขียนการใช้งานภาษา swift ในรูปแบบแบบมาตรฐานเรียกว่า Swift grammar (เหมือน grammar การใช้งานภาษาอังกฤษ) การรู้จักกับแกรมมาของภาษา swfit จะช่วยให้อ่านเอกสารอ้างอิงได้เข้าใจมากขึ้น

Swift Grammar notation

คำนิยาม

Grammar Production : รูปแบบที่สามารถเป็นไปได้ อยู่ด้านขวาของลูกศร (→)

Grammar Production Rule : กฎของ grammar ในเรื่องนั้นๆ ซึ่งก็คือข้อความ grammar ทั้งหมดนั่นเอง

สัญลักษณ์ที่ใช้ในเอกสารอ้างอิงของ swift มีดังนี้

1 ลูกศร (→)

ลูกศรในเอกสาร swift (→) ใช้ระบุ grammar production สามารถอ่านได้ว่า “Can consist of” หรือ “สามารถที่จะมี”

ยกตัวอย่าง

getter-setter-block → { getter-clause setter-clause opt } | { setter-clause getter-clause }

อ่านว่า getter-setter-block สามารถที่จะมี getter block + setter block (opt – setter block อาจจะมีหรือไม่มีก็ได้) หรือ setter block + getter block

2 ตัวอักษรเอียง

ตัวอักษรเอียง (italic text) หมายถึง Syntactic categories (ประเภทของการสร้างประโยค) สามารถระบุได้ทั้งฝั่งซ้ายและฝั่งขวาของลูกศร (คือเอกสารจะเขียนไว้ได้ทั้งซ้ายและขวาของ grammar production rule ถ้าอยู่ฝั่งขวามักจะเป็น link ดังตัวอย่างด้านล่าง)

ตัวอย่างเช่น

getter-setter-block → { getter-clause setter-clause opt } | { setter-clause getter-clause }

syntactic category ในประโยคนี้คือ

getter-setter-block

getter-clause (syntactic category ที่เป็น link ไปดูที่ไปที่มาต่อได้)

setter-clause

3 ตัวอักษรหนา

ตัวอักษรหนา (boldface constant width text) จะปรากฎเฉพาะด้านขวาของ production grammar rule

บ่งบอกถึงเครื่องหมายวรรคตอน (Punctuation) หรือ คำ Keyword ต่างๆ ตัวอย่างเช่น วงเล็บปีกกา ( { } ), true/false, nil เป็นต้น

ตัวอย่าง

boolean-literal → true | false

หมายความว่า ค่าของตัวแปร boolean จะสามารถมี true หรือ false

4  vertical bars (|) = “หรือ”

Vertical bar (เส้นขีดแนวดิ่ง) บ่งบอกถึงคำว่า “หรือ”

มันเป็น alternate production rule คือ กฎหรือรูปแบบอาจจะเป็นไปได้สำหรับ grammar production นั้นๆ

กรณีที่มี alternate production rule หลายๆ แบบ ก็จะเขียน grammar production rule แยกบรรทัดกัน

ตัวอย่างการแตกประโยค “หรือ”

GRAMMAR OF A GETTER-SETTER BLOCK

getter-setter-block → { getter-clause setter-clause opt } | { setter-clause getter-clause }

แตกออกเป็นสองบรรทัดได้ดังนี้

getter-setter-block → { getter-clause setter-clause opt }

getter-setter-block → { setter-clause getter-clause }

ซึ่งทั้งสองแบบก็ให้ความหมายเดียวกัน

5 Opt

Opt (ตัวเอียง) ใช้ระบุใน grammar production (ด้านขวาของลูกศร) บอกถึงจะมีหรือไม่มีก็ได้ (option)

บทความอื่นๆ

รู้จักภาษา Swift กันก่อน

Cocoapods ตอนที่ 1 – แหล่งรวม Library สำหรับนักพัฒนา

Udemy

You may also like