Aloha :)
Das ist eine Frage für die Theoretische Informatik und gehört daher in die Stacklounge...
Reguläre Sprachen bestehen aus Regeln der Form:$$A\to a\quad;\quad A\to aB$$Eine Variable \(A\) wird auf ein Terminal \(a\) abgebildet oder auf ein Terminal \(a\) gefolgt von einer einzigen weiteren Variablen \(B\).
Bei kontextfreien Sprachen steht links weiterhin eine einzelne Variable (daher "kontextfrei"), die aber auf eine beliebige Folge von Terminalen und / oder Variablen abgebildet werden kann, etwa so:$$A\to aBAB\quad;\quad A\to ccBAaBc$$
Vielleicht reicht dir das schon, um deine Fragen zu beantworten?
Ansonsten warte am besten auf die Experten aus der Stacklounge.