소스코드의 작은 수정을 일으키는 언어의 정의와 해석기입니다.
작은 수정이란 "사소한 실수"로 인해 프로그램에 오류가 생긴 경우, 그 실수를 수정하는 것을 의미합니다.
Revise는 작은 수정을 정의한 언어로 명령의 리스트로 이루어져 있습니다.
P = C*
C = ^ | v | < | >
| origin
| backspace
| insert(S)
^
,v
,<
,>
: 각각 커서를 상하좌우로 이동origin
: 소스 코드 상의 맨 위 맨 왼쪽 지점으로 이동backspace
: 커서 위치에서 한글자 지우기insert(S)
: 커서 위치에서S
삽입
S
는 사전에 정의된 문자열의 집합의 원소입니다.
example
에 정의되어 있는 언어에서는 아래 두가지 중 하나의 값을 가질 수 있습니다.
S = UndefinedSemantics
| ;
Revise 언어는 수정 대상의 맨 처음음 위치(가장 윗줄의 가장 처음 위치)에서 시작하여 동작합니다.