[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
文脈自由文法を形式的に表現する方法です。 BNFは、1963年の報告ALGOL-60で初めて使われました。 See section Languages and Context-Free Grammars。
文脈に関係なく適用される規則によって定められる文法です。 したがって、もし、整数は式として使われてもよいという規則があれば、 式が許されるあらゆる場所で整数の利用が許されます。 See section Languages and Context-Free Grammars。
プログラムをコンパイルするときでも、関数の実行を始めるときでもなく、 実行の途中でメモリを割り当てることです。
集合論での空集合と同様に、空文字列とは長さが0の文字列です。
その完全な状態が、各瞬間での状態で記述される「機械」です。 機械への入力が処理されると、機械の論理に応じて、 機械の状態が別の状態に変わります。 本書では、入力とは構文解析されている言語で、 状態とは文法規則のさまざまな段階です。 See section The Bison Parser Algorithm。
言語の構成要素で、(一般的に)文法的に分割可能なのもです。 たとえば、C言語の「式」や「宣言」です。 See section Languages and Context-Free Grammars。
演算の対象となるオペランドの中間に置かれる算術演算子です。
入出力装置またはプログラムの間での、連続的なデータの流れです。
言語の概要を示す典型的な方法の1つです。
たとえば、C言語の構文の1つはif
文です。
See section Languages and Context-Free Grammars。
左結合性を持つ演算子は、左から右に向かって構文解析されます。 たとえば、`a+b+c'では、まず`a+b'が計算され、 次に`c'との和が計算されます。 See section Operator Precedence。
結果の記号が構成要素の最初の記号と等しいような規則です。 たとえば、`expseq1 : expseq1 ',' exp;'が左再帰です。 See section Recursive Rules。
左側から右側に向かって、トークンを次々に解析していくような、 言語の構文解析方法です。 See section The Bison Parser Algorithm。
入力ストリームを読んで、トークンを1つずつ返す関数です。
See section The Lexical Analyzer Function yylex
。
文法規則によって設定されるフラグが、トークンが字句解析される方法に 影響することです。 See section 字句解析結び付き。
2文字以上の決まった文字列からなるトークンです。 See section 記号、終端と非終端。
すでに読み込まれていて、シフトされていないトークンです。 See section Look-Ahead Tokens。
Bison(または似ているほとんどの構文解析器)によって扱える、 文脈自由文法の一部分で、LR(1)の部分集合です。 See section Mysterious Reduce/Reduce Conflicts。
任意の入力のあいまいでない構文解析に対して、 単に1個の先読みトークンを必要とするような、 文脈自由文法の一部分です。
文法的構成要素を表す文法記号で、文法規則によってより小さな構成要素に 分解できるものです。言い換えると、トークンでない構成要素です。 See section 記号、終端と非終端。
入力ストリームを構文解析しているときに、誤った文法によって発生するエラーです。 See section エラーからの回復。
字句解析器から渡されたトークンの集合の文法的構造を解析して、 言語の有効な文を認識する関数です。
演算の対象のオペランドの後に置かれる算術演算子です。
文法規則に従って、非終端記号または終端記号の列を、 1個の非終端記号に置き換えることです。 See section The Bison Parser Algorithm。
再入可能な手続きとは、複数の呼び出しの間での相互作用なしに、 並行して任意の数を呼び出せる手続きです。 (15) See section A Pure (Reentrant) Parser。
すべての演算子が後置記法演算子であるような言語です。
規則の結果の記号が、規則の最後の構成要素と同じ記号であるような規則です。 たとえば、`expseq1: exp ',' expseq1;'は右再帰です。 See section Recursive Rules.
計算機言語では、言語の各インスタンスが起こすアクションによって、 意味が指定されます。すなわち、各文の意味です。 See section Defining Language Semantics。
構文解析器がシフトするとは、 すでに認識されているある規則によってただちに還元する代わりに、 ストリームからのさらなる入力を分析することです。 See section The Bison Parser Algorithm。
そのままに解釈される(16)1文字です。 See section From Formal Rules to Bison Input。
構文解析された有効な言語の全体を表す非終端記号です。 通常、言語仕様に書かれた最初の非終端記号です。 See section The Start-Symbol。
繰り返し使われる記号の情報を認識して使うために、
構文解析の途中で、記号の名前と関連する情報を記憶するデータ構造です。
See section 多機能電卓:mfcalc
。
言語の、基本的で、文法的に分割できない単位です。 文法の中のトークンを記述する記号を終端記号といいます。 Bison構文解析器の入力は、字句解析器からの、 トークンの流れです。 See section 記号、終端と非終端。
文法規則を持たず、したがって文法的に分割できない文法記号です。 これが表す文字の集まりをトークンといいます。 See section Languages and Context-Free Grammars。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Akihiro Sagawa on June, 1 2005 using texi2html 1.70.