動的スコープ
動的スコープ、ダイナミックスコープ（）とは、プログラミング言語におけるスコープの一種である。
動的スコープは、実行時の親子関係の子側（呼び出された側）から親側（呼び出し側）のスコープを参照できるスコープである。このとき参照されるのは、親子関係を親側に辿り、より近いブロックにある変数である。以下の疑似コードでは:
 A {
 print x
 
 B {
 var x
 call A "// Aの中からxを参照することができる"
 
 C {
 var y
 call A "// Aの中からxを参照することはできない"
ブロックcodice_1から呼び出されたブロックcodice_2は、ブロックcodice_1で定義されている変数codice_4を参照できる。一方、ブロックcodice_5から呼び出されたブロックcodice_2は、ブロックcodice_1で定義されている変数codice_4は参照できない。
動的スコープは強力な反面、ミスを招きやすいため使用に注意が必要である。例えば以下の疑似コードでは呼び出し元ブロックによって変数の値が変化することを示している。
 var x = 123
 A {
 var x = 456
 call C "// 456と出力される"
 
 B {
 call C "// 123と出力される"
 
 C {
 print x "// 呼び出し元によって x の値が変わる"
動的スコープの例としては古典LISPやEmacs Lisp、LOGO、Perl(「local」宣言した変数)、Bash(関数内で「local」宣言した変数)などがある。