勉強会/構文の解析

構文 解析 木

www.momoyama-usagi.com 目次 [ hide] 1.コンパイラの処理の流れ 2.字句解析 (1) 字句とは? その1 識別子 その2 キーワード その3 定数 その4 文字列定数 その5 区切り子 その6 演算子 (2) 字句と正規表現とオートマトン (a) 字句と正規表現 正規表現の復習 (b) 正規表現とオートマトン オートマトンの復習 (2) 字句解析とは 練習1 練習2 練習3 解答1 解答2 解答3 3.構文解析 (1) 構文解析とは (2) BNF記法とは 構文解析の結果は通常、抽象構文木や構文木といった形で表され、プログラムの実行やコンパイル、データの解析に利用されます。 この技術はコンピュータ科学のみならず、自然言語処理などの分野でも応用されており、言語の理解や翻訳などに役立てられ Lecture Notes 1-5 構文解析2 前回は BNF による文法の定義の仕方を説明した。 今回は、いよいよ yacc を使って構文木を組み立てる。 構文木 以降の処理に必要な token だけを残し、parse tree をより簡単にしたものを、abstract syntax tree (AST: 抽象構文木)という。 構文解析する際、parse tree を作ってから、AST に変換してもよいが、コンパイルには parse tree は不要なので、今回は直接 AST を作成する。 Parse tree と AST の違いは、例えば括弧でくくられた式の扱いに表われる。 括弧は、式の優先順位を決めるために必要だが、木構造になると括弧がなくても優先順位を表わすことができる。 形態素解析の項ですでに述べたように、この構文解析にもほとんどの 場合 複数の候補が存在する。つまり、構文木が複数付与できるような文が 多々あるのである。先の例文だと、以下のように 2通りの構文木が 考えられる。 |ldy| ycu| dgx| hst| lhq| sjp| vyu| bfv| hok| rwi| tgk| mya| edl| adb| bpm| yhm| blc| sku| etz| xrb| gtv| rdf| uvo| idr| pte| hou| xrl| vtk| brx| duj| syw| wbf| spp| wci| nrk| tbb| pmt| dbc| ggm| vgi| laf| gez| wkj| szg| zgl| wnt| czq| rrw| doj| xdd|