You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mamm will have trouble with this because it's fetch first token, check if it's a fetch, then oppy-poppin and finally solving -- and all to repeat the process once again; except this time generate actual instruction tokens and check whether the first oppy is an equals, kush or e-oppy.
This doesn't make any sense. Put instruction then eval once, simple. You know the minimum number of args firsthand, and *all* tokens are translated in the same run.
Thus, figure 1:
cpy var@0, var@1
I have inadvertently developed an interpreter which has a preference for this kind of mock-assembly syntax. And I like it a lot.
So: time to ascend beyond re-thinking and re-designs, this is what we're doing now.
TODOs
cpy a, b -> a = b;
mov a, b -> a = b; b ^= b;
wap a, b -> c = a; a = b; b = c;
wed type -> sets typing mode; implicit casting
jif a, b -> jump to a if b
eif a, b -> jump to b if not a
entry s -> defines s as program entry point
exit x -> stops program and returns x
add a, b -> a += b;
sub a, b -> a -= b;
mul a, b -> a *= b;
div a, b -> a /= b;
mod a, b -> a %= b;
and a, b -> a &= b;
or a, b -> a |= b;
xor a, b -> a ^= b;
nand a, b -> a = !(a&b);
nor a, b -> a = !(a|b);
xnor a, b -> a = ~(a^b);
shl a, b -> a<<b; cpy a, a << b;
shr a, b -> a>>b; cpy a, a >> b;
til a -> a = ~a
cl a -> a^=a
clm a, b -> a&=~b
not a -> cflg set/unset non-zero a; a=!a; returns a==0;
lis a, b -> define/redefine a as an alias for b
buf a -> set buffer idex to a
sow varargs -> write varargs to current buffer
reap a -> execute op idex a for current buffer
The text was updated successfully, but these errors were encountered:
A lot has changed about Peso in the last few months; most of the workload is now done over at avtomat and in a more refined fashion. As for ESPECTRO, it is now shb7 and not currently under development, though I do have plans for the near future.
For now, I am closing this issue and the associated project just to make sure we don't leave things just 'hanging', m'kay?
Figure 0:
mamm
will have trouble with this because it's fetch first token, check if it's a fetch, then oppy-poppin and finally solving -- and all to repeat the process once again; except this time generate actual instruction tokens and check whether the first oppy is an equals, kush or e-oppy.This doesn't make any sense. Put instruction then eval once, simple. You know the minimum number of args firsthand, and *all* tokens are translated in the same run.
Thus, figure 1:
I have inadvertently developed an interpreter which has a preference for this kind of mock-assembly syntax. And I like it a lot.
So: time to ascend beyond re-thinking and re-designs, this is what we're doing now.
TODOs
cpy
a, b -> a = b;mov
a, b -> a = b; b ^= b;wap
a, b -> c = a; a = b; b = c;wed
type -> sets typing mode; implicit castingjif
a, b -> jump to a if beif
a, b -> jump to b if not aentry
s -> defines s as program entry pointexit
x -> stops program and returns xadd
a, b -> a += b;sub
a, b -> a -= b;mul
a, b -> a *= b;div
a, b -> a /= b;mod
a, b -> a %= b;and
a, b -> a &= b;or
a, b -> a |= b;xor
a, b -> a ^= b;nand
a, b -> a = !(a&b);nor
a, b -> a = !(a|b);xnor
a, b -> a = ~(a^b);shl
a, b -> a<<b; cpy a, a << b;shr
a, b -> a>>b; cpy a, a >> b;til
a -> a = ~acl
a -> a^=aclm
a, b -> a&=~bnot
a -> cflg set/unset non-zero a; a=!a; returns a==0;lis
a, b -> define/redefine a as an alias for bbuf
a -> set buffer idex to asow
varargs -> write varargs to current bufferreap
a -> execute op idex a for current bufferThe text was updated successfully, but these errors were encountered: