买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开一种基于VB6的表达式处理方法,包括表达式的验证及引用的变量的获取和表达式的解析及计算两部分,表达式的验证及引用的变量的获取包括以下步骤:初始化;输入表达式字符串;读取操作项;验证操作项;操作项判断;储存变量名;输出变量名数组;表达式的解析及计算包括以下步骤:初始化;输入表达式字符串及变量名变量值的键值对二维数组;读取操作项;操作项判断;优先级判断;操作数出栈;计算;操作数压栈;操作符出栈;是否变量;替换变量;操作数压栈;输出计算结果。本发明提供的一种基于VB6的表达式处理方法,用于CBOM,可根据编写出来的表达式不同的输入计算出不同的结果,同时还可以实时验证表达式的编写是否正确。
主权项:1.一种基于VB6的表达式处理方法,用于处理电梯设计BOM数字化平台中的表达式,包括表达式的验证及引用的变量的获取和表达式的解析及计算两部分,其特征在于,表达式的验证及引用的变量的获取包括以下步骤:a1、初始化加载包含所有内部定义操作符的字典对象,用作验证操作项;a2、输入表达式字符串接收表达式字符串;a3、读取操作项从表达式字符串中读取操作项,如果读取到操作项则执行步骤a4,如果未读取到操作项则跳到步骤a7;a4、验证操作项验证操作项是否为字符常量、数字常量、符号操作符、函数操作符、变量中的一种,若操作项是字符常量、数字常量、符号操作符、函数操作符、变量中的一种,则执行步骤a5,否则广播错误;a5、操作项判断判断操作项是否为变量,若步骤a3读取到的操作项为变量,则执行步骤a6,否则跳到步骤a3读取下一个最前面的操作项;a6、储存变量名将变量名储存于变量名数组中,跳到步骤a3读取下一个最前面的操作项;a7、输出变量名数组将步骤a6中的变量名数组返回,结束验证;表达式的解析及计算包括以下步骤:b1、初始化加载包含所有内部定义操作符的字典对象,用作计算时获取操作符所需操作数的数量;加载两个操作符之间的优先级的字典对象,用作优先级判断;b2、输入表达式字符串及变量名变量值的键值对二维数组接收表达式字符串、变量名变量值的键值对二维数组将其转化成变量字典对象、初始化操作符栈、操作符栈顶、操作数栈、操作数栈顶;b3、读取操作项从表达式字符串中读取最前面的操作项,如果读取到操作项则执行步骤b4,如果未读取到操作项则跳到步骤b13;b4、操作项判断判断读取到的操作项是否为操作符,若步骤b3读取到的操作项为操作符,则执行步骤b5,否则跳到步骤b10;b5、优先级判断根据操作符栈顶与步骤b3读取到操作项判断两个操作符之间的优先级,若操作符栈顶优先级较高,则执行步骤b6,若操作符栈顶优先级较低,则操作符压栈,跳到步骤b3;b6、操作数出栈根据操作符字典对象获取操作符栈顶所需操作数的数量,并按照此数量分别进行操作数出栈;b7、计算根据操作符栈顶与步骤b6出栈的操作数调用内部计算函数运算得出结果;b8、操作数压栈将步骤b7所得运算结果压入操作数栈;b9、操作符出栈操作符出栈,跳到步骤b5,进行当前操作符栈顶优先级判断;b10、是否变量判断操作数是否是变量,若操作数为变量,则执行步骤b11,否则跳到步骤b12;b11、替换变量根据变量的变量名从变量字典对象中获取变量值;b12、操作数压栈将步骤b11中的变量值或者步骤b10中的操作数压入操作数栈,跳到步骤b3读取下一个最前面的操作项;b13、输出计算结果返回计算结果,并结束。
全文数据:
权利要求:
百度查询: 快意电梯股份有限公司 一种基于VB6的表达式处理方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。