湖南省邮电技术中心
张俊飞、谭培莎
---- 在一些应用程序开发中,需要处理最终用户输入的表达式求值问题。一般情况下,需要程序开发人员运用编译原理中的词法分析、语法分析与语义分析技术,扫描用户输入的符号串并用解释执行的方法计算表达式的值。PowerBuilder提供的describe函数,具有强大的表达式分析能力,为用户表达式的求值提供强有力的支持。但是,describe函数不支持用户自定义变量,对具有语法错误的表达式,没有提供具体的出错原因和错误位置。本文给出一个在实际应用中的解决办法,以供有此需求的其他开发人员参考。
---- 在一个用PowerBuilder作为开发工具的概预算编制软件开发过程中,用户提出这样一个需求:用户输入一表达式后系统能自动计算其值,且表达式中可含有函数、用户自定义变量以及注释等。
---- 形如:"π/4*(D2-d2){备注:圆环面积}+sin(xyz{自定义变量xyz需求解})-[row%]{自定义变量row%不需求解}"。