シンタックス・カラーリングいじめ

入力したプログラムコードを色付けするスーパーpre記法 シンタックス・ハイライトの実装について 」で、VHDLが対応されていることに驚いたわけですが、こんどは同族のAdaでいじめてみました。
Adaの何が嫌って、'(アポストロフィ)の意味が変わることです。アポストロフィは、文字型定数を表現するときに文字を囲むために使います。これ自身はC言語と同じです。
ところが、アポストロフィは特定オブジェクトの属性を記述するときにも使います。この点は英語の所有を表す「's」を意識した記法であり、読みやすさに一役買っています。が、コンパイラの立場からすると厄介なのです。
アポストロフィが文字の開始なのか属性を現す記号なのかは、文脈によって変わります。通常、コンパイラが記号や定数を切り出す(Lexical Analysis)ときには、文脈を参照しません。ところがAdaコンパイラは文脈の参照が必要です。これは60年代に発達したコンパイラに関する理論に後足で砂をかけるようなもので、ヨーロッパ系の言語ではありえないことでした(笑)。Pascal正規表現/文脈自由文法とは大違いです。
というわけで、難しいアポストロフィで早速いじめましょう。

with Text_To; use Text_To
  procedure test is
    i : integer;
    begin -- of main
      put('a'); -- character literal
      put(integer'last); -- attribute
    end test

すんげーっ!
きっちり分けています。参りました。
どうやらこのカラーリング・エンジンははてな製ではないようです。なるほど、ahdlなんかはてなの人は関心もちませんよねぇ。

CLはcommon lispだと思うのでテスト

(car ( cdr ( Hello Common Lisp ) ) )

違ったか

IBMスクリプトらしい

PGM 
DCL VAR(&PWRDNTME) TYPE(*CHAR) LEN(6) VALUE(162500) 
DCL VAR(&TIME) TYPE(*CHAR) LEN(6) 
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&TIME) 
IF (&TIME *GT &PWRDNTME) THEN(DO) 
SNDBRKMSG(’Powering down in 5 minutes. Please sign off.) 
PWRDWNSYS OPTION(*CNTRLD) DELAY(300) RESTART(*NO) + IPLSRC(*PANEL) 
ENDDO 
ENDPGM

これも違うか。例題はIBMのiSeries CL Programming Version 5から引用。IBMのページからダウンロードできます。

CL4との報に接し

これを試してみんとス。

# default DEMGL Accounts maintenance 
{ Accounts 
getfile DEMGL Accounts,l Accounts,ll 
maintain l,vacd 
define nlines,i ln,i count,i sp,c1 fl,i 
head 0 2 1 'pname'

ビンゴ。
情報元はnobodyさん。ありがとうございます。サンプル・コードはCL4 Document Libraryにあるユーザーマニュアルから引用しました。
そういうわけでid:meinekoさん、じっちゃんの名にかけて謎はすべて解けました。あと、フェルメールめぐりは、ハンニバル〈上〉 (新潮文庫)で知ったので、怖い印象です(^^;。

/* -----codeの行番号----- */