コンパイラ(9) 情報工学科5年 担当 河田 進.

Slides:



Advertisements
Similar presentations
Probabilistic Method 7.7
Advertisements

和田俊和 資料保存場所 /2/26 文法と言語 ー正規表現とオートマトンー 和田俊和 資料保存場所
言語処理系(7) 金子敬一.
det(tA)=Σ sgn(σ)aσ(1)1aσ(2)2・・・aσ(n)n
コンパイラ 2011年10月17日
一次関数のグラフ(式を求めること) 本時の流れ ねらい「グラフや座標など与えられた条件をもとに一次 関数の式を求める。」 ↓
一次関数のグラフ(式を求めること) 本時の流れ ねらい「グラフや座標など与えられた条件をもとに一次 関数の式を求める。」 ↓
言語処理系(6) 金子敬一.
時差計算1.
授業展開#11 コンピュータは 何ができるか、できないか.
文法と言語 ー文脈自由文法とLR構文解析2ー
本時の目標 用語の意味を理解する。 同類項をまとめて2つの文字をふくむ式の加法、減法をすることができる。
文法と言語 ー文脈自由文法とLL構文解析ー
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
相関と回帰:相関分析 2つの変量それぞれが正規分布にしたがってばらつく量であるとき,両変数の直線的な関係を相関分析する. 例:兄弟の身長
言語処理系(5) 金子敬一.
スタック長の 特徴付けによる 言語の非DCFL性 証明
コンパイラ 2012年10月15日
コンパイラ 2012年10月22日
基本情報技術概論(第3回) 埼玉大学 理工学研究科 堀山 貴史
3次元での回転表示について.
コンパイラ 2011年10月24日
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
本時のねらい 「相似の意味と性質を理解し、相似な図形の辺の長さや角度を求めることができる。」
コンパイラ 第14回 上昇型構文解析(2) 38号館4階N-411 内線5459
6.大人数クラスの運営法 ゲーム理論 出席の取り方 まわし方(4通り) →出席表を2回まわす 1回目10:50~ 2回目11:20~
正則言語 2011/6/27.
「三角形の面積の変化の様子を一次関数としてとらえることができる。」
ミンコフスキー時空間 双曲筒 s2= x2+y2ーc2t2 双曲皿 s2= c2t2+y2ーx2 世界円筒 静止 s2 =x2+y2
本時のねらい 「三角形の1辺に平行な直線が他の2辺と交わるとき、それぞれの交点は、その2辺を等しい比に分けることを理解する。」
本時の目標 「相似な図形の相似比と面積比の関係を理解し、それを用いて相似な図形の面積を求めることができる。」
ピタゴラス(Pythagoras)の定理
コンパイラ 第13回 上昇型構文解析(1) 38号館4階N-411 内線5459
独立成分分析 (ICA:Independent Component Analysis )
3次元での回転表示について.
本時のねらい 「図形の中から相似な三角形を見出し、相似条件を用いて証明することができる。」
言語と文法 言語とは,ルールに従う記号列の無限集合である. 文法を与えることで言語が定義できる.
生  物  数  学 斉木 里恵.
文法と言語 ー文脈自由文法とLR構文解析2ー
言語プロセッサ ー第9回目ー 構文解析(続き).
計算の理論 II 時間量と領域量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
平行線の性質を使って、面積の等しい図形について考えてみよう。
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
本時の目標 「身近にある事象を、相似な図形の性質を使って解決することができる。」
文法と言語 ー文脈自由文法とLL構文解析ー
コンパイラ 2011年10月20日
チューリングマシン 0n1nを受理するチューリングマシン 入力テープ b b b b 状態遷移機械.
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
文法と言語 ー文脈自由文法とLR構文解析ー
計算の理論 I -プッシュダウンオートマトン-
本時の目標 同じパターンの式の展開を乗法の公式としてまとめ、その公式を使って式の展開ができるようにする。
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
『技術移転に係わる目利き人材のためのネットワーク構築支援システム』
4.プッシュダウンオートマトンと 文脈自由文法の等価性
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
Copyright 2002 守屋悦朗 オートマトンって? (Turing machine) (アニメーションで実行のこと)
コンパイラ 2012年10月11日
言語プロセッサ ー第9回目ー 構文解析(続き).
言語プロセッサ ー第7回目ー 構文解析(続き).
オートマトンって? (Turing machine).
第3学年 図形と相似 ~相似の考え方の活用~.
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
非決定性有限オートマトン 状態の有限集合 入力記号の有限集合 注意 動作関数 初期状態 受理状態の有限集合.
形式言語とオートマトン Formal Languages and Automata 第5日目
文法と言語 ー文脈自由文法とLR構文解析2ー
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
計算の理論 II 多テープTuring機械 月曜4校時 大月美佳 平成16年11月29日 佐賀大学知能情報システム学科.
Presentation transcript:

コンパイラ(9) 情報工学科5年 担当 河田 進

LR構文解析 1.コンパイラ(構文解析譜)の状態 ○今構文解析がどこまで進んでいるか ○今どの生成規則についての解析を行っているか 2.1つの規則についての状態 ●A→xyzについて考える ○解析を始める前 A→・xyz(LR(0)項と呼ぶ) ○xの受理が終わり,これからyを受理しようとしている状 態 A→x・yz ○xyの受理が終わり,これからzを受理しようとしている 状態 A→xy・z ○xyzの受理が終わり(ハンドルxyzが見つかった)A に還元を行う状態 A→xyz・#  (#は還元を行う印。#という記号があるわけではない)

LR構文解析 3.xyzの記号の種類 ●A→aBb B→c について考える ○解析を始める前 A→・aBc ●A→aBb B→c について考える ○解析を始める前 A→・aBc 次の動作はaの受理:入力残の先頭とVtであるaが一致 するかどうか調べる ○aの受理が終わり,VnであるBから生成可能な記号列を 調べる開始状態 A→a・Bb 且つ B→・c ○cの受理が終わった状態 B→c・# ハンドルcが見つかったのでcをBに還元する その結果 A→aB・b を含む状態へ移る ○bの受理が終わった状態 A→aBb・# ハンドルaBbが見つかったのでaBbをAに還元し,何 処かにあるX→α・Aβを含む状態からX→αA・βを含 む状態へ移る

LR構文解析 4.生成規則から状態を求める P={ S’→S┤ S→Sa|ABc A→bAc|d B→aB|ε } P={ S’→S┤ S→Sa|ABc A→bAc|d     B→aB|ε } ○1つの状態は複数のLR(0)項の集合 構文解析開始状態(I0)        (0)   (1)   (2) I0={ S’→・S┤ S→・Sa S→・ABc   (3)   (4) A→・bAc A→ ・d } (0)の・Sから(1)(2)であることが分かる (1)の・Sから再度(1)(2)(増えない) (2)の・Aから(3)(4)であることが分かる

LR構文解析 4.状態I0から分かること I0={ S’→・S┤ S→・Sa S→・ABc A→・bAc A→ ・d } I0={ S’→・S┤ S→・Sa S→・ABc A→・bAc A→ ・d } ○最初に受理可能なVtはbまたはd ○LR系構文解析は上向き構文解析の1つ(ハンドルを 見つけてVnに還元していく) ○LL(1)のように次に受理すべきVtが何か類推で きる

LR構文解析 5.状態I0から別の状態への移行 I0={ S’→・S┤ S→・Sa S→・ABc A→・bAc A→ ・d } I0={ S’→・S┤ S→・Sa S→・ABc A→・bAc A→ ・d } ○I0の・の後ろにあるVtを受理,または還元によるVnの生成によ り他の状態へ移る(LR(0)項の・を1つ右へ移動)   S I0->I1={ S’→S・┤ S→S・a }   ◎・の後ろにVnが無いためこの2個だけ   ◎次は┤またはaを受理(入力残の先頭記号で決まる)   A I0->I2={ S→A・Bc B→・aB B→ ε・# } ◎B→・εというLR(0)項は存在しない。何も無いものを受理 する前ということは考えられない。 ◎次はaを受理するか,ハンドルεをBに還元するかを決めなけれ ばならない(不都合な状態)

LR構文解析 5.状態I0から別の状態への移行 I0={ S’→・S┤ S→・Sa S→・ABc A→・bAc A→ ・d } b I0={ S’→・S┤ S→・Sa S→・ABc A→・bAc A→ ・d }   b I0->I3={ A→b・Ac A→・bAc A→ ・d} ◎次はbまたはdを受理(入力残の先頭記号で決まる)   d I0->I4={ A→ d・# } ◎次はdをAに還元し,I4へ遷移する前のI0へ戻り   A I0->I2によりI2へ移る

LR構文解析 6.状態の集合全体 P={ S’→S┤ S→Sa|ABc A→bAc|d B→aB|ε } P={ S’→S┤ S→Sa|ABc A→bAc|d B→aB|ε } I0={ S’→・S┤ S→・Sa S→・ABc A→・bAc A→ ・d }   S                  A I0->I1={S’→S・┤ S→S・a}I0->I2={S→A・Bc B→・aB B→ ε・#}  b                         d I0->I3={A→b・Ac A→・bAc A→ ・d} I0->I4={A→ d・#}   ┤             a            B I1->I5={S’→S┤・#} I1->I6={S→Sa・#} I2->I7={S→AB・c}  a                        A I2->I8={B→a・B B→・aB B→ ε・#} I3->I9={A→bA・c}  b   d   c              B I3->I3 I3->I4 I7->I10={S→ABc・#} I8->I11={B→aB・#}  a   c I8->I8 I9->I12={A→bAc・#}

LR構文解析 7.不都合な状態 ○1つの状態にX→αa・bβ(次にbを受理する遷移) Y→γa・#(γaをYに還元しIjへ移動する) 理由 Ii∋{ Z→δ・Yη Y→・γa }  Y Ii->Ij ∋{ Z→δY・η } どちらの動作を行うかを決めなければならないので不都合 ●1つの状態に複数の遷移が存在しても,入力残の先頭記号でどちらの 遷移をするかが決まるので不都合ではない ○1つの状態に複数の還元が存在する場合  どちらの還元を行うか決めなければならないので不都合 ○不都合な状態において動作を決定する方法の違いにより解析法の名前 が異なる(SLR(1),LALR(1)、LR(1)) ●(1)の1は手掛かりとして,これからに受理可能な記号列の長さを 1(つまり次に受理可能なVt)とすることを意味している

LR構文解析 状態集合練習 P={ S’→S┤ S→AbS|aBc A→cAB|b|ε B→Bd|b }