【助動詞の範囲】
前提として
ought to = should
✂︎- - - - - - - -キリトリ- - - - - - - - - - -
should☞アドバイス
〜してみたら??した方がいいんじゃない?
have to do ☞義務 必要
〜しなければならない
【客観的に見て】行う必要がある時
↑
↓
must☞義務 必要 禁止
〜しなければならない
【話し手が主観的に】行う必要があると感じている時
✂︎- - - - - - - -キリトリ- - - - - - - - - - -
I ought to have comeは
I ought to have come
(s) (助動詞) have+p.p
助動詞+have+p.p(過去分詞)の
過去の後悔を表す慣用表現の1つです。
今回のは「〜すべきだったのに(しなかった)」
✂︎- - - - - - - -キリトリ- - - - - - - - - - -
I had had to come
(s) (助動詞) (have to doの用法)
しなければならなかった(過去)の完了形?
これだけ怪しいです。
普通に
助動詞+ have +p.pで過去の後悔は作れるので。わざわざ主語の後ろにhadって入れる必要あるんですかね。
ここだけ私もわからず申し訳ないです。
質問者様は、英文法の参考書(エバグリーンとかアトラスとかビジョンクエスト)で確認しながら、分からないものが出る度に索引から調べてやると良いかと思います。
そもそもの質問にある英文が怪しいですが
私は来なければならなかった。(誰が見ても)
私は来るべきだ (来た方が良いねという感じ)
私は来るべきであった。(実際は来てない)
私はくるべきであった(?)
「来る」の例文思いつかなくて「行く」で例文作っちゃったのでそこら辺は雰囲気のみを感じ取ってください……