chomsky_hierarchy


\documentclass{standalone}

\usepackage{tikz,amsmath,ifthen}

\newcommand{\xcontrol}{.4}
\newcommand{\ycontrol}{.1}
\newcommand{\classes}[1]{\begin{tikzpicture}
    \foreach \c[count=\n] in {#1}{\xdef\numclasses{\n}}
    \foreach \c[count=\n, evaluate=\n as \m using \numclasses-\n+1, evaluate=\n as \drk using 10+80*\n/\numclasses] in {#1}{
        \fill[gray!\drk] (0,\m/3) ellipse ({\xcontrol+.5*\m} and {\ycontrol+.5*\m});
        \node[right,font={\tiny},align=right] at (-0.7,{(\m/3+\ycontrol+.5*\m)-.45}){\c};}
    \draw ((0,\numclasses/3) ellipse ({\xcontrol+.5*\numclasses} and {\ycontrol+.5*\numclasses});
    \end{tikzpicture}}

\begin{document}

\classes{Recursively \\ enumerable, Context-sensitive, Context-free, Regular}

\end{document}