客1「あれっ?こんな所にお寿司屋さんが出来ている、
へえ~『言語プロセッサ寿司』っていうのか…へんな名前だな
まあいいや、入ってみよう」
板前「へい、いらっしゃい!」
客1「やあ、ここって、最近できた店なの?」
板前「イヤだなあ大将!この店は清潔第一!細菌なんてありませんや」
客1「イヤ、その細菌じゃなくてね…」
板前「さて、中将!ナニを握りましょうか?」
客1「イキナリ大将から中将に降格させるなよ、まあいいや、じゃあ『中トロ』を」
板前「スミマセン、中将!そういうネタはウチではちょっと?」
客1「寿司屋なのに中トロがないの?」
板前「へえ、なんせ『言語プロセッサ寿司』ですから…」
客1「なんだよ、その『言語プロセッサ』って?」
板前「へえ、言語プロセッサは人間の言葉に近いプログラミング言語
(テキストデータ)をCPUなどのプロセッサが理解できるコード
(2進数)に翻訳するソフトウェアでさあ。」
客1「???さっぱりわからないよ?」
客2「すんません!『アセンブラ』握って下さ~い」
板前「あいよ~!『アセンブラ』一丁!」
客1「なんだそりゃ?」
板前「あらあら、お客さん、『アセンブラ』を知らないなんて、モグリでさあねえ
アセンブラは、機械語のコードを一対一対応で、自然言語の単語(ニーモ
ニック)に翻訳したものでさあ。無意味な 2進数やに比べて覚えやすく
書き間違いも少ないし、読んで理解しやすいって寸法なんでさああ。
機械語に翻訳する処理系をアセンブラと呼び、アセンブラで機械語に
翻訳することをアセンブル、機械語をアセンブリ言語に逆翻訳することを
ディスアセンブルと呼ぶんですぜ。」
客1「明らかに食べ物の説明じゃないよな?」
客2「う~ん、このニーモニックのまろやかな食感がたまらない!」
客1「食えるんだ…」
板前「さあて、お客さん、どんどん注文して下さいよ!」
客1「じゃあ、『エンガワ』お願いします」
客2「オヤジ『コンパイラ』を頼むよ!」
板前「お客さんスミマセン、『エンガワ』なんて代物はウチでは扱ってないんですよ
こちらのお客さん、ヘイ!『コンパイラ』どうぞ!」
客1「なんで、『エンガワ』もないんだよ!」
客2「うっは~、やっぱ『コンパイラ』は格別だ!」
板前「そうでしょう!コンパイラはアセンブラより人間が理解しやすい構文を
持った高級言語を、機械語に翻訳するソフトウェアでさあ。
コンパイラで機械語に翻訳する事をコンパイルと呼び、
コンパイラによって生成された機械語のファイルをオブジェクト・ファイル
と呼ぶんでさあ。コンパイラ言語はPL/1、C/C++、 FORTRAN、
COBOL、 Pascalなんかが代表的な言語なんですが、
マシン固有の機械語の実行ファイルを用意してから実行することになるんで
実行速度も機械語に順じて、非常に早いんですぜ」
客1「ちょっとオヤジさん!俺、さっきからなにも頼めてないんだけど…
なんか、頼めるネタってないの?」
板前「そうですね~、『言語プロセッサ』なら一通り扱っているんですが」
客1「そんなこと言われてもわからないよ!もう、なんかオススメのネタって
ないの?」
板前「そうですね、『インタプリタ』が今は旬でオススメですね」
客1「『インタプリタ』ってなに?」
板前「インタプリタっていうのは、 プログラムの実行時に、ソースプログラム
の命令文を逐次、実行可能な形式に変換しながら処理を進める形式でさあ。
インタープリタ型言語は、実行時にソースプログラムの機械語への翻訳
のプロセスが存在するため、コンパイラ型言語にくらべて実行速度が
低下するんですが、プログラムが未完成でも作成した部分だけを実行する
ことができ、デバッグがしやすい為、生産性が高いんでさあ。
Perl, LISP, BASIC, JavaScript なんかが代表的なインタプリタ言語に
なりまさあな。」
客1「なんか、イマイチ美味しそうな感じがしないんだけど、他にはないの?」
板前「『ジェネレータ』なんてどうです?」
客1「なにそれ?」
板前「『ジェネレータ』は 必要なパラメータを指定することにより、
原始プログラムあるいは目的プログラムを生成・実行する事ができる
言語プロセッサでさあ。ジェネレータは機能要素ごとのプログラムを
備えており、コンパイラ言語のように詳細な処理手順を記述しなくても、
最適化された機械語を得ることができるんでさあ。
そのため、プログラム開発や保守の生産性は高いって寸法です。」
客1「他のネタは?」
板前「『クロスコンパイラ』もオススメですぜ、
クロスコンパイラは、言語プロセッサが動作するコンピュータとは
別の機械語をもつコンピュ-タの目的プログラムを生成する
言語プロセッサなんですよ。
他にも『プリコンパイラ』も通好みでいいんじゃねえでしょうか
プリコンパイラは、主処理プログラムの条件に合わせるための
事前処理や前準備的な編集を行う言語プロセッサのことです。
たとえば、構造化プログラミング用の疑似言語を用いて作成した
原始プログラムを、COBOLやFortranなとの既存のコンパイラ言語
に置き換えたりする事ができるんですぜ。
また、簡易言語で作成したプログラムを、既存の高級言語などに
置き換えるものもプリコンパイラに含まれるんですぜ」
客1「だめだ、ワケがわかんないよ」
板前「やれやれ、大佐、アンタも困った人ですね~」
客1「イキナリ佐官に降格させんなよ!
もうなんでもいいから、握ってくれよ」
板前「そうですか、始めまして、板前のアントニオです」
客1「だれが手を握れっていったんだよ!しかもアンタ、もろ日本人
なのになんでアントニオなんだよ!」
板前「お客さん、勘違いしてもらっちゃこまりますぜ、あっしの名前は
『餡斗仁王(あんとにお)』ですぜ」
客1「どスゲエ名前だな…でも、『あんとにお』じゃなくて『あんとにおう』
なんじゃないのかな…」
板前「エヘヘ、イヤだなあ、お客さん、それは言わない約束でしょう?
細かいツッコミは野暮ですぜ、ポッ!」
客1「なんの約束だよ!しかも、なんで照れる必要があるんだよ!
早くなんか握ってくれよ!」
板前「刑事さん、スミマセン、全て私が悪いんです、私には、
生き別れの双子の兄がいて…」
客1「誰が事件のカギを握れって言ったんだよ!」
板前「愚民ども!跪け!私こそが大統領だ!誰にも批判は許さんぞ!」
客1「なんで、権力を握るんだよ!」
板前「へっへっへ、俺がこの引き金を引けば、アンタもお終いだな」
客1「誰が、俺の命運を握れって言ったよ」
板前「アンタの出生の秘密、お母さんから全て聞かせてもらったよ」
客1「秘密を握ってどうするんだよ!」
板前「いよいよ、9回裏ツーアウトかあ、しかもここで打者が代打の川藤だなんて
は~あ、ドキドキす~る」
客1「手に汗握るのかよ!」
板前「俺は愛車のカウンタックに跨って、キーを回す、
助手席には、とびっきりのイイ女
さあ、俺のドライビングテクニックに酔いしれな!」
客1「誰がハンドルを握ってくれって言ったよ!
ハンドルを握っても俺の腹は満たされないだろ!
お願いだから何か俺に握ってくれよ!」
板前「いやだな、軍曹ってば」
客1「降格し過ぎだ!」
板前「心配しなくても、ちゃんと握り続けてますよ」
客1「ナニを握っているんだよ!」
板前「さっきから、お客さんはアッシのペースに巻き込まれちゃってるじゃ
ないですか?」
客1「それがどうかしたのかよ!」
板前「だから、アッシは会話の主導権を握り続けているんですよ」