[2] [DFN[[RUBYB[[[構文解析]]]@en[parser]]]]とは、[[文字列]]や[[オクテット列]]を、期待される[[構文]]に照らして解釈を試みる操作です。
[[構文解析]]を行う[[ソフトウェア]]、あるいは[[ソフトウェア部品]]や該当する機能のことを[DFN[[RUBYB[[[構文解析器]]]@en[parser]]]]
([DFN[[[パーサー]]]] / [DFN[[[パーザー]]]]) といいます。

[3] [[構文解析]]に含まれる範囲は、場合によって若干の揺れがあります。
[[字句解析]]は (広義の) [[構文解析]]の段階の1つですが、
狭義の[[構文解析]]には含めないことがあります。
狭義の[[構文解析]]の結果を使って入力が[[言語]]に[[一致]]するかどうかを判断したり、
[[オブジェクト]]を構築したりする操作は、[[構文解析]]に含めたり、
含めなかったりします。

[1] 狭義の[[構文解析]]の前後に行う操作は、[[構文解析]]対象によっては存在しなかったり、
複数段に分かれていたりします。

[EG[
[4] 例えば単純な言語では独立した[[字句解析]]は存在しないかもしれません。
]EG]

[5] [[構文解析]]後の処理によっては[[構文解析]]の動作モードが異なるかもしれません。

[EG[
[6] 例えば[[適合性検査器]]の一部としての[[構文解析器]]は、
通常の[[構文解析器]]よりも詳細なエラー報告のために、
通常より厳密な検査を行う (通常より低速な) 動作モードを使うかもしれません。
]EG]

[FIG(list short)[
- [[構文解析器 (Web)]]
-- [[HTML構文解析器]]
-- [[XML構文解析器]]
- [[CSSの構文解析]]
- [[HTTP接続の処理]]
- [[POファイルの構文解析]]
- [[N-Triples構文解析器]]
- [[SGML構文解析器]]
]FIG]