Skip to main content

编译原理

· 2 min read

什么是编译?

一个从一种状态集转换为另外一个状态集的过程

什么是优化?

什么是类型,类型就是集合的约束

一个类型就是一个集合

什么是隐式转换

就是一个集合被编译器材自动从一个集合映射到另外一个集合

因为不同类型的运算是未定义的(也可能是不闭合的,但是更多是未定义的 )

举个例子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

相关阅读