난해한 야옹... 언어(이하 야옹)는 난해한 혀엉... 언어(이하 혀엉)와 상호 트랜스파일 가능한 언어입니다. 야옹과 혀엉은 기본적으로 동치(equivalent) 관계이며 각 언어의 명령어셋은 서로 1:1 매핑될 수 있습니다.
혀엉 v0.4.5를 기준으로 합니다. 아래 나열된 한글 음절 문자 명령어를 제외한 모든 스펙은 동일합니다.
난해한 야옹... 언어 | 난해한 혀엉... 언어 | 해석 |
---|---|---|
양 , 야옹 , 야오옹 ~~~ |
형 , 혀엉 , 혀어엉 ... |
글자 수와 마침표 개수를 곱한 값을 현재 스택에 저장합니다. |
먐 , 먀암 , 먀아암 ~~~ |
항 , 하앙 , 하아앙 … |
현재 스택에서 글자 수만큼 뽑아 모두 더하여 마침표 개수에 해당하는 스택에 넣습니다. |
냥 , 냐앙 , 냐아앙 ~~~ |
핫 , 하앗 , 하아앗 ... |
현재 스택에서 글자 수만큼 뽑아 모두 곱하여 마침표 개수에 해당하는 스택에 넣습니다. |
굵 , 구룱 , 구루룱 ... |
흣 , 흐읏 , 흐으읏 ... |
스택의 위쪽에서 글자 수만큼의 원소들의 부호를 바꾼 후 그 합을 마침표 개수에 해당하는 스택에 넣습니다. |
꾹 , 꾸욱 , 꾸우욱 ... |
흡 , 흐읍 , 흐으읍 ... |
스택의 위쪽에서 글자 수만큼의 원소들을 역수로 바꾼 후 그 곱을 마침표 개수에 해당하는 스택에 넣습니다. |
뺩 , 골골 , 골골골 ... |
흑 , 흐윽 , 흐으윽 ... |
현재 스택에서 값을 하나 뽑아, 마침표 개수에 해당하는 스택에 글자 수만큼 복제해서 넣고, 현재 스택에 뽑았던 값을 하나 넣은 뒤, 마침표 개수에 해당하는 스택으로 이동합니다. |
양
,먐
,냥
은 마침표 대신 물결표~
(U+007E)를 사용합니다.뺩
,골골
,골골골
은 같은 명령어입니다. 글자 수가 한 글자일 때만뺩
을 사용합니다.
혀엉에서는 1번 스택에 NaN
이 넣어져버리는 경우 너무 커엇...
을 출력하는 것이 스펙입니다만, 야옹을 직접 실행하는 구현체를 제작할 때, 선택적으로 혀엉과의 상호 호환을 무시하고 (냥냥 펀치!!!)
를 출력할 수 있습니다.
야오오오오오오오옹~~~~~~~~ 냥~ 야옹~~~~~ 뺩... 냐앙~~~ 골골... 양~ 먀암~
야옹~~~~ 먀암~~~ 골골... 먐~ 먐~ 양~~~ 먀암~ 골골골... 양~~~ 꾹... 야옹~~
냐아아앙~ 야옹~~ 꾹... 꾸욱... 양~~ 냐앙~ 먀아암~~~ 양~~~ 먀암~~~ 골골...
야오오옹~~ 먀암~ 먐~ 양~~~ 먀암~ 야옹~~~~ 먀암~ 뺩... 먐~ 양~~~ 꾹 냐앙~
야옹~~~~~ 뺩. 굵
hyeongnya(transpiler) 제작hyeongnya- hyeong-testcases 통과
야옹과 혀엉 중 어느 코드가 더 귀여운지 벤치마크 테스트
@0x1f440 '야옹 언어'라는 단어를 언급하신 데서 영감을 얻었습니다.
애옹을 못 넣어서 아쉽습니다