Notice
Recent Posts
Recent Comments
NeuroWhAI의 잡블로그
[Dev] 슥語2 - 케모노 프렌즈 프로그래밍 언어 본문
Fun! Awesome! Programming Language!
즐겁다! 굉장하다! 프로그래밍 언어!
たのしい! すごい! プログラミング 言語!
'슥語2'는 '슥어2[스거이]' 또는 '슥고이'로 읽을 수 있습니다.
다른 공식 명칭은 'SuGGoi2' 입니다.
'슥'은 슥슥 써내려갈 수 있는 언어라는 의미,
'語'는 언어라는 의미,
'2'는 프로토타입 버전에서 한층더 발전했다는 의미입니다.
절대로 'すっごい'를 의도한 것이 아닙니다.
브레인퍽 기반이지만 단순한 명령어=단어 1대1 대응에서 벗어났고
스고--이~한 함수나 편의 기능 지원으로 한결 더 타--노시~한 프로그래밍 생활을 누릴 수 있게 합니다.
이상으로 X소리
[인터프리터 소스코드]
https://github.com/NeuroWhAI/KemonoFriendsLanguage
Hello, World!
- English
# Print Function
friends English
'0'
tanoshi!
"!dlroW ,olleH"
uwa~
omoshiro!
sugoi!
wai~
# Main Function
youkoso
sandstar English
- Korean
# Print Function
프렌즈 Korean
'0'
타노시!
"!dlroW ,olleH"
우와~
오모시로!
스고이!
와이~
# Main Function
요코소
샌드스타 Korean
- Japanese
# 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}
더 많은 공식 예제는 https://github.com/NeuroWhAI/KemonoFriendsLanguage/tree/master/Examples 여기에서 보실 수 있습니다.
문법 이해안가면 이거랑 예제랑 소스코드 보고 알아서 맞추세요.
와-이~ 타-노시~~
'개발 및 공부' 카테고리의 다른 글
[C++] 다층 퍼셉트론 예제 코드 (0) | 2018.01.02 |
---|---|
[Study] 공전 속도 간단 공식 (0) | 2018.01.01 |
[Dev] 서벌 언어 만듬 (케모노 프렌즈) (0) | 2017.04.15 |
[Dev] Servaival 케모노 프렌즈 게임 만듬. (0) | 2017.04.08 |
[Dev] 케모노 프렌즈 라이브 배경화면 배포 (테스트 버전) (0) | 2017.03.28 |
Comments