Temporal: for/if/loop/return nodes stamped with the next statement's line (what is i at N answers for a line that never assigns i)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Start in the parser and temporal tracing code, then run the existing temporal tests around line-based lookup and trace tape generation. Add coverage for for/if/loop/return nodes, indexed/field/destructuring stores, and the end-of-file stamp; use the Done when checklist and docs/TRACE.md to verify the resulting behavior.
索引モデルが issue の本文から書いたものです。
説明
Found by the builder on #1377. This predates it and exists on base too.
The parser stamps if/loop/for/return nodes with the line of the token that FOLLOWS them, not their own line. For a for loop variable this is silent-wrong: what is i at 4 returns 2 when line 4 never assigns i.
Related, from the same survey:
- Every trace tape starts with a spurious
Lstamp for the line after the end of the file. - Stores other than a plain assignment (
d[k] is v,d.k is v, destructuring) are stamped differently from plain assignment. - A call assignment is recorded under the callee's last line.
The filing rule for multi-line statements is #1381's decision. This issue is about nodes stamped with a line that is not theirs at all.
Done when
-
for/if/loop/returnnodes carry their own keyword's line. A temporal test showswhat is i at Nreturns null (or the prior value) for a line that does not assigni. - The spurious end-of-file
Lstamp is gone, or explained in docs/TRACE.md. - Indexed, field and destructuring stores are stamped by the same rule as plain assignment. Covered by a test.
- 主要言語
- C
- スター
- 3
- フォーク
- 7
- 平均マージ
- 5時間 38分
- マージ済み PR(30日)
- 188
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
InauguralSystems/EigenScript のほかの issue
-
area:docs kind:docs-drift
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
InauguralSystems/EigenScript#1428 ·
メンテナーはふだん 1 日以内に返信
-
area:docs good first issue kind:docs-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
InauguralSystems/EigenScript#1396 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
docs/BUILTINS.md: task_spawn row says task_yield/task_join 'land in a later increment'; both existオープンarea:docs good first issue kind:docs-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
InauguralSystems/EigenScript#1392 ·
メンテナーはふだん 1 日以内に返信
-
Error carets pad multi-byte UTF-8 byte-for-byte, so the ^ lands right of the token on a terminalオープンarea:lint-tooling kind:silent-wrong
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
InauguralSystems/EigenScript#1373 ·
メンテナーはふだん 1 日以内に返信
-
area:docs good first issue kind:docs-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
InauguralSystems/EigenScript#1277 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
InauguralSystems/EigenScript の issue をすべて見る
似ている issue
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
github/copilot-sdk#2804 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
Zenmap
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 5 日以内に返信
-
hfile_s3: reading to EOF fails with EINVAL when object size is a multiple of the read part sizeオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 3 日以内に返信