2 Star 1 Fork 0

polarlang / langspecs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
expr-preamble.md 1.57 KB
一键复制 编辑 原始数据 按行查看 历史
zzu_softboy 提交于 2018-05-08 21:39 . 完成表达式规范定义

表达式

序文

  1. [Note: 在本章节中,定于极语言的语法,求值的顺序和表达式的意义。一个表达式是运算符和操作数指定的计算指令的序列。一个表达式求值可以获得一个值,或者引起一个副作用。]
  2. [Note: 运算符可以重载,这个对于运算运用到一个类或者枚举类型的时候可以提供一个具有特定意义的操作。运算符重载可以将相关运算表达式转换成对应的重载的函数调用。重载运算符遵守本章节8.5指定的语法上的规则和求值顺序。但是操作数类型的要求和值分类按照具体的函数要求进行替换。运算符之间的关系,例如:++a的意义是a+=1,没有被运算符重载保证。]
  3. 8.5分节中定义了运算符作用在没有运算符重载的类型上的效果。运算符重载不能改变内置运算符的意义,不能改变应用到标准内置类型时运算符的意义。然后这些内置运算符参与函数重载选择。当必要的时候会对参数按照运算符支持的类型进行类型转换。如果内部运算符被选择,那么在进行下一步操作之前,这样的转换会先应用于操作数。
  4. 在对表达式进行求值的同时,如果结果在数学上没有定义,或者值超过了返回值类型所能表达的最大类型。程序的行为是未定义的。[Example:比如除数为零,比如浮点数异常,但是标准库可能会处理一些。]
  5. 浮点操作数和浮点运算符的求值结果的精度和表示范围可能大于要求的浮点类型。
1
https://gitee.com/polarlang/langspecs.git
git@gitee.com:polarlang/langspecs.git
polarlang
langspecs
langspecs
master

搜索帮助