LOLCODE入門

 lolcatのファンたちがインターネット上でプログラミング言語を作成している。lolcatの人気がプログラミングにまで波及し、lolcatの独特な文法に基づいたプログラミング言語LOLCODEが誕生したのだ。そこであなたも大流行の「バケツ」を手に取り、早速LOLCODEを習得してみよう。

 当然ながらlolcatと同様にLOLCODEにも、実用的な価値や教育的な価値はまったくない。しかしだからといって「楽しくない」わけでは決してない。それに、プログラミング言語開発の黎明期に参加できるチャンスはそうそう転がっているわけではないのだ。

構文

 LOLCODE言語は現在のところはまだ開発/策定段階だが、LOLCODEの習得を始めることはすでに可能であり、開発/策定の手助けを行なうことさえできるようになっている。あなたがlolcatのファンであれば、文法は簡単に覚えることができるだろう。そうではなくあなたがlolcatのファンでないというのなら、おそらくこの記事をここまで読んでいるということもないだろう。

 さて言語の入門ということであれば、お約束の「Hello World!」の例を抜きにすることはできない。LOLCODEには「Hello World!」の代わりに「HAI WORLD!」という例がある。

LOLCODE I HAS IT LOLCODEアプリケーションはすべてHAI文から始まる。「HAI WORLD!」では、その次にLOLCODEのプリント文であるVISIBLEがあり、最後はKTHXBYE文で閉じる。

HAI
VISIBLE "HAI WORLD!"
KTHXBYE

 上の例からも分かる通り、LOLCODEでは当然のこととして、すべて大文字が使用される。

ループ

 LOLCODEで変数を宣言するためには、以下のようにI HAS A文を使用する。

I HAS A CHEEZBURGER

 ここではCHEEZBURGERを変数として宣言している。それでは次に、CHEEZBURGERの値を1ずつ増加してその値を表示する短いスクリプトを見てみよう。

HAI
I HAS A CHEEZBURGER ITZ 1

IM IN YR LOOP
  VISIBLE "I has dis many: " N CHEEZBURGER
  IZ CHEEZBURGER BIGGER THAN 11 O RLY?
    YA RLY
      GTFO
    NO WAI
      UP CHEEZBURGER!!1
  KTHX
KTHX

KTHXBYE

 上記のI HAS A文では、変数CHEEZBURGERを宣言し、その値を1に設定している。次のIM IN YR LOOP文は、ループを開始する。

 次にVISIBLE関数を使用して、現在の値を表示する。なおCHEEZBURGERの値を表示するためには、単にCHEEZBURGERとするのではなくN CHEEZBURGERとする必要がある。その後、値の比較を行ない、CHEEZBURGERの値がループを終了するための定数を越えていないかどうかを判定する。UP CHEEZBURGER!!1は、CHEEZBURGERの値に1を足す。

 値の比較により、値が一致した場合には(YA RLY)、LOLCODEはGTFO文を実行してループを終了する。一方、値が一致しない場合には(NO WAI)、CHEEZBURGER変数を再び1増加する。なおループがKTHXBYEではなくKTHXで閉じられていることに注意しよう。KTHXBYEはプログラム全体のブロックを閉じるときにのみ使用することが推奨されている。そしてこのプログラムでも、最後のKTHXBYE文でプログラムのブロックを閉じている。

NO MOAR LOLCODING

LOLCODEの実行

 以上で基本的な文法を把握したので、実際にLOLCODEプログラムを実行してみよう。LOLCODEにはPerl、Python、.Net、Javaなどで書かれた様々な実装がある。私はParrotチームがそのうちParrot Virtual MachineでLOLCODEもサポートしてくれることを期待しているのだが、それが実現するまではLOLPythonインタプリタで試すことにした。

 しかし残念ながら、LOLPythonはLOLCODEの最新版を扱うことができなかった。一方、Perlで書かれたBSDライセンスのLOLCode Interpreterでは、LOLCODEの最新版もちゃんと動かすことができた。LOLCode Interpreterを使うには、PerlモジュールParse::RecDescentがインストールされたシステムならば、lol.plファイルを取得するだけで良い。なおUbuntuでlibparse-recdescent-perlをインストールするには、「sudo apt-get install libparse-recdescent-perl」と実行するだけだ。

 プログラムを実行するためには、プログラムを .lolファイルとして保存する。例えば私の場合、上記のHAI WORLDプログラムをhai.lolとして保存した。プログラムを実行するには、lol.plを実行可能にして(chmod 755 lol.pl)、以下のようにしてスクリプトを実行すればよい。

lol.pl hai.lol

 LOLCode Interpreterのウェブページでは、LOLCode InterpreterがサポートしているLOLCODE文法のリストを見ることができる。

 I Can Has Cheezburger?サイトの写真をすでに全部見てしまったのなら、しばらくはLOLCODEをハックして暇を潰すのも良いだろう。KTHXBYE!

NewsForge.com 原文