什么是编译?
一个从一种状态集转换为另外一个状态集的过程
什么是优化?
什么是类型,类型就是集合的约束
一个类型就是一个集合
什么是隐式转换
就是一个集合被编译器材自动从一个集合映射到另外一个集合
因为不同类型的运算是未定义的(也可能是不闭合的,但是更多是未定义的 )
举个例子sql的谓词有些是二值的有些是三值的,导致语义会很难每个人都清楚
同构
什么是同构? 这是我最想弄明白的东西,真的很奇妙
语法和语义(syntax and semantic)
自然语言的语法
如果学过英语,那么i eat apple
就是一个主谓宾
结构,我对自然语言的语法的理解就是满足某些结构的结构(好吧可能是错误的结论)
数理逻辑的语法
数理逻辑也有相类似的语法
编程语言的语法
编程语言也是特定的token组合就是一个语法结构; 举个例子:
a = 1 ; // 由三个token组成 token<a> token<=> token <1> , 由parse规约而成
语义
操作语义(operate semantic)
描述这个语法对应的操作
表达式(Expressions)
如果是c++的表达式,就是一个序列,这个序列有返回值 举个例子:
The result of the expression always has type void [1]
返回值或者求值结果是void