#author("2022-02-12T16:29:17+09:00","default:k1rou","k1rou") #author("2022-02-12T16:29:45+09:00","default:k1rou","k1rou") *言語とは [#qe3e1c4d] *言語の種類 [#d8bbc7bd] -自然言語 --自然人が日常的に使う言語 -人工言語 --特定の目的の為に作られた言語 **プログラミング言語 [#h4397f38] -コンピュータが処理するために作られた人工言語 -「[[プログラミング言語]]」参照 *文脈自由文法 [#z14f4185] -形式文法 -言語を生成する規則を抽象化したもの **文脈自由文法の種類 [#v8cfe2e2] -句構造文法 -文脈依存文法 -正規文法 **文脈自由言語(形式言語) [#e5e60b9d] -文脈自由文法(形式文法)により生成される抽象言語のこと *言語の構造 [#w8310fef] **言語の構成要素 [#u69849d2] -構成要素の順番(小さい順) --文字 --字句(トークン) --文 --言語 **言語の規則 [#d44227ab] -字句規則 --文字から字句が生成される規則 -構文規則 --字句の並び順の規則 ***BNF記法 [#eff6ff3f] -文脈自由文法を形式的に記述する代表的な表記法 -多くのプログラム言語の構文規則の記述で使われている --ALGOL 60 の構文規則の記述で使われた *言語処理 [#y1fe9694] -字句解析 --字句規則に基づいて字句の検査と切り出しを行うこと --[[正規表現]]で表現することができる -[[構文解析]] --字句解析で切り出された字句を、構文規則に基づいて解析して、文法的な正当性を検査すること --文脈自由文法で表現することができる -意味解析 *関連用語 [#a02e97fa] -[[コンパイル]] -[[プログラミング言語]]