https://github.com/neuwcodebox/KemonoFriendsLanguage
Kemono Friends Programming Language. (케모노 프렌즈 & けものフレンズ)
https://github.com/neuwcodebox/KemonoFriendsLanguage
anime brainfuck interpreter kemono-friends kemono-friends-language language language-design programming-language
Last synced: 3 months ago
JSON representation
Kemono Friends Programming Language. (케모노 프렌즈 & けものフレンズ)
- Host: GitHub
- URL: https://github.com/neuwcodebox/KemonoFriendsLanguage
- Owner: neuwcodebox
- License: other
- Created: 2017-03-14T15:20:29.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-18T09:32:24.000Z (over 8 years ago)
- Last Synced: 2025-06-21T05:06:50.181Z (4 months ago)
- Topics: anime, brainfuck, interpreter, kemono-friends, kemono-friends-language, language, language-design, programming-language
- Language: C++
- Homepage:
- Size: 120 KB
- Stars: 17
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Kemono Friends Language - 슥語2(SuGGoi2)

Fun! Awesome! Programming Language!
즐겁다! 굉장하다! 프로그래밍 언어!
たのしい! すごい! プログラミング 言語!
Welcome to ようこそジャパリパーク!
うー!がぉー!## Hello, World!
- English
```python
# Print Function
friends English
'0'
tanoshi!
"!dlroW ,olleH"
uwa~
omoshiro!
sugoi!
wai~
# Main Function
youkoso
sandstar English
```- Korean
```python
# Print Function
프렌즈 Korean
'0'
타노시!
"!dlroW ,olleH"
우와~
오모시로!
스고이!
와이~
# Main Function
요코소
샌드스타 Korean
```- Japanese
```python
# Print Function
フレンズ Japanese
'0'
たのし!
"!dlroW ,olleH"
うわ~
おもしろ!
すごい!
わい~
# Main Function
ようこそ
サンドスタ Japanese
```## Spec
```
[Syntax]
Token : [a-z, A-Z, 0-9, !, ?, -, ~, _]
Code : {Token}{Not Token}{Token}...
Comment : #...[\n, \0]
Command : {Token}[Interpreter]
'h' = Head : index of 'Command' to execute.
'[p]' = Memory : dynamic array of 1 byte.
'p' = Pointer : index of byte in 'Memory'
'r' = Register : store 1 byte.[Command]
"..."
"Hi" : [p]='H' → p+=1 → [p]='i'
'...'
'0 42' : [p]=0 → p+=1 → [p]=42
ta(-/~)noshi(!) : increase p or [p]
ta--noshi : [p]+=1 → [p]+=1
ta~-noshi : [p]*=2 → [p]+=1
ta-noshi! : [p]+=1 → p+=1
sugo(-/~)i(!) : decrease p or [p]
sugo--i : [p]-=1 → [p]-=1
sugo~-i : [p]/=2 → [p]-=1
sugo-i! : [p]-=1 → p-=1
u(-)wa(~) : jump
uwa~ : if [p]==0 then move h to wa(-)i~
u-wa~~ : if [p]==1 then move h to wa(-)i~~
wa(-)i(~) : jump
wai~ : if [p]!=0 then move h to u(-)wa~
wa-i~~ : if [p]!=1 then move h to u(-)wa~~
nanikore(?) : input
nanikore? : [p]=input
nanikore?? : [p]=input → p+=1 → [p]=input
omoshiro(!) : output
omoshiro! : output=[p]
omoshiro!! : output=[p] → p+=1 → output=[p]
la(la) : copy [p]
la : [p+1]=[p] → p+=1
lala : [p+2]=[p] → p+=2
la la : this is two 'Command' that la and la.
mya(mya) : copy [p]
mya : [p-1]=[p] → p-=1
myamya : [p-2]=[p] → p-=2
mya mya : this is two 'Command' that mya and mya.
shaberu : r=[p]
shabetta : [p]=r
youkoso : declare main function
friends {Token} : declare function named {Token}
sandstar {Token} : call function named {Token}
```