kinako-chan is a programming language that can be programmed like momone-chan.
kinako-chan needs a g++ or clang.
See Travis ci for details.
$ git clone https://github.com/Seigenkousya/kinako-chan.git
$ cd kinako-chan
$ make install
$ ./kinako-chan -(h|n|c|s=) terget_file
--help(-h) :show help
--no-visualize(-n) :only print result
--convert(-c) (knk2bf|bf2knk):convert kinako-chan to brainfuck or brainfuck to kinako-chan
--speed=(-s=) :demo speed[ms]
$ ./kinako-chan -n terget_file
kinako-chan defaults to Visualize mode.
Visualize mode show memory, datapointer, source, brainfuck code, and output.
$ ./kinako-chan -n terget_file
kinako-chan show only result.
$ ./kinako-chan -s=100 terget_file
kinako-chan stepping every 100ms.
$ ./kinako-chan -c knk2bf terget_file.knk
convert kinako-chan to brainfuck.
$ ./kinako-chan -c bf2knk terget_file.bf
convert brainfuck to kinako-chan.
kinako-chan is a multibyte programming language.
It consists of only eight simple token like brainfuck and an instruction pointer.
kinako-chan is fully Turing complete.
kinako-chan | Meaning | brainfuck | C language |
---|---|---|---|
黄奈子ちゃん黄奈子ちゃん | increment the data pointer | + | (*ptr)++; |
黄奈子ちゃん黃奈子ちゃん | decrement the data pointer | - | (*ptr)--; |
黃奈子ちゃん黄奈子ちゃん | increment the byte at the data pointer | > | ptr++; |
黃奈子ちゃん黃奈子ちゃん | decrement the byte at the data pointer | < | ptr--; |
黃奈子ちゃん黄奈孑ちゃん | output the byte at the data pointer | . | putchar(*ptr); |
黃奈子ちゃん黃奈孑ちゃん | accept one byte of input | , | *ptr=getchar(); |
黄奈子ちゃん黄奈孑ちゃん | jump to '黄奈孑ちゃん黄奈子ちゃん' if the byte at data pointer is zero |
[ | while(*ptr){ |
黄奈孑ちゃん黄奈子ちゃん | jump to '黄奈子ちゃん黄奈孑ちゃん' if the byte at data pointer is zero |
] | } |
kinako-chan is a sequence of these commands, possibly interspersed with other characters (which are ignored).
The commands are executed sequentially, with some exceptions: an instruction pointer begins at the first command, and each command it points to is executed, after which it normally moves forward to the next command. The program terminates when the instruction pointer moves past the last command.
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈孑ちゃん
黃奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黃奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黃奈子ちゃん黃奈子ちゃん黃奈子ちゃん黃奈子ちゃん黃奈子ちゃん
黃奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん
黃奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黃奈子ちゃん黄奈孑ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黃奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黃奈子ちゃん黃奈子ちゃん
黃奈子ちゃん黃奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黄奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん
黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黃奈子ちゃん黄奈孑ちゃん
黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん
黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈子ちゃん黃奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黃奈子ちゃん黄奈子ちゃん
黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん黃奈子ちゃん黄奈子ちゃん黄奈子ちゃん黄奈子ちゃん黃奈子ちゃん黄奈孑ちゃん
The code is released under the MIT License.
See LICENSE.
正弦工社 S.I.N
Twitter:@Seigenkousya
homepage:https://seigenkousya.github.io/
kinako-chan released.
Added command option.
Fixed page scroll function.
Fixed terminal flush.
Added example.
Fixed set locale.
kinako-chan now works on macOS.
Fixed a bug about symbols '[' and ']'.
Added FizzBuzz to example.
Fixed code display at jump.
Utau Aizaki (HOUBUNSHA CO.LTD), どうして私が美術科に!?(Why did I enter the Art Course!?)