什麼是代表性作用域資訊的型別?
表示作用域資訊是一個概念,其中每個變數名的作用域都儲存在符號表中,以便我們可以在不同的塊和不同的位置使用相同的名稱。在符號表中表示名稱以及它出現的塊的指示符。
假設我們在塊 A 中有一個變數名“a”,在塊 B 中也有相同的變數。假設它可以在不包含塊資訊的情況下將“a”儲存在符號表中。在這種情況下,它只會保留遇到的第一個“a”例項,因此為了克服這個問題,名稱以 (變數名,塊名) 對的形式儲存,以便可以在不同的塊和過程中使用相同的名稱。
表示作用域資訊有兩種方法,如下所示:
透過編號表示作用域
它將所有值儲存在一個符號表中。
可以在不同的塊或過程中多次宣告相同的名稱作為不同的名稱。
因此,每個過程或塊都可以賦予一個唯一的編號。
符號表將不只包含識別符號的名稱,每個條目都將包含一個 (名稱,過程編號) 對。
我們可以透過匹配識別符號的名稱以及它所屬的過程編號來識別過程中的特定識別符號。
每個塊或過程都將被分配一個編號。
示例
以下顯示了符號表的配置,即用其對應過程或塊號填充識別符號。
在這裡,識別符號或名稱將屬於宣告該識別符號或過程的最緊密巢狀的活動子程式。
透過塊或位置表示作用域
- 它為每個作用域塊或過程建立一個單獨的表。
- 可以輕鬆插入多個具有相同名稱的識別符號,因為相同的名稱變數將在單獨的塊中共享。
- 我們不能在同一個塊或過程中有兩個名稱相同的變數。
- 每個過程或子程式都將具有其內容的不同表表示。當搜尋識別符號時,將匹配正確的表,即子程式或過程編號和識別符號名稱。
- 這種方法更可靠,也更容易理解。
廣告