降遞迴 1.Top-down parsers cannot be applied to left recursive grammars.
Given the grammar as shown, please identify
the left recursion rules and write down new rules that climinate
the left recursion problem.
3 <dec-list> ::= <dec> |<dec-list> ; <dec>
6 <id-list> ::= id | <id-list> , id
7 <stmt-list> ::= <stmt> | <stmt-list> ; <stmt>
10 <exp> ::= <term> | <exp>+<term> | <exp>-<term>
11 <term> ::= <factor> | <term> * <factor> | <term> DIV <factor>
遞迴下降剖析文法問題:如果程序決定要試(<id-list>,<id>),就會產生一個遞迴呼叫,
其結果會是一個無止境的 loop。原因是<id-list>
的一個可能的定義又是以<id-list>開頭,而由上而下的剖析,絕對無法處理包含此種”
立即左遞迴”定義的文法。
2.Use the modified grammar in Problem 1 to generate the parse tree
for the following statement using recursive – descent
parsing technique: Ready Running Lock
Dead Lock條件 Mutual exclusion(互斥):程序單獨佔用資源直到工作完成
Wait for condition(擁有和等待):程序已經佔用一些資源而在等候(blocked state)其
他資源
Non-preemptive condition(不可奪取):當程序已佔用一些資源而這些資源不能被 remove
掉
Circular wait(循環等待):程序佔用一些資源而彼此互相在等候對方之資源形成一種
waiting chain
研究Dead Lock 4大重點 1.Deadlock prevention 2.Deadlock avoidance
3.Deadlock detection 4.Deadlock recovery
檔案的處理流程:1. 使用者程式提出要求。E.g., “Read the next record from file
F”2. 檔案處理常式(File Management Routine)把邏輯上的需 求轉換成實體上的輸出輸
入指令。並把指令 pass 給 I/O supervisor。3. I/O 監督程式執行這些輸出輸入指令。
--
▉╯╰ ▅▃▂ ▂ ▏ http://www.wretch.cc/blog/lightpink1 ╱
█ ╮╭ ▆▅ ▂▅▆ ▎ ╱ █ ╱ ╱ █ ╱
▉ ◢▋ ▄▄ ▉ ◢▋ ╱ ████████████
▉ ▆█◤ ▊ ▎ ▉ ▆█◤ ╱ ╱
█ █ ▋ ▍ ▎ █ ████████████
▉ █ ▅▅ ▏ █ █ █
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.137.20.1
※ 編輯: u9555kimo 來自: 140.137.20.1 (06/04 17:02)