entryの構文はひどいだろ
http://www.adaic.com/standards/05rm/html/RM-9-5-2.html
entry Name; entry Name (X: Integer); -- 引数あり entry Name (1 .. 3); -- 範囲付き entry Name (1 .. 3)(X: Integer); entry Name (1 + 1) is -- 範囲付き(実装) entry Name (1 + 1)(X: Integer) is entry Name (for I in 2 .. 3) is entry Name (for I in 2 .. 3)(X: Integer) is
どうパースしろと?
Adaには引数宣言と式の両方が来れる場所が多過ぎる。
when Package1.Exception_1 | Package2.Exception_2 => when E: others =>
ひどいといえばin演算子もひどい。
X in 1 .. 2 + 3 X in Y'Range X in (Array1 & Array2)'Range
このせいで「型の式」と「値の式」をいっしょくたにしないといけなくなってます。".."は演算子じゃないのに。