Stackfish
Jump to navigation
Jump to search
Stackfish is designed by islptng.
- Stackfish is stack-based.
- TOS:Top Of Stack.
- If there are not any things in stack, we will push 0 to the stack.
Commands
i increment TOS d decrement TOS s square TOS o output TOS z push 0 r push a number read from stdin n put TOS to the bottom of stack w pop p...q Same as bf [] but TOS instead
Examples
A+B problem
rnwrpdninqwo
Interpreter
#stackfish interpreter code="rrnnwpdninqwo"#<-Your code here stack=[];j=w=0;t=1 while j<len(code): if stack==[]:stack=[0] i=code[j] if i=="i":stack[-1]+=1 elif i=="d":stack[-1]-=1 elif i=="s":stack[-1]**=2 elif i=="o":print(stack[-1]) elif i=="z":stack.append(0) elif i=="w":stack.pop() elif i=="r":stack.append(int(input("input an integer."))) elif i=="n":stack=[stack[-1]]+stack[:len(stack)-1] elif i=="p": t+=1 if stack[-1]!=0 else 0 if t<3:w=j elif i=="q": t-=1 if t==1 and stack[-1]!=0:j=w-1;w=0 j+=1