Skip to content

defer文のexampleの修正、macroのURL修正、grammar改行方法の修正 #447

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Aug 12, 2023
15 changes: 9 additions & 6 deletions language-reference/about-the-language-reference.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 言語リファレンスについて\(About the Language Reference\)

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

正式な文法で使用される表記法を読む。
Expand All @@ -22,12 +22,15 @@ Swift プログラミング言語の正式な文法を記述するために使

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

> GRAMMAR OF A GETTER-SETTER BLOCK
> getter-setter-block → `{` [getter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-clause) [setter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-clause)<sub>opt</sub> `}` \| `{` [setter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-clause) [getter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-clause) `}`
> 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](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-clause) [setter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-clause)<sub>opt</sub> `}`
> getter-setter-block → `{` [setter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-clause) [getter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-clause) `}`
> Grammar of a getter-setter block:
>
>
> *getter-setter-block* → **`{`** *getter-clause* *setter-clause*_?_ **`}`** \
> *getter-setter-block* → **`{`** *setter-clause* *getter-clause* **`}`**

27 changes: 14 additions & 13 deletions language-reference/attributes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 属性\(Attributes\)

最終更新日: 2023/6/3
最終更新日: 2023/8/11
原文: https://docs.swift.org/swift-book/ReferenceManual/Attributes.html

宣言と型に情報を追加する。
Expand Down Expand Up @@ -804,15 +804,16 @@ switch の case 属性は、switch 文のケースにのみ適用できます。

この属性を switch ケースに適用すると、コードのコンパイル時にわかっているどの列挙ケースとも一致することがない可能性を示します。`unknown` 属性の使用方法の例については、[Switching Over Future Enumeration Cases\(列挙型の将来のケースのスイッチング\)](../language-reference/statements.md#switching-over-future-enumeration-cases)を参照ください。

> GRAMMAR OF AN ATTRIBUTE
> attribute → `@` [attribute-name](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attribute-name) [attribute-argument-clause](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attribute-argument-clause)<sub>opt</sub>
> attribute-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier)
> attribute-argument-clause → `(` [balanced-tokens](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_balanced-tokens)<sub>opt</sub> `)`
> attributes → [attribute](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attribute) [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)<sub>opt</sub>
> balanced-tokens → [balanced-token](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_balanced-token) [balanced-tokens](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_balanced-tokens)<sub>opt</sub>
> balanced-token → `(` [balanced-tokens](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_balanced-tokens)<sub>opt</sub> `)`
> balanced-token → `[` [balanced-tokens](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_balanced-tokens)<sub>opt</sub> `]`
> balanced-token → `{` [balanced-tokens](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_balanced-tokens)<sub>opt</sub> `}`
> balanced-token → 任意の識別子、キーワード、リテラル、または演算子
> balanced-token → `(`, `)`, `[`, `]`, `{`, または `}` を除く任意の句読点

> Grammar of an attribute:
>
> *attribute* → **`@`** *attribute-name* *attribute-argument-clause*_?_ \
> *attribute-name* → *identifier* \
> *attribute-argument-clause* → **`(`** *balanced-tokens*_?_ **`)`** \
> *attributes* → *attribute* *attributes*_?_
>
> *balanced-tokens* → *balanced-token* *balanced-tokens*_?_ \
> *balanced-token* → **`(`** *balanced-tokens*_?_ **`)`** \
> *balanced-token* → **`[`** *balanced-tokens*_?_ **`]`** \
> *balanced-token* → **`{`** *balanced-tokens*_?_ **`}`** \
> *balanced-token* → 任意の識別子、キーワード、リテラル、または演算子 \
> *balanced-token* → **`(`**, **`)`**, **`[`**, **`]`**, **`{`**, または **`}`** を除く任意の句読点
Loading