Algorithm to find a minimal regular language containing given context-free language
There is no "smallest" regular language containing any non-regular langauge.

First, note that every finite language is regular, so any non-regular language&nbsp;$L$ must be infinite.  Consider some regular language $R\supset L$. $R\setminus L$ must also be infinite since, if it were finite, then $L = R\setminus (R\setminus L)$ would be regular, because regular languages are closed under difference. So, in particular, we can take any finite $S\subset R\setminus L$ and the langauge $R\setminus S$ is regular, is a strict subset of&nbsp;$R$ and a strict superset of&nbsp;$L$.

In other words, whenever you have a non-regular&nbsp;$L$ and a regular&nbsp;$R$ such that $L\subset R$, there is another regular&nbsp;$R'$ such that $L\subset R'\subset R$ (and, in fact, infinitely many of them).