새 프로그래밍 언어 Lombok을 위한 가상 머신을 만들고 있다. Lombok 가상 머신(LVM)은 어셈블리와 비슷한 기계어를 실행하며, 스택 하나와 레지스터 하나로 동작한다.
각 명령어의 동작은 다음과 같다.
PUSH x는 주어진 정수를 스택에 넣는다. 스택이 다음과 같을 때

PUSH -11을 실행하면 스택은 다음과 같이 바뀐다.

STORE는 스택 맨 위의 정수를 꺼내 레지스터에 저장한다. 스택이 다음과 같고

레지스터에 어떤 정수가 들어 있는 상태에서 STORE를 실행하면 스택은 다음과 같이 바뀌고

레지스터에는 정수 3이 들어간다.
LOAD는 레지스터의 값을 복사해 스택에 넣는다. 레지스터에 정수 6이 들어 있고 스택이 다음과 같을 때

LOAD를 실행하면 스택은 다음과 같이 바뀌고

레지스터에는 정수 6이 그대로 남는다.
PLUS는 스택 맨 위의 정수 두 개를 꺼내 더한 다음, 그 결과를 다시 스택에 넣는다. 스택이 다음과 같을 때

PLUS를 실행하면 스택은 다음과 같이 바뀐다.

TIMES는 스택 맨 위의 정수 두 개를 꺼내 곱한 다음, 그 결과를 다시 스택에 넣는다. 스택이 다음과 같을 때

TIMES를 실행하면 스택은 다음과 같이 바뀐다.

IFZERO n은 스택 맨 위의 정수를 꺼내 0인지 확인한다. 0이면 n번 명령어로 점프한다. 명령어 번호는 0부터 센다. 0이 아니면 다음 명령어를 이어서 실행한다.
DONE은 스택 맨 위의 정수를 출력하고, 뒤에 명령어가 얼마나 남았든 프로그램을 끝낸다.
실행은 첫 번째 명령어에서 시작한다. 처음에 스택은 비어 있고 레지스터에는 0이 들어 있다.
첫째 줄에 프로그램의 명령어 개수 n이 주어진다. n은 2 이상 1000 이하이다. 다음 n개 줄에 명령어가 한 줄에 하나씩 주어진다. 인수는 명령어와 공백 하나로 구분한다.
주어지는 프로그램은 항상 올바르다. 무한 루프에 빠지지 않고, 비어 있는 스택에서 정수를 꺼내려 하지도 않는다. 스택에 쌓이는 정수는 100개를 넘지 않는다. PUSH의 인수는 -10000 이상 10000 이하의 정수이고, IFZERO의 인수는 0 이상 1000 이하의 정수이다.
정수 하나를 출력한다. 실행 도중 처음 만나는 DONE 명령어가 출력하는 값이다.