終端記号と非終端記号
終端記号(しゅうたんきごう、英: Terminal symbol)と非終端記号(ひしゅうたんきごう、英: Nonterminal symbol)は、句構造規則の生成規則中にあらわれる記号類の分類である。規則群のうちの、どれかの規則の左辺にあらわれている記号、すなわち、他の記号列と置換できるものとして定義されている記号が非終端記号で、ある種の変数名のようなものとも言える。それに対し、右辺の記号列中のみにあらわれる、いわゆる「アルファベット」の1文字から成る記号が終端記号である。実用上は(プログラミング言語などでは)終端記号は文字そのものではなく、英語などにおける「単語」に相当する「トークン」と呼ばれるもの(「字句」の記事、および字句解析#トークンなどを参照)であることも多い。