×
科目A|基礎理論

形式言語 | 応用情報技術者試験

形式言語とは

形式言語(けいしきげんご)とは、あらかじめ厳密に定められた文法ルールと記号のみを使って構成される言語のことです。私たちが普段使っている日本語や英語のような「自然言語」は、文脈によって意味が変わったり曖昧さがあったりしますが、形式言語にはそのような曖昧さは一切ありません。ルール通りであれば誰が読んでも、コンピュータが読んでも、ただ1つの意味として正しく解釈されます。プログラミング言語(PythonやJavaなど)や、データの形式(JSONやXML)、またそれらの文法を定義するための表記法である「BNF記法」などが形式言語の代表的な例です。これにより、コンピュータは命令を誤解することなく実行できます。

具体例

プログラミング言語における変数代入の厳密なルールを例に挙げます。
【正しい文法(形式言語のルール通り)】
x = 10
→ コンピュータは「xに10を代入する」と正しく解釈できます。

【誤った文法(ルール違反)】
10 = x
→ 文法違反となり、コンピュータはエラーを出して処理をストップします。
このように、余計な解釈を挟まずに機械的に正誤を判定できるように厳密な文法で定義されたものが形式言語です。

もう少し詳しく