ロジバン周辺の知識
Jump to navigation
Jump to search
言語関係一般
ロジバンに影響を与えたもの
形式文法に関する用語
- ロジバンの文法は、 YACC, PEG, BNF, EBNF などで記述できます。 これらは、人やコンピュータがロジバン文の構造を形式的に解析(構文解析)するのに使います。
- 機械文法は、言語の形式文法のうち、機械語(電気信号 0/1 の集まり)に翻訳できるもののことです。 この翻訳に構文解析の過程が含まれます。
- 形式文法は、言語(自然言語もプログラミング言語も)の文法を数学的に表すための規則のことです。 2種類、「生成文法」と「分析的文法」に分かれます (YACC と PEG は分析的文法です)。
- コンパイラ ― プログラミング言語のコードを機械語のコードに書き換えてコンピュータが読み取り実行できるようにするもの。 書き換え前のものは「原始コード」、書き換え後のものは「目的コード」。 処理速度がインタプリタよりも速い。
- インタプリタ ― プログラミング言語のコードを逐次解釈しながらコンピュータに実行させるもの。 処理速度がコンパイラよりも遅い。
- パーサ(構文解析器) ― インタプリタあるいはコンパイラの部品として、入力された文の正しさを確かめ、構文木などのデータ構造を得る。 一から手動で作るか、コンパイラコンパイラを使って自動的に作らせる。
- コンパイラコンパイラ ― コンパイラを作成するコンパイラ。 原始コードから目的コードへの変換の作業を自動化して手間を減らす。
- YACC ― UNIX システム(Mac や Linux)のパーサを構成するC言語の関数・符号を自動的に生成するコンパイラコンパイラ。 構文解析を担い、字句解析には別のツールが要る。
- BNF ― 或る言語の文脈自由文法* を定義するメタ言語・記法。 プログラミング言語と自然言語の文法を表すのに使われる。
- EBNF ― 正規表現* などを用いてより簡単に記述できるように BNF を拡張したもの。 現在のインターネットで普及している XHTML の 基礎である XML の構文を定義するのにも使われる。
- PEG ― 或る言語の分析的文法を BNF の記法で表したもの。 文脈自由でない形式言語の文法を表現できる。 解析する文字列の正しい構文木は常に1つだけで、曖昧さが無い。 コンピュータ言語の構文解析に適していて、自然言語の構文解析には不向き。