THE SWIFT PROGRAMMING LANGUAGE(日本語)
  • The Swift Programming Language(日本語版)
  • Swiftへようこそ(WELCOME TO SWIFT)
    • Swiftについて(About Swift)
    • バージョン互換性(Version Compatibility)
    • Swiftツアー(A Swift Tour)
  • 言語ガイド(LANGUAGE GUIDE)
    • 基本(The Basics)
    • 基本演算子(Basic Operators)
    • 文字と文字列(Strings and Characters)
    • コレクション型(Collection Types)
    • 制御フロー(Control Flow)
    • 関数(Functions)
    • クロージャ(Closures)
    • 列挙型(Enumerations)
    • 構造体とクラス(Structures and Classes)
    • プロパティ(Properties)
    • メソッド(Methods)
    • サブスクリプト(Subscripts)
    • 継承(Inheritance)
    • 初期化(Initialization)
    • デイニシャライゼーション(Deinitialization)
    • オプショナルチェーン(Optional Chaining)
    • エラー処理(Error Handling)
    • 並行処理(Concurrency)
    • マクロ(Macros)
    • 型キャスト(Type Casting)
    • ネスト型(Nested Types)
    • 拡張(Extensions)
    • プロトコル(Protocols)
    • ジェネリクス(Generics)
    • Opaque 型とBox プロトコル型(Opaque Types and Boxed Types)
    • 自動参照カウント ARC(Automatic Reference Counting)
    • メモリ安全性(Memory Safety)
    • アクセス制御(Access Control)
    • 高度な演算子(Advanced Operators)
  • 言語リファレンス(LANGUAGE REFERENCE)
    • 言語リファレンスについて(About the Language Reference)
    • 字句構造(Lexical Structure)
    • 型(Types)
    • 式(Expressions)
    • 文(Statements)
    • 宣言(Declarations)
    • 属性(Attributes)
    • パターン(Patterns)
    • ジェネリックパラメータと引数(Generic Parameters and Arguments)
    • 文法のまとめ(Summary of the Grammar)
  • REVISION HISTORY (改訂履歴)
    • ドキュメント改訂履歴(Document Revision History)
GitBook提供
このページ内
  1. 言語リファレンス(LANGUAGE REFERENCE)

言語リファレンスについて(About the Language Reference)

最終更新日: 2023/8/18 原文: https://docs.swift.org/swift-book/ReferenceManual/AboutTheLanguageReference.html

正式な文法で使用される表記法を読む。

このパートでは、Swift プログラミング言語の正式な文法について説明します。ここで説明する文法は、パーサやコンパイラを直接実装できるようにするのではなく、言語をより詳細に理解できるようにすることを目的としています。

Swift のコードのほぼどこにでも現れる、多くの一般的な型、関数、および演算子は、実際には Swift 標準ライブラリで定義されているため、Swift 言語のサイズは比較的小さいです。これらの型、関数、および演算子は Swift 言語そのものではありませんが、このパートのディスカッションやコード例で広く使用されています。

文法の読み方(How to Read the Grammar)

Swift プログラミング言語の正式な文法を記述するために使用される表記法は、いくつかの規則に従います。

  • 矢印(→)は、文法の生成を示すために使用され、「〇〇で構成される」と読むことができます

  • 構文カテゴリはイタリックのテキストで示され、文法生成規則の両側に現れます

  • 単語リテラルと句読点は、太字の等幅フォントで示され、文法生成規則の右側にのみ現れます

  • 代わりとして使える文法生成は、縦棒 (|) で区切られます。代替案が長すぎて読みにくい場合、新しい行で複数の文法作成規則に分割されます

  • 場合によっては、通常のフォントテキストを使用して、文法生成規則の右側を記述します

  • 必須ではない構文カテゴリとリテラルは、末尾にクエスチョンマーク ? が付加されます

例として、getter-setter ブロックの文法は次のように定義されます:

Grammar of a getter-setter block:

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

この定義は、getter-setter ブロックが、中括弧({})で囲まれたオプションの setter 句が続く getter 句、または中括弧で囲まれた getter 句が続く setter 句で構成できることを示しています。上記の文法生成は、次の 2 つの生成と同等で、代替案が明示的に記述されています

Grammar of a getter-setter block:

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

前へ高度な演算子(Advanced Operators)次へ字句構造(Lexical Structure)

最終更新 1 年前