버섯랭은 "버", "균", "섯", "포자" 네개의 키워드와 "!", ".", " ", "~", "ㅋ" 다섯개의 기호로 코드가 이루어집니다 모든 프로그램은 "어떻게"로 시작하며, 항상 "이 균이냐ㅋㅋ"로 끝나야 합니다.
정수: 온점, 반점의 개수로 나타냅니다. 온점의 개수만큼 1을 더하며, 반점의 개수만큼 1을 뺍니다
... => 3
MushroomLangDocument
.. => 2
,, => -2
,,, => -3
.,., => 0
.,.. -> 2
,, -> -2
., -> 0
.. .. -> 4
.. ,, -> -4
... ... ... -> 27
변수는 인덱싱(정수)을 통해 접근하고 대입할 수 있습니다 지정하지 않았을경우 모든 변수의 기본값은 0입니다
연음의 개수번째 변수에 뒤에 오는 수를 대입합니다
어어버 => 3번째 변수에 0 지정
어버 => 2번째 변수에 0 지정
버.. => 1번째 변수에 2 지정
어버. => 2번째 변수에 1 지정
버,,, => 1번째 변수에 -3 지정
연음의 개수번째 변수를 불러옵니다
어 => 1번째 변수
어어 => 2번째 변수
어어어 => 3번째 변수
콘솔에서 정수를 입력받습니다
버균? => 콘솔을 입력받아서 1번째 변수에 대입한다
어버균? => 콘솔을 입력받아서 2번째 변수에 대입한다
콘솔에 정수를 출력합니다
균..! => 콘솔에 2 출력
균어! => 콘솔에 첫번째 변수 출력
콘솔에 문자를 출력합니다 균과 ㅋ사이에 오는 정수를 유니코드 문자로 변환하여 콘솔에 출력합니다 균과 ㅋ사이에 정수가 주어지지 않으면 개행합니다(균ㅋ => \n)
균........... ........ㅋ => 콘솔에 X 출력
포자{정수}?{실행할 명령}으로 작성합니다 정수가 0이라면 실행할 명령이 실행되며, 그렇지 않다면 다음줄로 넘어갑니다
섯 뒤에 오는 정수번째 줄로 이동합니다 섯.. => 2번째 줄(글자)로 이동 원라인코드의 경우에는 ~로 분리된 코드단위로 카운트하여 이동합니다
브섯!뒤에 오는 정수를 반환하며 프로그램을 종료합니다
.mushroom입니다\n을 ~로 치환합니다. (예제 : 구구단 참조)