aheui/rpaheui

literary/huntcook.aheui 스니펫 파싱에 실패함

minacle opened this issue · 6 comments

rpaheui-1.2.2-17-g49f1f4d python-2.7.10 pypy2-5.10.0

literary/huntcook.aheui 스니펫을 완전히 파싱해내지 못합니다.

다음 gist는 [9, 0]의 가 마지막 명령인 앟셈블리 코드입니다: huntcook.aheuis

아래는 -Trun 시 무한 루프에 빠져 메모리 괴물이 되는 모습입니다.

가상 메모리 크기: 23.90GB

관련해서 표준 구현에도 문제가 있고 해서 구현을 좀 고치고 있는데 (youknowone@bc67644)

optimizer 쪽에 버그가 있는게 발견되어서 좀 더 살피고 있습니다.
optimize_operation 에 아마 원래부터 버그가 있던거 같은데 바꾸고 나니 밟더라고요

가만보니 반대쪽에서 똑같은 문제가 생길수 있네요. serialize 쪽을 고쳐야 하나 봅니다

제 생각에는 밟은 칸에 [가-힣] 범위 바깥 문자가 있거나 문자가 없을 경우 알파희가 망가지는 것 같습니다.

예시로, 아래 코드는 무한 루프에 빠져야 합니다만, 출력 없이 순식간에 종료됩니다.

아희:

아박우
망희


요 벋

앟셈블리(-O0):

        BRPOP1 L3   ; L0   
        POPNUM     ; L1   망 / [  1,  0] RIGHT1
        HALT       ; L2   희 / [  1,  1] RIGHT1
L3:     HALT       ; L3   희 / [  1,  1] LEFT 1

…잘 생각해보니 위 코멘트는 별도의 이슈도 포함하는 것 같네요. 첫 명령이 OP_NONE이면 방향도 함께 무시되는 것 같습니다. 몇 번 더 테스트해보고 따로 이슈를 올리겠습니다.

경계를 넘어갈때/문자가 없는 자리로 이동할때 오동작하는 문제는 해결했습니다

#12 , #21 등으로 이제는 정상적으로 돌아가는 것으로 보입니다.