| Challenge: Figure out what this program printsApril 1 2009 at 6:01 PM | qbguy (no login) | |
| DIM STACK(9999), TARGETS(9999)
X$ = ">+<+[>>>[-]<[-]<[>+>+<<-]>>[<<+>>-]<[>>>>>>>>[-]<<<<<<<+[->,.-------------[<+>>+++++[<------->-]>>>>>[<<<<<+>>>>>-]<<<<<[>>>>>++++++++++<<<<<-]<[>>>>>>+<<<<<<-]]<]++++++++++.[-]>>>>>>>>[-]<<<<<<<<+[->,.-------------[<+>>+++++[<------->-]>>>>>>[<<<<<<+>>>>>>-]<<<<<<[>>>>>>++++++++++<<<<<<-]<[>>>>>>>+<<<<<<<-]]<]++++++++++.[-]>>>>>>>>>[-]<<[>>+<<<<<<<<<+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>>>>[-]<<[>>+<<<<<<<<<<+>>>>>>>>-]<<<<<<<<[>>>>>>>>+<<<<<<<<-]>>>>>>>>>>[<+<<<<<<<<<+>>>>>>>>>>-]<<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]>[-]>[-]>[-]>[-]>>>>>[<<<<<<+[>+<<<<+>>>-]<<<[>>>+<<<-]+>>>>----------[<<<<->>>>[-]]<<<<[>>+>[-]<<<-]>>[>>+<<<<+>>-]<<[>>+<<-]+>>>>----------[<<<<->>>>[-]]<<<<[>+>[-]<<-]>>>>>>>>>-]<<<<<<<<[<++++++++[>++++++>++++++<<-]>.>.[-]<[-]]>[<<++++++++[>>++++++<<-]>>.[-]]<<++++++++[>>>++++++<<<-]>>>.[-]<<<+++++++++++++.---.[-]<<<[-]>[-]>[-]]<<]
"
FOR I = 1 TO LEN(X$)
IF MID$(X$, I, 1) = "[" THEN STACK(STACKP) = I: STACKP = STACKP + 1
IF MID$(X$, I, 1) = "]" THEN
IF STACKP = 0 THEN PRINT "Unmatched ]": STOP
STACKP = STACKP - 1
TARGETS(I) = STACK(STACKP)
TARGETS(STACK(STACKP)) = I
END IF
NEXT
IF (STACKP > 0) THEN PRINT "Unmatched [": STOP
FOR I = 1 TO LEN(X$)
SELECT CASE MID$(X$, I, 1)
CASE "+"
array(memp) = array(memp) + 1
CASE "-"
array(memp) = array(memp) - 1
CASE ">"
memp = memp + 1
CASE "<"
memp = memp - 1
CASE ","
ARRAY(MEMP) = ASC(INPUT$(1))
CASE "."
PRINT CHR$(ARRAY(MEMP));
CASE "["
IF (array(memp) = 0) THEN
I = TARGETS(I)
END IF
CASE "]"
IF (array(memp) <> 0) THEN
I = TARGETS(I)
END IF
END SELECT
NEXT
|
| | Responses |
|
|