1 Star 1 Fork 1

U语言组织 / U语言

forked from 秋来冬风 / U语言 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
boolexpr.go 890 Bytes
一键复制 编辑 原始数据 按行查看 历史
package check
import (
"gitee.com/u-language/u-language/ucom/ast"
"gitee.com/u-language/u-language/ucom/enum"
"gitee.com/u-language/u-language/ucom/errcode"
)
// CheckBoolExprNode 一个表达式是不是表示bool
// - ptr是被检查的表达式节点
// - sbt是被检查的节点所属代码块的符号表,不能为nil
// - t是被检查节点所属的抽象语法树
// - InAutoFree指示是否在自动释放块内
func CheckBoolExprNode(ptr ast.Expr, sbt *ast.Sbt, t *ast.Tree, InAutoFree bool) (errcode.ErrCode, errcode.Msg) {
if ptr == nil {
return errcode.NoErr, nil
}
code, msg, typestr := ret_type_str(ptr, sbt, t, InAutoFree) //获取表达式类型
if code != errcode.NoErr { //有错误
return code, msg
}
if typestr != enum.Bool { //不是表示bool
return errcode.ExprNoBool, nil
}
return errcode.NoErr, nil
}
Go
1
https://gitee.com/u-language/u-language.git
git@gitee.com:u-language/u-language.git
u-language
u-language
U语言
a214d6007862

搜索帮助