CN104408023A - 一种指标计算的方法及指标计算器 - Google Patents
一种指标计算的方法及指标计算器 Download PDFInfo
- Publication number
- CN104408023A CN104408023A CN201410616742.7A CN201410616742A CN104408023A CN 104408023 A CN104408023 A CN 104408023A CN 201410616742 A CN201410616742 A CN 201410616742A CN 104408023 A CN104408023 A CN 104408023A
- Authority
- CN
- China
- Prior art keywords
- index
- instruction
- function
- instruction set
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供了一种指标计算的方法及指标计算器。指标计算方法包括接收第一指标;解析所述第一指标,得到包括多个指标指令的第一指标指令集,所述第一指标指令集中的多个指标指令有执行顺序;确定所述第一指标指令集中的指标指令的类型及与所述类型对应的执行方式;按照所述执行顺序依次以所述确定的执行方式执行所述第一指标指令集中的多个指标指令。本发明在计算指标时,解析指标生成指令集并根据指令类型和顺序进行计算的方式,在指标有所改动时,输入新的指标,对该新的指标解析并计算。本发明不需要因为新的指标公式不同而重新定义每个运算节点并生成新的计算模型。因此,本发明提供的指标计算方法及指标计算器简便且更具有可用性。
Description
技术领域
本发明涉及指标计算,特别是涉及一种指标计算的方法及指标计算器。
背景技术
指标是说明总体数量特征的概念,属于统计学的概念。
在指标计算领域存在大量的复杂计算,为简化公式,经常需要在公式中应用一些功能函数,例如,求最大值,最小值,取相反数,排名,逻辑判断等。同时,对公式进行修改或者增加新的功能函数,也是指标计算领域所需要的。
为实现复杂的指标计算,目前的技术方案是对一个具体指标的计算模型从根指标运算节点开始,由上至下递归定义,形成树形结构的计算关系。在每个运算节点都需要定义该节点的函数并生成相应的执行方案。这样的技术方案操作比较繁琐,不具有可用性。
发明内容
本发明的目的是提供一种指标计算方法及指标计算器,以简化指标计算的计算模型,提高其可用性。
一种指标计算的方法,包括:
接收第一指标;
解析所述第一指标,得到包括多个指标指令的第一指标指令集,所述第一指标指令集中的多个指标指令有执行顺序;
确定所述第一指标指令集中的指标指令的类型及与所述类型对应的执行方式;
按照所述执行顺序依次以所述确定的执行方式执行所述第一指标指令集中的多个指标指令。
优选地,所述确定所述第一指标指令集中的指标指令的类型包括:
确定所述第一指标指令集中的指令为基础指令;
确定所述第一指标指令集中的指令为数据指令;或者
确定所述第一指标指令集中的指令为扩展指令。
优选地,所述确定所述第一指标指令集中的指标指令的类型为基础指令时,所述以所述确定的执行方式执行所述第一指标指令集中的多个指标指令包括:
调用所述指令对应的函数。
优选地,所述确定所述第一指标指令集中的指标指令的类型为数据指令时,所述以所述确定的执行方式执行所述第一指标指令集中的多个指标指令包括:
获取所述第一指标的数据。
优选地,所述确定所述第一指标指令集中的指标指令的类型为扩展指令时,所述以所述确定的执行方式执行所述第一指标指令集中的多个指标指令包括:
读取第二指标对应的第二指标执行指令集,
其中,所述第二指标为所述扩展指令调用的指标;
执行所述第二指标指令集的指令并返回结果。
优选地,所述函数的生成方法包括:
确定所述函数的函数名及参数个数,写出函数声明;
将所述函数声明字符解析成函数符号;
将所述函数符号解析成函数语法树;
遍历所述函数语法树并进行计数;
在所述函数语法树的每个节点生成对应的函数指令和函数执行顺序号,形成函数指令集;
存储所述函数名和所述函数指令集。
优选地,所述接收第一指标包括:
接收文本输入的所述第一指标;或
接收公式编辑器输入的所述第一指标。
优选地,所述解析所述第一指标,得到包括多个指标指令的第一指标指令集包括:
将所述第一指标的字符解析成第一指标符号;
将所述第一指标符号解析成第一指标语法树;
遍历所述第一指标语法树;
在所述第一指标抽象语法树的每个节点生成对应的第一指标指令和第一指标执行顺序号,形成所述第一指标指令集;
存储所述第一指标指令集。
一种指标计算器,包括:
接收模块,用于接收第一指标;
与所述接收模块相连的解析模块,用于解析所述第一指标,得到包括多个指标指令的第一指标指令集,所述第一指标指令集中的多个指标指令有执行顺序;
与所述解析模块相连的指令确认模块,用于确定所述第一指标指令集中的指标指令的类型及与所述类型对应的执行方式;
与所述指令确认模块相连的执行模块,用于按照所述执行顺序依次以所述确定的执行方式执行所述第一指标指令集中的多个指标指令。
优选地,所述解析模块包括:
指标词法解析单元,用于将所述第一指标的字符解析成第一指标符号;
与所述指标词法解析单元相连的指标语法解析单元,用于将所述第一指标符号解析成第一指标语法树;
与所述指标语法解析单元相连的指令生成单元,用于遍历所述第一指标语法树;
与所述指令生成单元相连的指令集生成单元,用于在所述第一指标抽象语法树的每个节点生成对应的第一指标指令和第一指标执行顺序号,形成所述第一指标指令集;
与所述指令集生成单元相连的指令集存储单元,用于存储所述第一指标指令集。
优选地,所述指令确认模块包括:
与所述解析模块相连的第一指令确认单元,用于确定所述第一指标指令集中的指令为基础指令;
与所述解析模块相连的第二指令确认单元,用于确定所述第一指标指令集中的指令为数据指令;
与所述解析模块相连的第三指令确认单元,确定所述第一指标指令集中的指令为扩展指令。
优选地,所述执行模块包括:
与所述第一指令确认单元相连的第一执行单元,用于调用所述指令对应的函数;
与所述第二指令确认单元相连的第二执行单元,用于获取所述第一指标的数据;
与所述第三指令确认单元相连的第三执行单元,用于读取第二指标对应的第二指标执行指令集,
其中,所述第二指标为所述扩展指令调用的指标,
执行所述第二指标指令集的指令并返回结果。
优选地,还包括与所述执行模块相连的函数生成模块,所述函数生成模块包括
函数确认单元,用于确定所述函数的函数名及参数个数,写出函数声明;
与所述函数确认单元相连的函数词法解析单元,用于将所述函数声明字符解析成函数符号;
与所述函数词法解析单元相连的函数语法解析单元,用于将所述函数符号解析成函数语法树;
与所述函数语法解析单元相连的函数指令生成单元,用于遍历所述函数语法树并进行计数;
与所述函数指令生成单元相连的函数指令集生成单元,用于在所述函数语法树的每个节点生成对应的函数指令和函数执行顺序号,形成函数指令集;
与所述函数指令集生成单元相连的函数存储单元,用于存储所述函数名和所述函数指令集。
优选地,所述接收模块包括:
文本输入单元和/或公式编辑器。
因此,本发明具有如下有益效果:
本发明在计算指标时,首先解析该指标,生成包含有顺序的多个指标指令的指标指令集。其次确定所述执行指令集中的指令类型和与所述类型对应的执行方式,最后并根据不同的指令类型和指令顺序执行不同的操作。这样的解析指标生成指令集并根据指令类型和顺序进行计算的方式,在指标有所改动时,输入新的指标,对该新的指标解析并计算。本发明不需要因为新的指标公式不同而需要重新定义每个运算节点并生成新的计算模型。因此,本发明提供的指标计算方法及指标计算器简便且更具有可用性。
附图说明:
图1为本发明提供的一种总的指标计算方法流程图;
图2为本发明提供的一种具体的指标计算方法流程图;
图3为本发明提供的指标计算方法中具体的函数生成流程图;
图4为本发明提供的一种总的指标计算器结构示意图;
图5为本发明提供的一种具体的指标计算器结构示意图;
图6本发明提供的另一种具体的指标计算器结构示意图。
具体实施方式
本发明的核心是提供一种指标计算方法及指标计算器。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
在本发明提供的指标计算方法的一个实施例中,参见图1,包括以下步骤:
S101、接收第一指标。
进行指标计算时,首先要接收需要被计算的第一指标。具体地说,就是接收第一指标对应的公式。
S102、解析所述第一指标,得到包括多个指标指令的第一指标指令集。
接收到第一指标对应的公式后,需要解析该指标,将对应的公式转换为计算机能够执行的一个个指令。而且在指标计算中,运算过程是有顺序的。例如说包含括号时,括号内的运算需要优先进行,因此在将该指标解析为多个可执行指令时,还要生成顺序号,形成包含有执行顺序的多个指标指令的第一指标指令集。在对第一指标进行计算时,按照顺序执行,得到正确的结果。
S103、确定所述第一指标指令集中的指标指令类型及所述指令类型对应的执行方式。
将第一指标解析成指令后,需要确认指令类型,不同的指令类型代表了不同的执行方式。正如同个人运用公式进行计算是相同的道理,在计算时,需要调入参数和相应运算符号。在复杂的计算过程中,还可能需要先计算出子公式,将结果带入上一级公式再进行运算。
因此,要计算第一指标对应的公式,需要确认指令的类型,以进行不同的动作,保障能够让整个公式可执行。
S104、按照所述执行顺序依次以所述确定的执行方式执行所述第一指标指令集中的多个指标指令。
具体的,当指令集形成且确认了指令类型及其对应的执行方式后,按照顺序依次执行,最终会得到第一指标的计算结果,整个计算过程完成。
在本实施例中,可以利用虚拟堆栈机按指令排序和指令类型对应的执行方式执行指令。
具体的,首先需要初始化一个堆栈,称之为桢栈,桢包括方法名、指令计数器、操作数栈、指标值寄存器和指令集。初始桢的方法名为main,作为入口方法,指令计数器为0,操作数栈为空,指标寄存器为空,指令集根据指标编码从数据库中读取,按照执行顺序号排序。将初始桢压入桢栈。
执行帧栈最顶部的帧,如果当前指令计数器的值小于指令集个数,则执行与指令计数器的值相等的执行顺序号的指令。
执行指令,直到桢栈为空,说明所有指令已经全部执行,返回操作数栈顶的值作为指标值。
本发明将计算指标的运行过程解析为几类执行指令,如最基本的运算、公式参数调入的指令。在需要利用其它公式运算结果作为运算参数时,通过嵌套执行另一指标的方式进行运算。这样的方式更加容易实现指标的扩展,也不需要专业人员经常地维护。因此本发明的可用性更高。
在本发明提供的指标计算方法中,参见图2,该实施例包括以下步骤:
S201、接收第一指标。
在本实施例中,具体的接收第一指标时,可以通过文本输入,也可以通过公式编辑器输入。
通过文本输入的方式,在进行复杂的指标计算时,输入错误的概率会比公式编辑器的方式大。而利用公式编辑器输入时,公式编辑器会对公式的符号格式及其相互匹配的关系进行校验,因此其错误率相对文本输入更小。
本发明提供的接收第一指标的方式可以自由选择,并没有任何限制只能用某种方式。文本输入的方式方便时,可以采取文本输入。公式编辑器的方式方便时,可以使用公式编辑器的方式。
S202、将所述第一指标的字符解析成第一指标符号。
在将需要运算的指标转换为可执行的指令时,需要对指标进行编译。首先,即是将指标对应的公式中的一个个字符解析成符号,检测公式的词法错误。
S203、将所述第一指标符号解析成第一指标语法树,形成运算的优先级。
在这里,是将所述符号进行语法分析,构建出由上述的符号形成的数据结构即所述的第一指标语法树,并进行语法检查。
S204、遍历所述第一指标语法树。
在本实施例中,采用深度优先算法遍历第一指标语法树。在遍历第一指标语法树的过程中,对第一指标对应的公式包含的函数类型、参数个数、引用的指标类型等进行检查。
S205、在所述第一指标抽象语法树的每个节点生成对应的第一指标指令和第一指标执行顺序号,形成所述第一指标指令集。
在本实施例中,是利用深度优先算法,对第一指标语法树的运算节点计数,在每个运算节点生成对应的指令和执行顺序的编号。
S206、存储所述第一指标指令集。
在本实施例中,具体的指令类型包含三种,即基础指令、数据指令和扩展指令。
S207、确定所述第一指标指令集中的指令为基础指令。
S208、确定所述第一指标指令集中的指令为数据指令。
S209、确定所述第一指标指令集中的指令为扩展指令。
在本实施例中,具体的指令及其对应的执行方式如下表:
指令表
在本表中,call指令代表的是扩展指令,sql指令代表数据指令,其他指令为基础指令。
S210、确定所述第一指标指令集中指标指令的类型为基础指令时,调用所述指令对应的函数。
S211、确定所述第一指标指令集中指标指令的类型为数据指令时,获取所述第一指标的数据
S212、确定所述第一指标指令集中指标指令的类型为扩展指令时,读取第二指标对应的第二指标执行指令集,
其中,所述第二指标为所述扩展指令调用的指标;
执行所述第二指标指令集的指令并返回结果。
具体利用堆栈原理实现上述执行动作的工作流程如下:
如果执行的是基础指令,则调用相应函数,并传入参数执行,执行完毕会根据情况修改指令计数器,达到指令跳转执行的目的。
如果执行的是扩展指令,具体的,初始化一个桢,该桢的方法名即扩展指令传入的函数名。令指令计数器为0,操作数栈压入扩展指令传入的参数个数,并且参数名进行转换,以t1-tn命名。令指标寄存器为空。指令集根据传入的函数名从内存中读取所需的函数指令集。将该桢压入桢栈变为当前桢,实现指令嵌套调用。
如果读取的是具体数据即数据指令,则获取第一指标的数据,即先从指标值寄存器中查找,找到则直接返回,否则查找数据库,存入寄存器,再返回。
在本实施例中,最后执行第一指标指令集时,只需要依照前述形成的执行顺序号,依次按照指令集中每个指令对应的操作方式执行,最终完成整个第一指标的计算。
在本发明提供的指标计算方法中,参见图3,该实施例具体说明函数的生成方法,包括以下步骤:
S301、确定所述函数的函数名及参数个数,写出函数声明。
在本实施例中,如上述指令表所示,每一个基础指令作为功能函数,都对应有各自的名称、参数个数。而为了能够被调用,需要写出函数声明。
S302、将所述函数声明字符解析成函数符号。
对函数声明进行词法解析,将函数声明包含的字符解析成符号。
S303、将所述函数符号解析成函数语法树。
将上述的函数符号进行语法解析,形成语法树,在于形成该函数的运算优先级。
S304、遍历所述函数语法树并进行计数。
在这里,需要利用深度优先算法,对语法树的运算节点进行计数,以便在调用该函数计算时,累计运算次数,并与该函数的运算节点个数比较,确保对该函数进行完整的运算。
S305、在所述函数语法树的每个节点生成对应的函数指令和函数执行顺序号,形成函数指令集。
在本实施例中,是利用深度优先算法,对函数语法树的运算节点计数,在每个运算节点生成对应的指令和执行顺序的编号。在运行该函数时,按照编号依次执行指令,完成函数的运算。
S306、存储所述函数名和所述函数指令集。
在本发明公开的指标计算器中,参见图4,该指标计算器包括:
接收模块10,用于接收第一指标。
与所述接收模块相连的解析模块20,用于解析所述第一指标,得到包括多个指标指令的第一指标指令集,所述第一指标指令集中的多个指标指令有执行顺序。
与所述解析模块相连的指令确认模块30,用于确定所述第一指标指令集中的指标指令的类型及与所述类型对应的执行方式。
与所述指令确认模块相连的执行模块40,用于按照所述执行顺序依次以所述确定的执行方式执行所述第一指标指令集中的多个指标指令。
在本发明公开的指标计算器中,参见图5,该指标计算器包括:
接收模块10,包括公式编辑器101和文本输入单元102,用于接收第一指标。
在本实施例中,接收模块也可以只包含公式编辑器101或者文本输入单元102。
解析模块20,包括:
指标词法解析单元201,用于将所述第一指标的字符解析成第一指标符号。
与所述指标词法解析单元201相连的指标语法解析单元202,用于将所述第一指标符号解析成第一指标语法树。
与所述指标语法解析单元202相连的指令生成单元203,用于遍历所述第一指标语法树。
与所述指令生成单元203相连的指令集生成单元204,用于在所述第一指标抽象语法树的每个节点生成对应的第一指标指令和第一指标执行顺序号,形成所述第一指标指令集。
与所述指令集生成单元204相连的指令集存储单元205,用于存储所述第一指标指令集。
指令确认模块30,包括:
第一指令确认单元301,用于确定所述第一指标指令集中的指令为基础指令。
第二指令确认单元302,用于确定所述第一指标指令集中的指令为数据指令。
第三指令确认单元303,确定所述第一指标指令集中的指令为扩展指令。
执行模块40包括:
与所述第一指令确认单元301相连的第一执行单元401,用于调用所述指令对应的函数。
与所述第二指令确认单元302相连的第二执行单元402,用于获取所述第一指标的数据。
与所述第三指令确认单元303相连的第三执行单元403,用于按照扩展指令读取第二指标对应的第二指标执行指令集,
其中,所述第二指标为所述扩展指令调用的指标,
执行所述第二指标指令集的指令并返回结果。
在本发明公开的指标计算器中,参见图6,该指标计算器包括:
接收模块10,包括公式编辑器101和文本输入单元102,用于接收第一指标。
解析模块20,包括:
指标词法解析单元201,用于将所述第一指标的字符解析成第一指标符号。
与所述指标词法解析单元201相连的指标语法解析单元202,用于将所述第一指标符号解析成第一指标语法树。
与所述指标语法解析单元202相连的指令生成单元203,用于遍历所述第一指标语法树。
与所述指令生成单元203相连的指令集生成单元204,用于在所述第一指标抽象语法树的每个节点生成对应的第一指标指令和第一指标执行顺序号,形成所述第一指标指令集。
与所述指令集生成单元204相连的指令集存储单元205,用于存储所述第一指标指令集。
指令确认模块30,包括:
第一指令确认单元301,用于确定所述第一指标指令集中的指令为基础指令。
第二指令确认单元302,用于确定所述第一指标指令集中的指令为数据指令。
第三指令确认单元303,确定所述第一指标指令集中的指令为扩展指令。
执行模块40包括:
与所述第一指令确认单元301相连的第一执行单元401,用于调用所述指令对应的函数。
与所述第二指令确认单元302相连的第二执行单元402,用于获取所述第一指标的数据。
与所述第三指令确认单元303相连的第三执行单元403,用于按照扩展指令读取第二指标对应的第二指标执行指令集,
其中,所述第二指标为所述扩展指令调用的指标。
执行所述第二指标指令集的指令并返回结果。
与所述执行模块40相连的函数生成模块50,包括:
函数确认单元501,用于确定所述函数的函数名及参数个数,写出函数声明。
与所述函数确认单元501相连的函数词法解析单元502,用于将所述函数声明字符解析成函数符号;
与所述函数词法解析单元502相连的函数语法解析单元503,用于将所述函数符号解析成函数语法树;
与所述函数语法解析单元503相连的函数指令生成单元504,用于遍历所述函数语法树并进行计数;
与所述函数指令生成单元504相连的函数指令集生成单元505,用于在所述函数语法树的每个节点生成对应的函数指令和函数执行顺序号,形成函数指令集;
与所述函数指令集生成单元505相连的函数存储单元506,用于存储所述函数名和所述函数指令集。
本发明提供的指标计算器的具体实现原理请参照前述指标计算方法实施例,此处不再赘述。
以上对本发明所提供的指标计算方法及指标计算器进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的原理及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (14)
1.一种指标计算的方法,其特征在于,包括:
接收第一指标;
解析所述第一指标,得到包括多个指标指令的第一指标指令集,所述第一指标指令集中的多个指标指令有执行顺序;
确定所述第一指标指令集中的指标指令的类型及与所述类型对应的执行方式;
按照所述执行顺序依次以所述确定的执行方式执行所述第一指标指令集中的多个指标指令。
2.如权利要求1所述的指标计算方法,其特征在于,所述确定所述第一指标指令集中的指标指令的类型包括:
确定所述第一指标指令集中的指令为基础指令;
确定所述第一指标指令集中的指令为数据指令;或者
确定所述第一指标指令集中的指令为扩展指令。
3.如权利要求2所述的指标计算方法,其特征在于,所述确定所述第一指标指令集中的指标指令的类型为基础指令时,所述以所述确定的执行方式执行所述第一指标指令集中的多个指标指令包括:
调用所述指令对应的函数。
4.如权利要求2所述的指标计算方法,其特征在于,所述确定所述第一指标指令集中的指标指令的类型为数据指令时,所述以所述确定的执行方式执行所述第一指标指令集中的多个指标指令包括:
获取所述第一指标的数据。
5.如权利要求2所述的指标计算方法,其特征在于,所述确定所述第一指标指令集中的指标指令的类型为扩展指令时,所述以所述确定的执行方式执行所述第一指标指令集中的多个指标指令包括:
读取第二指标对应的第二指标执行指令集,
其中,所述第二指标为所述扩展指令调用的指标;
执行所述第二指标指令集的指令并返回结果。
6.如权利要求3所述的指标计算方法,其特征在于,所述函数的生成方法包括:
确定所述函数的函数名及参数个数,写出函数声明;
将所述函数声明字符解析成函数符号;
将所述函数符号解析成函数语法树;
遍历所述函数语法树并进行计数;
在所述函数语法树的每个节点生成对应的函数指令和函数执行顺序号,形成函数指令集;
存储所述函数名和所述函数指令集。
7.如权利要求1所述的指标计算方法,其特征在于,所述接收第一指标包括:
接收文本输入的所述第一指标;或
接收公式编辑器输入的所述第一指标。
8.如权利要求1所述的指标计算方法,其特征在于,所述解析所述第一指标,得到包括多个指标指令的第一指标指令集包括:
将所述第一指标的字符解析成第一指标符号;
将所述第一指标符号解析成第一指标语法树;
遍历所述第一指标语法树;
在所述第一指标抽象语法树的每个节点生成对应的第一指标指令和第一指标执行顺序号,形成所述第一指标指令集;
存储所述第一指标指令集。
9.一种指标计算器,其特征在于,包括:
接收模块,用于接收第一指标;
与所述接收模块相连的解析模块,用于解析所述第一指标,得到包括多个指标指令的第一指标指令集,所述第一指标指令集中的多个指标指令有执行顺序;
与所述解析模块相连的指令确认模块,用于确定所述第一指标指令集中的指标指令的类型及与所述类型对应的执行方式;
与所述指令确认模块相连的执行模块,用于按照所述执行顺序依次以所述确定的执行方式执行所述第一指标指令集中的多个指标指令。
10.如权利要求9所述的指标计算器,其特征在于,所述解析模块包括:
指标词法解析单元,用于将所述第一指标的字符解析成第一指标符号;
与所述指标词法解析单元相连的指标语法解析单元,用于将所述第一指标符号解析成第一指标语法树;
与所述指标语法解析单元相连的指令生成单元,用于遍历所述第一指标语法树;
与所述指令生成单元相连的指令集生成单元,用于在所述第一指标抽象语法树的每个节点生成对应的第一指标指令和第一指标执行顺序号,形成所述第一指标指令集;
与所述指令集生成单元相连的指令集存储单元,用于存储所述第一指标指令集。
11.如权利要求9所述的指标计算器,其特征在于,所述指令确认模块包括:
与所述解析模块相连的第一指令确认单元,用于确定所述第一指标指令集中的指令为基础指令;
与所述解析模块相连的第二指令确认单元,用于确定所述第一指标指令集中的指令为数据指令;
与所述解析模块相连的第三指令确认单元,确定所述第一指标指令集中的指令为扩展指令。
12.如权利要求11所述的指标计算器,其特征在于,所述执行模块包括:
与所述第一指令确认单元相连的第一执行单元,用于调用所述指令对应的函数;
与所述第二指令确认单元相连的第二执行单元,用于获取所述第一指标的数据;
与所述第三指令确认单元相连的第三执行单元,用于读取第二指标对应的第二指标执行指令集,
其中,所述第二指标为所述扩展指令调用的指标,
执行所述第二指标指令集的指令并返回结果。
13.如权利要求9所述的指标计算器,其特征在于,还包括与所述执行模块相连的函数生成模块,所述函数生成模块包括
函数确认单元,用于确定所述函数的函数名及参数个数,写出函数声明;
与所述函数确认单元相连的函数词法解析单元,用于将所述函数声明字符解析成函数符号;
与所述函数词法解析单元相连的函数语法解析单元,用于将所述函数符号解析成函数语法树;
与所述函数语法解析单元相连的函数指令生成单元,用于遍历所述函数语法树并进行计数;
与所述函数指令生成单元相连的函数指令集生成单元,用于在所述函数语法树的每个节点生成对应的函数指令和函数执行顺序号,形成函数指令集;
与所述函数指令集生成单元相连的函数存储单元,用于存储所述函数名和所述函数指令集。
14.如权利要求9所述的指标计算器,其特征在于,所述接收模块包括:
文本输入单元和/或公式编辑器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410616742.7A CN104408023B (zh) | 2014-11-05 | 2014-11-05 | 一种指标计算的方法及指标计算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410616742.7A CN104408023B (zh) | 2014-11-05 | 2014-11-05 | 一种指标计算的方法及指标计算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104408023A true CN104408023A (zh) | 2015-03-11 |
CN104408023B CN104408023B (zh) | 2017-11-03 |
Family
ID=52645655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410616742.7A Active CN104408023B (zh) | 2014-11-05 | 2014-11-05 | 一种指标计算的方法及指标计算器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104408023B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780035A (zh) * | 2017-01-09 | 2017-05-31 | 天津市思托科技有限公司 | 用于云计算的指标公式处理方法、计算方法、处理装置和计算系统 |
CN109582349A (zh) * | 2018-12-05 | 2019-04-05 | 深圳开立生物医疗科技股份有限公司 | 测量公式的设置方法及装置、测量方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270984A1 (en) * | 2005-12-27 | 2008-10-30 | Hideyuki Tsutsumitake | Script program execution device, script program execution method, and optical disk device |
US8453126B1 (en) * | 2008-07-30 | 2013-05-28 | Dulles Research LLC | System and method for converting base SAS runtime macro language scripts to JAVA target language |
CN103197915A (zh) * | 2013-03-01 | 2013-07-10 | 华为技术有限公司 | 一种处理敏感指令的方法、装置以及物理机 |
WO2014052637A1 (en) * | 2012-09-27 | 2014-04-03 | Intel Corporation | Methods and systems for performing a replay execution |
CN103729580A (zh) * | 2014-01-27 | 2014-04-16 | 国家电网公司 | 一种检测软件抄袭的方法和装置 |
-
2014
- 2014-11-05 CN CN201410616742.7A patent/CN104408023B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270984A1 (en) * | 2005-12-27 | 2008-10-30 | Hideyuki Tsutsumitake | Script program execution device, script program execution method, and optical disk device |
US8453126B1 (en) * | 2008-07-30 | 2013-05-28 | Dulles Research LLC | System and method for converting base SAS runtime macro language scripts to JAVA target language |
WO2014052637A1 (en) * | 2012-09-27 | 2014-04-03 | Intel Corporation | Methods and systems for performing a replay execution |
CN103197915A (zh) * | 2013-03-01 | 2013-07-10 | 华为技术有限公司 | 一种处理敏感指令的方法、装置以及物理机 |
CN103729580A (zh) * | 2014-01-27 | 2014-04-16 | 国家电网公司 | 一种检测软件抄袭的方法和装置 |
Non-Patent Citations (4)
Title |
---|
梁娟娟 等: "基于符号执行的软件静态测试研究", 《计算机技术与发展》 * |
蔡学镛: ".NET中间语言", 《程序员》 * |
蔡希辉 等: "量子程序设计语言NDQJava2处理系统——代码转换程序", 《计算机科学与探索》 * |
陶永才 等: "《数据库技术与应用》", 31 January 2014, 北京:清华大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780035A (zh) * | 2017-01-09 | 2017-05-31 | 天津市思托科技有限公司 | 用于云计算的指标公式处理方法、计算方法、处理装置和计算系统 |
CN109582349A (zh) * | 2018-12-05 | 2019-04-05 | 深圳开立生物医疗科技股份有限公司 | 测量公式的设置方法及装置、测量方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104408023B (zh) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018272840B2 (en) | Automated dependency analyzer for heterogeneously programmed data processing system | |
KR102376117B1 (ko) | 병렬 결정 트리 프로세서 아키텍처 | |
CN105335412B (zh) | 用于数据转换、数据迁移的方法和装置 | |
CN104268428B (zh) | 一种用于指标计算的可视化配置方法 | |
US10169412B2 (en) | Selectivity estimation for query execution planning in a database | |
CN105224452B (zh) | 一种针对科学计算程序静态分析性能的预测代价优化方法 | |
CN103547999A (zh) | 利用专用元件实施有限状态机 | |
KR102013582B1 (ko) | 혼합 모드 프로그램의 소스 코드 오류 위치 검출 장치 및 방법 | |
Buinevich et al. | Method for partial recovering source code of telecommunication devices for vulnerability search | |
CN110264361A (zh) | 一种区块链的数据解析方法及装置 | |
CN104965687A (zh) | 基于指令集生成的大数据处理方法及装置 | |
CN103678396A (zh) | 一种基于数据模型的数据备份方法和装置 | |
CN111143038A (zh) | Risc-v架构微处理器内核信息模型建模及生成方法 | |
CN104408023A (zh) | 一种指标计算的方法及指标计算器 | |
CN116484947B (zh) | 算子的自动生成方法、装置、设备及介质 | |
CN105556504A (zh) | 从物理流生成逻辑表示 | |
CN103270512A (zh) | 智能架构创建器 | |
US9501536B1 (en) | Query plan generation for queries having common expressions | |
CN114443042A (zh) | 基于规则引擎的服务编排执行方法及相关设备 | |
CN108845844A (zh) | 一种状态转换方法及装置 | |
US20170364809A1 (en) | Parallelization techniques for variable selection and predictive models generation and its applications | |
CN113342283A (zh) | 用户位置信息存储方法、装置、电子设备及可读存储介质 | |
US9508062B2 (en) | Problem management record profiling | |
CN106844242B (zh) | 一种数据交换方法和系统 | |
CN116185940B (zh) | 一种原子计数器的操作方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |