词法作用域与符号表
最后更新于:2022-04-02 04:08:12
[TOC]
## 一个问题
```
// code1
var a=1
b=a+1
// code2
var a=1
{
var a=10
var b=a+1
}
// code3
var a=1
func foo(b){
b=a+1
return b
}
```
通过对"a"的作用域观察需要一个中间的记录来描述符号之间的关系(特别是作用于关系)
## 词法作用域
- 一个符号的可见范围称之为它的作用域
- 符号作用域和源代码的书写相关(词法),并在运行时(实例)生效
## 变量的声明周期
符号(此法)->ASTNode->地址(三地址代码)->操作符(运行时环境)
';