問題
Kairos ソース中に日付リテラル 2026-02-30 と書いた。何が起きるか、正しいものを一つ選べ。
- (a) 2026-03-02 に読み替えられる(ロールオーバー)
- (b) 実行時にその点だけ無視される
- (c) 字句エラーになり、パースの時点で拒否される
- (d) 空のストリームとして扱われる
正答
(c)
解説
日付部の値域は字句エラー(§5.5・ADR-43=F66 (a)): 月は 01..12・日は月と閏年規則の実在日のみ。
2026-02-30 は字句層で拒否され、黙ったロールオーバーはしない——「書かれた日付は実在する」を
言語が保証することで、下流の全意味論がその前提に乗れる。同じ理由で 23:59:60(うるう秒)も
字句エラー(§5.5)。