hogumaLang

미완성, 예외를 처리하지 못할 수 있습니다.

음~ 맛있다

사용 방법

hogumaCompiler.exe (파일 이름).hg

스택

스택의 모든 원소는 정수로 이루어집니다. 현재는 하나만 이용 가능하지만 추가 예정입니다.

버퍼

임시 메모리 역할을 하는 버퍼입니다. 주로 연산을 하거나 스택끼리 값을 통신할 때 사용합니다. 버퍼에도 정수가 저장됩니다.

키워드

스택, 버퍼

  • : 기본값 1에 뒤의 ! 개수만큼 더하여 스택에 추가합니다.
    • 예시: 1이고, 호!!!4입니다.
  • : 가장 위의 스택을 복제합니다.
    • 예시: 스택이 1 2 3일 때, 을 사용하면 스택은 1 2 3 3이 됩니다.
  • : 사용자에게 값을 입력받아 스택에 추가합니다.
  • : 가장 위의 스택의 값을 버퍼로 옮깁니다. (pop)
    • 예시: 스택이 1 2일 때, 를 사용하면 스택은 1, 버퍼는 2가 됩니다.
  • : 버퍼 값을 스택에 추가합니다. (pop)
    • 예시: 스택이 3 4이고 버퍼가 5일 때, 를 사용하면 스택은 3 4 5가 되며, 버퍼는 비게 됩니다.
  • : 기본값 1에 뒤의 ! 개수만큼 더한 값을 가장 위의 스택에 더합니다.
    • 예시: 스택이 3일 때, 할!!을 사용하면 스택은 6이 됩니다.
  • : 기본값 1에 뒤의 ! 개수만큼 더한 값을 가장 위의 스택에서 뺍니다.
    • 예시: 스택이 6일 때, 망!을 사용하면 스택은 4가 됩니다.

연산

  • : 버퍼와 가장 위의 스택의 값을 더한 값을 버퍼에 저장합니다. (pop)
    • 예시: 스택이 2이고 버퍼가 4일 때, 을 사용하면 버퍼는 6이 됩니다.
  • : 버퍼에서 가장 위의 스택의 값을 뺀 값을 버퍼에 저장합니다. (pop)
    • 예시: 스택이 3이고 버퍼가 7일 때, 를 사용하면 버퍼는 4가 됩니다.
  • : 버퍼와 가장 위의 스택의 값을 곱한 값을 버퍼에 저장합니다. (pop)
    • 예시: 스택이 4이고 버퍼가 3일 때, 을 사용하면 버퍼는 12가 됩니다.
  • : 버퍼를 가장 위의 스택의 값으로 나눈 몫을 버퍼에 저장합니다. (pop)
    • 예시: 스택이 5이고 버퍼가 10일 때, 을 사용하면 버퍼는 2가 됩니다.

흐름 제어

추가 예정입니다.

출력

  • : 스택을 아래에서부터 아스키코드로 읽어 문자로 출력합니다.
    • 예시: 스택이 97 32 65일 때, 를 사용하면 a A를 출력합니다.
  • : 버퍼의 값을 그대로 출력합니다. (pop)
    • 예시: 버퍼가 3일 때, 를 사용하면 3을 출력합니다.
  • : 가장 위의 스택의 값을 그대로 출력합니다. (pop)
    • 예시: 스택이 1 2일 때, 를 사용하면 2를 출력하고 스택은 1이 됩니다.

예제

HELLO

호!!!!!!!박구할텃마박망!!박할!!!!!!박박할!!트

출력:

HELLO

A + B

고고구영짜

입력:

5
2

출력:

7