아르템 리트킨은 정규 표현식으로 1992년작 둠을 실행하는 시스템을 제작했습니다. 가상 CPU 레지스터와 RAM 일부와 프레임 버퍼와 WAD 데이터와 I/O를 포함한 96MB 크기의 일반 텍스트 문자열을 생성했습니다. 정규 표현식이 문자열의 문자를 일치시키고 치환하는 방식으로 레지스터 연산과 메모리 접근 및 쓰기를 처리합니다.
게임 화면 한 프레임을 생성하는 데 약 180초가 걸립니다. 프레임마다 약 1,400만 번의 치환이 필요하며 처리 속도는 초당 80,000회입니다. 출력 결과는 실제 둠 실행 결과와 바이트 단위로 동일하며 키보드 조작도 지원합니다.
메모리 접근은 이진 트리 구조와 정규 표현식의 문자 이동 명령을 이용합니다. 전체 96MB 문자열을 반복해서 검색하지 않고 분기 사이를 이동해 메모리 영역…
원문 보기 →