买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种科学计算语言解释器的对象封装方法_河南理工大学_202110991635.2 

申请/专利权人:河南理工大学

申请日:2021-08-27

公开(公告)日:2024-04-12

公开(公告)号:CN113835688B

主分类号:G06F8/30

分类号:G06F8/30

优先权:

专利状态码:有效-授权

法律状态:2024.04.12#授权;2022.01.28#实质审查的生效;2021.12.24#公开

摘要:一种科学计算语言解释器的对象封装方法,科学计算语言解释器的需要运算处理的字符串分为bool、complex、double、matrix、string和undefined等6种类型,其中:bool类型采用单词true和false作为标识;double类型采用数字、字母E和小数点作为标识;complex类型采用1个double标识和double紧随字母i为标识;string类型采用单引号或双引号作为标识;undefined类型采用单词nan或infinity作为标识。对上述字符串解析后调用相应的构造函数创建封装类Value实体;该实体然后输入值数学运算模型中,由于封装类实体重载实现了各种赋值运算符等,数学运算模型将对实体进行赋值和运算处理,最后调用处理后的Value实体的打印或展示数据函数方法,从而实现科学计算语言解释器的对象封装的目的。

主权项:1.一种科学计算语言解释器的对象封装方法,其特征在于:该方法包括以下步骤:第一步,创建封装对象classValue的基本数据类型索引及数据实例联合体;首先,根据科学计算为目的不同类型数据建立枚举enum索引,包括Undefined,Bool,Double,Complex,String,Matrix,Vector和Error类型,其中Int可看作Double类型,Error类型将指示赋值或运算不符规则的信息;然后,创建一个计算机位或字长的联合体union,用于存储实际需要处理的数据实例或指针,由于字符串、复数和矩阵数据类型大于一个计算机位或字长,采用指针连接字符串对象或矩阵数据类型,即封装的数据是上述枚举enum索引的一种类型;进一步,分别为字符串数据类型和矩阵数据类型创建对象,用于存储实际需要处理的字符串或矩阵数据对象;此外,创建一个枚举enum索引变量,用于指示封装对象的数据类型;第二步,分别为上述不同数据类型创建构造函数,即:ValueTypetype=Undefined;Valueboolb;Valuedoublen;valueint64_tn;Valueconststd::strings;Valueconstchar*s;Valueconstmatrixmat;Valueconststd::vectorValuevec;Valueconstcomlexcc;Valuedoublereal,doubleimage;ValueconstValueother;为了不同类型的原始数据实例化为封装对象,实例化同时对enum索引变量赋值,指示该封装对象的数据类型;第三步,创建函数方法读取或判断封装对象的数据类型,包括:Typetypeconst{returnt;}boolisErrorconst{returnt==Error;}boolisBoolconst{returnt==Bool;}boolisDoubleconst{returnt==Double;}boolisStringconst{returnt==String;}boolisComplexconst{returnt==Complex;}boolisMatrixconst{returnt==Matrix;}boolisVectorconst{returnt==Vector;}boolisUndefinedconst{returnt==Undefined;}其中type函数方法用于返回封装对象的数据类型,其他函数方法用于判断封装对象是否属于某一种类型;第四步,创建函数方法将封装对象转换为实际的数据,使其能够被编译型语言对其进行赋值和运算;第五步,创建设置不符运算规则的函数方法;第六步,创建函数方法:printValue;该函数方法用于打印或输出数据封装对象的数据,首先判断封装对象的数据类型,然后根据不同类型对象采用不同的输出方式;第七步,实现科学计算的运算符重载方法。

全文数据:

权利要求:

百度查询: 河南理工大学 一种科学计算语言解释器的对象封装方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。