Avatar
ほぼLGTMです。いくつかコメントしました。(個人的に修正したい部分も含めていますmm)
7:06 PM
表記揺れの修正です。 suggestion `attached` 属性は、この宣言で 2 回、各マクロの役割のために 1 回ずつ、現れます。最初の使用である `@attached(member)` は、マクロがそれを適用する型に新しいメンバを追加することを示します。`@OptionSet` マクロは、`OptionSet` プロトコルで必要な `init(rawValue:)` イニシャライザと、いくつかの追加メンバを追加します。2 つ目の使い方である `@attached(extension, conformances: OptionSet)` は、`@OptionSet` が `OptionSet` プロトコルへの準拠を追加することを示しています。`@OptionSet` マクロは、それを適用する型を展開し、`OptionSet` プロトコルに準拠します。
7:06 PM
原文に合わせてリンクをつけました。 あと「走らせて」は「実行して」のほうがよいかなと思いましたがどうでしょうか? suggestion 最初の行で、`#function` は Swift 標準ライブラリから [`function()`](https://developer.apple.com/documentation/swift/function()) マクロを呼び出します。このコードをコンパイルするとき、Swift は、`#function` を現在の関数の名前に置き換えるマクロの実装を呼び出します。このコードを実行して `myFunction()` を呼ぶと、"現在実行中 myFunction()" と表示します。2 行目では、`#warning` は、カスタムコンパイル時の警告を生成するために標準ライブラリから [`warning(_:)`](https://developer.apple.com/documentation/swift/warning(_:)) を呼び出します。
7:06 PM
すいません。僕のミスを修正させてくださいmm suggestion `#fourCharacterCode` マクロは、4 文字の文字列を受け取り、その文字列の ASCII 値を足し合わせた符号なし 32 ビット整数を返します。ファイルフォーマットによっては、コンパクトな一方でデータをデバッガで読めるという理由から、データを識別するためにこのような整数を使用することがあります。以下の[マクロの実装](#マクロの実装)のセクションで、このマクロを実装する方法を示します。
7:06 PM
不要な文言削除させてくださいmm suggestion 上の図は、このコードの構造が、メモリ上でどう表現されるかを示しています。AST の各要素は、ソースコードの一部に対応しています。「定数宣言」 AST 要素には、その下に 2 つの子要素があり、定数宣言の 2 つの部分、つまり名前と値を表しています。「マクロ呼び出し」要素には、マクロの名前とマクロに渡される引数のリストを表す子要素があります。