2009年4月アーカイブ

普段は流行りに乗ることは余り無いんだけど、今回は何かを受信したので時流に乗ってみることにしました。

それにしても、カラースク水なんてコスプレ用途しか思いつかないですよねー

pixivにはマイルド版を

こっちにはマイルドで無い(血表現あり)を

ディレクトリ間で一方向のミラーリングを行うコマンドラインツールです。

実行には .NET Framework 2.0 が必要です。

ミラー元のファイルがミラー先にないか、ミラー先のファイルより新しい場合のみコピーします。
後、引数つけずに実行すると簡単なhelpもでます。

社内でメールやらのバックアップを取るために作ったのですが、折角なので公開してみようかと。需要あるんかなー..

ネタ元: http://twitter.com/hi_saito/status/1524994613
の元ネタ: http://d.hatena.ne.jp/mzp/20090414/hello
のさらに元ネタ: http://d.hatena.ne.jp/Yuichirou/20090414#1239705258

を、見ていたのですが、激しい違和感が...

一番元ネタの設計を日本語で表すと概ね以下のようになると思います。

  1. ようこそ は名前を持っています
  2. ようこそ に喋れ(say)というと "こんにちは"に続いて名前を印字します
  3. オブジェクト指向的HelloWorldとは ようこそ に「世界」という名前を与え、喋らせることです。

何か違わないか?

というわけで、自分なりに オブジェクト指向的HelloWorldを再設計してみた

前回 の続き。四則演算のパースに挑戦。

括弧が使えるようになるのと、単項+- に気をつけて、EBNFは

expr = NUM
     | expr '+' expr
     | expr '-' expr
     | expr '*' expr
     | expr '/' expr
     | '(' expr ')'
     | '-' expr
     | '+' expr

以下、注意点

結合順序の問題: 例えば 1+2*3-5 を計算順序の曖昧さをなくして (1+(2*3))-5 と認識させるために 2項演算子に優先度をつけなければいけません。当然'*','/'の方が優先度高です。

「数」の表現: 正負を示す単項演算子を設定したので、 NUM は頭に'+''-'もつかない数値 でなければなりません。

'+', '-'の曖昧さ: 単項演算子'+','-' と2項演算子'+','-'との曖昧さをなくすため、単項演算子の優先度を2項演算子のそれより高くします。とはいえ、同じトークンで優先度設定することはできないので、'+' expr, '-' exprのルールに特殊な指示を入れます。

そんなこんなでできたコードが

AUTHOR

  • turugina (虎王 剱奈)
  • E-mail: turugina {at} floralcompany.jp
  • pixiv
  • ニジエ

2014年5月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.10

- 警 告 -

本サイトにはいわゆる「18禁画像」(イラスト)へのリンクが存在します。 未成年の方や、その手の画像に不快感を覚える方は、 該当記事(「えちぃの」及び「ちょっとえちぃの」カテゴリ) をご覧にならないようお願いいたします。

上記を理解した上で非表示のブログパーツを表示する
あわせて読みたいブログパーツ
ついった
drawr/pixiv/twitpic