Re: 仮想言語 ( No.6 ) |
- 日時: 2007/06/25 12:34
- 名前: ダンボ
- > === (1) ポインタの参照先について ===
> Dim P1 As Pointer > Dim Val1 As Integer > P1 → Val1 > のように書く事もできるのかな?
ここは「参照修飾子(前置)」というのを導入して、 Dim P1 As Pointer Dim Val1 As Integer P1 ← @Val1
> === (2) 値型について === > そのポインタを介さずに、その名前を使って扱うこともできる、ということですよね。 > だとすれば、下記のような使い方もできるのかな。 > Dim P As Pointer → IntVal As Integer ← 12 'IntValに12を初期値として代入し、P には、そのSourceValを参照させる。 > IntVal ← 100 'IntVal変数に、100 という値を代入 > Dim ResultVal As Integer > ResultVal ← P1→? 'ResultVal に、P1 が指している何かの値を代入
そういうことです。
で、ちょっと書き直して、
Dim P1 As Pointer Points MonthVal As Integer Dim P2 As Pointer Points P1 Dim P3 As Pointer Points SourceVal As Integer Initial 12 Dim I1 As Integer Initial 1
P1→ ? ← I1 ' P1が指すところの何だかに、I1の値を格納する P1→ ? ← P3→ ? ' P1が指すところの何だかに、P3が指すところの何だかに格納されている値を格納する P2→→ ? ← P3→ ? ' P2が指すポインターの指すところの何だかに、P3が指すところの何だかに格納されている値を格納する P3 ← @Il ' P3にはI1の参照を格納する P1→ ? ← P3→ ? ' 結果は、MonthValに1を格納する(MonthVal ← I1)と等価
ところが、←を代入演算子とするのは良いとしても、→が「参照演算子」というのは変。 (「参照演算子」の定義ができない)「参照修飾子」が妥当に思えるが「前置」「後置」なのか? どちらとしても変な感じがする、「中置修飾子」が一番しっくりする気がする。 すると、 P1→? ← I1 P1→? ← P3→? P2→→? ← P3→? P3 ← @Il P1→? ← P3→? と書くかと思ったが、見づらいので→をあきらめてみた。 P1.? ← I1 P1.? ← P3.? P2..? ← P3.? P3 ← @Il P1.? ← P3.? とすると、いいかな? (でもこれで何か革新性があったと言えるだろうか?悪くは無いとは思うが)
|
|