このページの短縮URLは http://chiraura.hhiro.net/tettette/ です。
「てってってー」で書くプログラム言語です。
Brainf*ckのパクリですが、若干拡張仕様があります。
{「てってってーてってっててー」と出力するプログラム} ーてってってー {「てってっ」をメモリに書き込む} てっててーてっててーてっててーてっててー {ポインタを4つ戻す} てってっーてってっーてってっーてってっー {標準出力へ4文字出力する} ーててーてっててーてってっー {「て」をメモリに書き込み、ポインタを戻してから標準出力へ出力する} ーーてってっててー {「ーてってって」をメモリに書き込む} てっててーてっててーてっててーてっててーてっててーてっててー {ポインタを6つ戻す} てってっーてってっーてってっーてってっーてってっーてってっー {標準出力へ6文字出力する} ーててーてっててーてってっー {「て」をメモリに書き込み、ポインタを戻してから標準出力へ出力する} ーーてーてっててーてってっー {「ー」をメモリに書き込み、ポインタを戻してから標準出力へ出力する}
以下の環境ならば、OSに関わらず動作させられると思われます。
※64bit機での検証は出来ていません。ひょっとしたらそのままコンパイル出来るかもしれません。
「動作した/しなかった」「そのままだと動作しなかったが、部分的に変更することで動作した」など、分かったことがありましたらご連絡お願いします。
Windows用実行ファイル(実行にはVisual C++ 2008のランタイムが必要)、ソースコード、サンプルコードを同梱しています。
まだアルファ版という位置づけです。
なお現在のところ、ソースコードはUTF-16 little endianのみ対応してます(BOMはあってもなくてもよい)。
作成途中の仕様に従って作成されている模様のため、若干挙動が違うかもしれません。例えば「"てってってー"による記法とBrainf*ck風の記法を混ぜたコード」には対応してないかもしれません。
404 Blog Not Found:javascript - てってってー言語を移植してみた
さっそくC#でプログラム言語「てってってー」のインタプリタを書いたよ - Bug Catharsis
この言語の元ネタである、Brainf*ckも利用可能。
ただし、B[P]でBのP番目の値(0〜65535)を示す。
ソースコードを先頭から読み込み、以下のいずれかの文字列に合致したら、それに応じた処理を行います。
(2009.4.7追記)
てってってー言語で特殊な意味を持つ文字列は、ASCIIでも表記できるようにしてあります。ほとんどBrainf*ckに合わせてます。
基本の表記法 | ASCII文字での表記法 | 意味 |
---|---|---|
ー | ` | 文字列リテラルの始点 |
てー | '" | 文字列リテラルの終点 |
ててー | + | バッファの値を1増やす |
てっー | - | バッファの値を1減らす |
てってー | > | ポインタを1進める |
てっててー | < | ポインタを1戻す |
てってっー | ) | バッファの値を標準出力に出力したのち、ポインタを1進める |
(なし) | . | バッファの値を標準出力に出力する |
てってってー | ( | 標準入力から読んだ文字をバッファに書き込んだのち、ポインタを1進める |
(なし) | , | 標準入力から読んだ文字をバッファに書き込む |
てってっててー | [ | ループの開始 |
てってってっー | ] | ループの終了 |
main(あっとまーく)hhiro.net