文脈自由文法の形式性の拡張として、非終端記号に引数を持たせ、規則内で値を渡すということが考えられる。これにより、自然言語の一致や参照といった機能を表現可能となり、プログラミング言語での識別子の定義や正しい用法を自然な形で表現可能となる。例えば、英語の文で、主語と動詞が数において合致しなければならないということを容易に表現できる。計算機科学では、このようなアプローチの例として接辞文法、属性文法、Van Wijngaarden の two-level grammar などがある。同様の拡張は言語学にもある。別の拡張として、規則の左辺に追加の記号を書けるようにする手法がある。これは文脈依存文法に他ならない。
文脈自由文法は能力が制限されているため、その操作の一部は決定可能であるが、同時に決定不能な問題もある。最も単純で分かり易い決定不能問題の1つとして、CFG が言語の全文字列を受容するかどうかという問題がある。還元によって、この問題がチューリングマシンの停止問題と同じであることが示される。その還元には、チューリングマシンのあらゆる計算過程を示す「計算履歴」と呼ばれる概念を用いる。あるチューリングマシンがある入力を与えられたとき、それを受容しない計算履歴の文字列を生成するCFGを構築でき、そうすると、そのCFGはマシンが入力を受容しないときだけ文字列を受容（認識）する。これを応用すると、2つのCFGが同じ言語を記述しているかどうかも判定不能である。なぜなら、言語の全文字列を受理する自明なCFGとの等価性を判定できないためである。また、文脈依存文法が文脈自由言語を表しているかどうかも決定不能な問題である。
空の文字列を生成しない文脈自由文法は等価なチョムスキー標準形かグライバッハ標準形に変換できる。ここでいう「等価」とは同じ言語を生成するという意味である。チョムスキー標準形文法は生成規則が単純なので、この標準形は理論的にも実用上も密接な関係がある。例えば、ある文脈自由文法についてチョムスキー標準形を使うことで多項式時間のアルゴリズムで入力された文字列がその文法で生成されるものか否かを判定できる（CYKアルゴリズム）。
文脈自由文法は数学的な「形式的」言語だけで利用されるわけではない。例えば、タミル語の詩である Venpa は文脈自由文法で定式化できることが指摘されている。
次の例は  である。これは正規言語ではなく文脈自由言語である。以下の生成規則で生成される（この生成規則は文脈自由文法にしたがっている）。S → aSc | BB → bBc | ε
文字セット {a,b} について、異なる個数の a と b から構成される全ての文字列を生成する文脈自由文法は以下のようになる。S → U | VU → TaU | TaTV → TbV | TbTT → aTbT | bTaT | εここで、T に関する生成規則は a と b が同数の文字列を生成するが、U は a の方が必ず多くなる文字列を生成し、V は b の方が必ず多くなる文字列を生成する。
次は三種類の変数 x, y, z を使った文法的に正しい四則演算の数式を生成する文脈自由文法である。ここで演算子は中置としている。S → x | y | z | S + S | S - S | S * S | S/S | (S)この文法に従うと、例えば "( x + y ) * x - z * y / ( x + x )" といった式が生成可能である。この文法は、構造が異なる構文木から同じ文字列が生成されうるという意味で曖昧である。
最初の例を示す。S → aSb | εここで、 | は「選択」を意味し、ε は空の文字列を意味する。この文法によって生成される言語は以下のようになる。これは正規言語ではない例でもある。また、「選択」は文脈自由文法の表現に必ずしも必須ではない。次の2つの規則でも、上の例と同様の言語を定義している。S → aSbS → ε
文脈自由文法（ぶんみゃくじゆうぶんぽう、Context-free Grammar、CFG）は、形式言語の理論（特に、生成文法）において全生成規則が以下のようである形式文法である。V → wここで V は非終端記号であり、w は終端記号と非終端記号の（0個を含む）任意個の並びである。「文脈自由」という用語は前後関係に依存せずに非終端記号 V を w に置換できる、という所から来ている（「文脈無用」という訳の提案もある）。文脈自由文法によって生成される形式言語を文脈自由言語という。
シャペロンとは、折りたたまれていない（変性状態の）タンパク質に結合し、それが適切に折りたたまれた状態（天然状態）になるのを助けるタンパク質の総称である。折りたたみ （フォールディング）はタンパク質が適切な構造と正常な機能を獲得するプロセスである。シャペロンはフォールディング完了後には基質との結合を解いて遊離し、フォールディング後の基質の一部とはならない。また、シャペロンの構造は反応前後で変化しないし、フォールディング後の構造を指定しない。天然体の構造は基質のアミノ酸配列によって行われ、シャペロンはあくまでネイティブ構造の形成がなされやすい環境、または機会を提供するだけである。シャペロンの機能はフォールディングの補助だけではない。タンパク質の品質管理（複合体形成、輸送、リフォールデング、脱凝集）も担っている。これらの機能は生命活動において必須事項であるため、シャペロンは必要不可欠な存在である。分子シャペロンの異常は、細胞の恒常性維持に関わるタンパク質の機能不全を引き起こす。具体的には、代謝系の異常、腫瘍の進行、神経変性疾患、心血管障害などの病気の進行の要因となると考えられている。また、別の見方をすれば、細胞内に存在する個々のタンパク質のコンホメーション、結合相互作用、局在 および濃度の制御（タンパク質恒常性）が適正化かつ維持されるためにシャペロンは必須の要素である。大部分のシャペロンは正常に機能するためにATPのエネルギーを要するが、シャペロンには様々なものがあり、詳細な機能については不明の部分が多い。