summaryrefslogtreecommitdiff
path: root/chapter25/README.ja.md
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-07 09:53:15 -0700
committerCliff Click <cliffc@acm.org>2026-10-07 09:53:15 -0700
commitb2862f980f3d78012066ef1cc09d4ad58f886c0f (patch)
treebbeab7de6ac8b556911d117989ab4bbc0324ecb5 /chapter25/README.ja.md
parent863a6ed0ad723e06c76f392d4fb3a5f6bd22863c (diff)
downloadSimple-b2862f980f3d78012066ef1cc09d4ad58f886c0f.tar.gz
Simple-b2862f980f3d78012066ef1cc09d4ad58f886c0f.zip
Pick up japanese transaltionpr262-doc-followups
A bunch of minor README fixes, missing TOC, grammer cleanup
Diffstat (limited to 'chapter25/README.ja.md')
-rw-r--r--chapter25/README.ja.md6
1 files changed, 3 insertions, 3 deletions
diff --git a/chapter25/README.ja.md b/chapter25/README.ja.md
index fc4d96e4..cfb953c6 100644
--- a/chapter25/README.ja.md
+++ b/chapter25/README.ja.md
@@ -15,6 +15,8 @@
[直線的な履歴](https://github.com/SeaOfNodes/Simple/tree/linear) で [この章](https://github.com/SeaOfNodes/Simple/tree/linear-chapter25) を読み、[第24章と比較](https://github.com/SeaOfNodes/Simple/compare/linear-chapter24...linear-chapter25) することもできます。
+この章の[完全な言語文法](docs/25-grammar.ja.md)はこちらです。
+
## コンパイル単位と名前
`CompUnit` はソースまたはオブジェクトファイルを表します。`ParseAll` は依存関係を発見し、必要なソースを解析し、以前コンパイルした単位を読み込みます。ソースツリーとビルドツリーは対応する相対パスを使い、クラス名はドット区切りのパスを使います。たとえば `a/b/foo.smp` は名前空間 `a.b.foo` を供給します。
@@ -43,8 +45,6 @@ ELF ライタは、ネイティブコードと、正規化された型、理想ã
外部フィールドのフラグと記号的オフセットは、シリアライズされた配置を変更します。マジックは `C0DE` のままで、独立した形式バージョンはまだありません。このコンパイラへインポートする前に、すべての Simple オブジェクトファイルを再ビルドしてください。
-> 訳注:原文のこの段落は `C0DE` としていますが、後の「ビルドと確認」では `C0D2` ヘッダを使うと記しています。この訳では、原文の両方の記述を保持しています。
-
## 型が完成する前の SSA 構築
Simple は引き続き AST を介さず直接 SSA に解析します。前方参照により、解析時点では式の最終的な型が利用できない場合があります。そのため構文と解決済みの字句的束縛でトポロジーを選び、後から型でグラフを精密化、最適化、検証します。
@@ -86,7 +86,7 @@ return new Box(new i64[1]);
このディレクトリで `make lib` は Java テスト依存関係を用意し、`make tests` は章の生のスイート、独立スイート、システムテスト、ファザー回帰テストを実行します。`make release` はコンパイラ jar とネイティブライブラリ成果物を構築し、`make tags` はエディタ用タグを構築します。ネイティブツールと選択した CPU/ABI は環境と一致する必要があります。Makefile は現在、既定で x86-64/win64 を使います。
-シリアライズ IR は現在 `C0D2` ヘッダを使います。ポインタ型は独立した読み取り専用アクセスビットを含みます。古いオブジェクトファイルは再ビルドが必要です。リーダは旧ヘッダを拒否し、新しい配置で旧型を解釈しません。
+シリアライズ IR は `C0DE` ヘッダを使います。ポインタ型は独立した読み取り専用アクセスビットを含みます。形式にはまだバージョン番号がないため、形式を変更したらオブジェクトファイルを再ビルドしてください。現在、後方互換性は保証していません。
コンパイラ変更は `sys.o` のシリアライズ IR とネイティブコードの両方を無効にする場合があります。リンクしたプログラムのテスト結果を解釈する前に再ビルドしてください。ソースだけの部分集合は、この章の完全な `make tests` と同等ではありません。