From 40a652e45529beaee1ef1f20a0cf2824f5e1f965 Mon Sep 17 00:00:00 2001 From: "Matsuura Tomoya(Windows)" Date: Mon, 2 Feb 2026 23:23:20 +0900 Subject: [PATCH] [obsidian] vault backup: 2026-02-02 23:23:19[ --- .../モジュールの名前環境解決を考慮した評価文脈.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/content/モジュールの名前環境解決を考慮した評価文脈.md b/content/モジュールの名前環境解決を考慮した評価文脈.md index d810e052..317c2073 100644 --- a/content/モジュールの名前環境解決を考慮した評価文脈.md +++ b/content/モジュールの名前環境解決を考慮した評価文脈.md @@ -10,17 +10,25 @@ struct Environment{ namespace:Option parent: Option - children: Vec + children: Vec, + span:Range, binds: Vec<(Symbol,V)> } ``` letでスコープを広げたときはnamespaceなしで辿ることにする -最終的にはLanguage ServerでSpanからEnvironment +最終的にはLanguage ServerでSpanからEnvironmentの位置を補足したいということになる。 + +基本的に、子環境のEnvironmentは常に親のEncより狭い範囲のSpanを持つはず。そして子要素同士のSpanは交差しないはず。 + +親から子要素を二分探索で辿って行って(Spanは交差しないからPartialOrdにできるはず) ```rust -fn get_normalized_name() +fn get_completions(arena:SlotMap<_>,root_env:EnvKey,span:Span){ + + +} ``` \ No newline at end of file