言語 の変更点


#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]
-[[コンパイル]]
-[[プログラミング言語]]