1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-03-09 15:40:10 +00:00

[Tolk] Support syntax tensorVar.0 and tupleVar.0

It works both for reading and writing:
> var t = (1, 2);
> t.0;      // 1
> t.0 = 5;
> t;        // (5, 2)

It also works for typed/untyped tuples, producing INDEX and SETINDEX.

Global tensors and tuples works. Nesting `t.0.1.2` works. `mutate` works.
Even mixing tuples inside tensors inside a global for writing works.
This commit is contained in:
tolk-vm 2025-01-27 10:29:17 +03:00
parent 565bc59735
commit 7a1602f591
No known key found for this signature in database
GPG key ID: 7905DD7FE0324B12
42 changed files with 1119 additions and 338 deletions

View file

@ -307,7 +307,7 @@ fun main(){}
...
incrementTwoInPlace CALLDICT // x y sum1
-ROT
10 PUSHINT // sum1 x y _10=10
10 PUSHINT // sum1 x y '10=10
incrementTwoInPlace CALLDICT // sum1 x y sum2
s1 s3 s0 XCHG3 // x y sum1 sum2
}>
@ -317,8 +317,8 @@ fun main(){}
"""
load_next PROC:<{
// cs
32 LDI // _4 cs
SWAP // cs _4
32 LDI // '4 cs
SWAP // cs '4
}>
"""
@ -326,7 +326,7 @@ fun main(){}
"""
testStoreUintPureUnusedResult PROC:<{
//
0 PUSHINT // _11=0
0 PUSHINT // '11=0
}>
"""
@ -335,9 +335,9 @@ fun main(){}
testStoreUintImpureUnusedResult PROC:<{
//
NEWC // b
STIX // _2
STIX // '2
DROP //
0 PUSHINT // _11=0
0 PUSHINT // '11=0
}>
"""