CN103645929B - Project cost computing device to perform bcl compiled language and compiler implementation method described - Google Patents

Project cost computing device to perform bcl compiled language and compiler implementation method described Download PDF

Info

Publication number
CN103645929B
CN103645929B CN 201310687744 CN201310687744A CN103645929B CN 103645929 B CN103645929 B CN 103645929B CN 201310687744 CN201310687744 CN 201310687744 CN 201310687744 A CN201310687744 A CN 201310687744A CN 103645929 B CN103645929 B CN 103645929B
Authority
CN
Grant status
Grant
Patent type
Application number
CN 201310687744
Other languages
Chinese (zh)
Other versions
CN103645929A (en )
Inventor
廖成慧
万慧建
欧阳强
郝海风
于雪
刘梦清
Original Assignee
江西博微新技术有限公司
Filing date
Publication date
Grant date

Links

Abstract

工程造价计算描述语言(BCL)的编译执行装置及编译执行方法,包括:工程造价计算描述语言BCL,由设计描述具体计算算法规则的代数式及扩展运算表达式结构,即EL表达式和分析工程造价计算需求,确定除EL表达式以外的其它计算逻辑单元构成;工程造价计算描述语言(BCL)的编译执行装置,包括:BCL编译器装置、BCL脚本解析装置和BCL执行器装置;工程造价计算描述语言(BCL)的编译执行方法。 Engineering cost calculation description language (of BCL) and a compilation of compiled execution means to perform a method, comprising: calculating the project cost of BCL description language, specifically by the design rules described in the calculation algorithm and the algebraic structure extended operation expression, i.e., expression and analysis of engineering cost EL computing needs, to determine other calculation logic unit other than the EL expression configuration; engineering cost calculation means compiler implementation description language (BCL), comprising: a compiler apparatus BCL, BCL script analyzing apparatus and BCL actuator means; described construction cost calculation execution method compiled languages ​​(BCL) of. 本发明可真实的还原费用计算过程,便于用户直观浏览费用的生成过程和数据来源等内容,除此之外,所述BCL脚本解析装置提供BCL对象集合与BCL脚本文件之间的相互转换功能,实现一次生成多次执行,从而有效提高执行效率。 May restore the true cost calculation process of the present invention, to facilitate the user to intuitively browse content generation process and the cost of the other data sources, in addition, the BCL BCL script analyzing means provides mutual translation between the object set script file with BCL, achieve a generating multiple times, so as to effectively improve the efficiency.

Description

工程造价计算描述语言BCL的编译执行装置及编译执行方法 Project cost computing device to perform BCL compiled language and compiler implementation method described

技术领域 FIELD

[0001] 本发明属于工程造价计算领域,具体涉及一种工程造价计算描述语言BCL的编译执行装置及编译执行方法,实现工程造价计算并还原费用计算过程进行直观验证。 [0001] The present invention belongs to the field of computing cost engineering, in particular to a construction cost calculation BCL description language compiler and compilation execution means to perform a method to realize cost reduction and project cost calculation process calculates visually verified.

背景技术 Background technique

[0002] 计算描述语言是一种由标准代数式或代数式组扩展而来的可伸缩式的编程语言, 它符合一定文法要求,能够用于解决各种应用领域的计算问题。 [0002] calculated by the description language is a standard algebraic expression algebraic group expansion or retractable from the programming language, the grammar that meet certain requirements, can be used to solve the computing problems in various fields of application. 区别于其它领域,工程造价领域的计算给计算描述语言提出了新的需求。 Different from other areas of computing to calculate the project cost description language put forward new demands. 首先,工程造价计算数据额度往往很大,且各阶段要求的精度不一。 First, the cost of computing the amount of engineering data are often large, and each stage requires precision mixed. 现有工程造价计算方法采用的浮点数运算存在天生的精度问题,势必形成数据误差,导致难以应对严格的费用审查。 There is a natural floating point calculations precision engineering existing cost calculation method adopted, will inevitably result in data errors, making it difficult to deal with stringent cost review. 其次,工程造价计算数据具备层次性和个别性,决定了以简单数学表达式为导向的现有计算方式已无法满足需求,设计具备一定结构和规则的计算逻辑单元势在必行。 Secondly, the project cost is calculated with data hierarchy and individuality, determines the current calculation method in a simple mathematical expression driven has been unable to meet demand, design computational logic unit with a certain structure and rules of imperative.

[0003] 目前,现有计算描述语言针对通用计算需求而设计,无法应对工程造价计算需求。 [0003] Currently, existing computing description language for general-purpose computing needs and design, can not cope project cost computing needs. 它是将表达式作为唯一计算逻辑单元,计算流程由具有严格顺序的表达式序列表示。 It is a unique expression as a logical calculation means calculates the flow represented by the expression sequences having strict order. 当面临大数据量或复杂算法的计算需求时,难以直观理解计算过程,且容易造成失误。 When faced with the computing needs of large amounts of data or complex algorithms, it is difficult to intuitively understand the calculation process, and easily lead to mistakes. 同时,由于现有计算描述语言的编译执行装置在接收并处理计算请求后,只输出计算结果值,而计算过程及过程数据无法体现,导致用户不能直观验证数据的正确性、费用审核不便。 Meanwhile, since the existing computing apparatus compiler implementation described in language computation request after receiving and processing, only outputs the calculation result value calculation process and the process data can not be reflected, causing the user can not visually verify the correctness of the data, the cost review inconvenience.

发明内容 SUMMARY

[0004] 本发明旨在提供一种简单易用、且执行高效的工程造价计算描述语言BCL的编译执行装置及编译执行方法,实现在满足复杂工程造价计算需求的同时,有效记录并还原工程造价计算过程,解决计算结果正确性无法直观验证问题。 [0004] The present invention aims to provide a simple, easy, efficient compiler implementation and execution apparatus and method for performing compiled project cost calculation BCL description language to achieve the same time meet the complex computing needs of the project cost, and reduced construction cost effective recording calculation process, solve the correctness of the results can not directly verify the problem.

[0005] 所述工程造价计算描述语言BCL,它能独立于不同产品、项目,具有开发语言无关性和平台无关性。 The [0005] project cost calculation description language BCL, it is independent of the different products, projects, with the development of language-independent and platform independence. 其实现过程包括了: Its implementation process includes:

[0006] (1)设计描述具体计算算法规则的代数式及扩展运算表达式结构,即EL表达式; [0006] (1) Design rules describing particular calculation algorithm and algebraic expressions extended operation structure, i.e., the EL expression;

[0007] 所述EL表达式是对计算算法规则的一个完整描述,以${和Η乍为起始和结束标记; 它在沿袭传统代数表达式运算特点的同时,支持用于包含多种表达式选择的条件选择运算和完成具体计算规则的函数运算在内的其它高级运算功能。 [0007] The EL expression is a complete description of the rule calculation algorithm to $ {Η Chad and to start and end tags; it is followed while the conventional operation characteristics of the algebraic expression, expression of various supports comprising other advanced computation formula selected conditions are selected to perform specific operations and calculation algorithms including the calculation function. 与传统代数运算不同,所述EL 表达式包含种类多元化的操作数,支持数值、字符串和变量等类型,其中,变量类型操作数是所述EL表达式支持动态数据挂接的典型体现,其值可以为外部对象的引用,也可以为执行阶段设定的具体数据值; Different from the conventional algebraic calculation, the expression containing the operand type EL diversified type of support number, string, and other variables, where the variable type of the operand is a typical manifestation EL expression mounted support dynamic data, the value can be a reference to an external object, the data may be a specific value set in the execution stage;

[0008] 所述条件选择表达式以#{和Η乍为起始和结束标记,其内部包含多个条件分支和至多一个缺省条件分支,每个分支对应一个EL表达式,整个条件选择表达式的取值为当前被激活条件分支对应的EL表达式计算结果,如: [0008] In the conditional expression is selected and # {Η Chad to start and end tags, which comprises a plurality of internal conditions and up to a default condition branches branches, each corresponding to an EL expression, expression of the entire condition selection the formula for the current value is calculated corresponding to the conditional branch activated EL expression results, such as:

Figure CN103645929BD00061

[0010]所述函数运算定义了具体的计算规则,以满足工程造价特定计算需求;其语法结构与C语言兼容,并支持BCL的扩展数据类型;除此之外,所述函数的调用还支持把EL表达式作为参数进行输入,能够实现指定工程数据范围与EL表达式的动态绑定,进而减少表达式代码冗余,语法格式为: [0010] The operational function defines a specific calculation rule to meet specific computing needs of the project cost; C language and grammatical structure which is compatible, and supports extended data types of BCL; Besides, further support for invoking the function the EL expression is entered as a parameter, it is possible to achieve dynamic binding engineering data specified range of the EL expressions, thereby reducing expression code redundancy, syntax is:

[0011] sum(数据源标记,数据源包装名,?EL表达式); [0011] sum (data source tag, the name of the data source wrapper, EL expression?);

[0012] (2)分析工程造价计算需求,确定除EL表达式以外的其它计算逻辑单元; [0012] (2) Analysis of the needs of the project cost calculation, to determine other calculation logic unit other than EL expressions;

[0013] 通过对造价工程数据及计算算法、过程的总结归纳,得出任何工程的工程造价复杂计算算法都可分解为最小的原子计算逻辑单元,即:EL表达式、宏表、变量、参数、数据源和包。 [0013] summary of the cost of the project by a calculation algorithm and data, the induction process, draw any complex engineering construction cost calculation algorithm can be broken down into the smallest atom in the logic unit, namely: EL expression, macro table, arguments, parameters, , and packet data source. 其中,所述宏表能完整的表示一个具有递归、多字段、多记录、有汇总关系的计算规贝1J。 Wherein the macro sheet can fully represents a recursive, multi-field, multiple recording, there is calculated the relationship between the summary gauge shell 1J. 所述数据源用于描述一个工程的数据及其数据范围,它是BCL语言与工程数据的粘合剂,实现真实数据的传递。 The data source for a data description and a data range of engineering, it is an adhesive BCL language and engineering data to accomplish the transfer of real data. 所述变量是包含数据源、数据过滤算法以及费用计算算法规则在内的具体费用计算结构,相较与仅包含具体数值的参数而言,变量的计算有一定的先后次序,更为复杂,但功能强大。 The variable is a data source, a data filtering algorithm and the specific costing structures, including a fee calculation algorithm rules, compared with only a particular value in terms of parameters comprising calculating the order of a certain variable, more complex, but Powerful. 所述包为其它原子计算逻辑单元的容器,能划定计算逻辑单元的作用范围,屏蔽命名冲突。 Calculating the packet to another logical unit container atom, can delineate scope logic calculation unit, shielding naming conflicts.

[0014] 基于上述工程造价计算描述语言BCL,为实现本发明的目的,本发明技术方案为: [0014] BCL calculated based on the above description language construction cost, to achieve the object of the present invention, the technical solutions of the present invention are:

[0015] -种工程造价计算描述语言BCL的编译执行装置,包括:BCL编译器装置、BCL脚本解析装置和BCL执行器装置。 [0015] - the kind of project cost computing device description language compiler implementation of BCL, including: BCL compiler apparatus, script analysis unit BCL and BCL actuator device.

[0016] 所述BCL编译器装置用于对外界输入的待计算BCL元素进行编译处理,形成包含BCL语法树结构的BCL对象。 [0016] The BCL BCL compiler means for calculating an element of the external input to be compiled, to form an object comprising a BCL BCL syntax tree structure. 内部过程涉及工程反应器模块、工程环境模块、工程文件解析模块、工程语法分析模块和分析上下文模块。 Internal process involves engineering reactor module, the module project environment, the project file parsing module, project analysis and parsing module context module. 其中,待计算BCL元素由工程文件解析模块生成, 被传递给工程语法分析模块。 Wherein the element to be calculated is generated by BCL project file parsing module, it is transmitted to the parsing module works. 依据BCL元素类型的不同,控制BCL元素编译,获取相应待计算EL表达式集合,所述EL表达式是对计算算法规则的一个完整描述,以${和}作为起始和结束标记;所述EL表达式包含种类多元化的操作数,支持数值、字符串和变量等类型,其中,变量类型操作数是所述EL表达式支持动态数据挂接的典型体现,其值可以为外部对象的引用, 也可以为执行阶段设定的具体数据值; Depending on the type of element BCL, BCL control compilation element EL to be calculated to obtain the corresponding set of expressions, the expressions EL is a complete description of the rule calculation algorithm, and to $ {} as start and end tags; the EL expression containing the operand diverse species, type of support number, string, and other variables, where the variable type of the operand is a typical manifestation EL expression articulated support dynamic data, the value may be an external reference to an object , specific data value may be set in the execution stage;

[0017] 在分析上下文模块的协助下,对其进行词法和语法分析,生成被称之为BCL语法树的内存对象,并关联到相应BCL对象中。 [0017] In context with the assistance of the analysis module, its lexical and syntax analysis to generate a memory object syntax tree is called BCL, BCL and associated to the corresponding object.

[0018] 其中,所述BCL元素是最小待计算单元,内部包含描述计算算法规则的EL表达式集合。 [0018] wherein said BCL element is a minimum unit to be calculated, the calculation algorithm is described comprising an internal EL expression rule set. 与BCL语言体系中的原子计算逻辑单元相对应,BCL元素至少应包含BCL包元素、BCL变量元素、BCL宏表元素、BCL记录元素、BCL字段元素、BCL参数元素和BCL数据源元素七种。 And BCL atom in the language in the system corresponding to the logical unit, the element must contain at least BCL BCL package element, the variable elements BCL, BCL macro table elements, the recording elements BCL, BCL field element, BCL parameter elements and the data source BCL seven kinds of elements. 其中, BCL包元素作为其它元素的容器存在,不具备值表达式。 Wherein, as the container of BCL package element other elements present, does not have the value of the expression. 而BCL变量元素包含BCL数据源元素对象、过滤表达式和值表达式,通过执行过滤表达式,可从数据来源中筛选形成符合条件的数据范围,应用于其值表达式的计算过程当中。 BCL BCL variable element contains the data source element object, and the filter expression value expression, by performing the filter expression can be screened range qualified data formed from the data source, which is applied to the calculation of the value of the expression thereof.

[0019] 所述BCL脚本解析装置包含了BCL脚本文件生成器和脚本解析器,用于实现BCL对象集合与BCL脚本文件之间的相互转换,能够有效记录或还原指定BCL对象,避免在同一计算需求下重复编译处理,有效减少工程造价计算时间。 [0019] The BCL BCL script analyzing means comprises a script file and the script parser generator, for implementing a conversion between the BCL BCL script file with a collection of objects, records, or reduction can be effectively designated BCL objects, avoid counting the same lower demand repeat the compilation process, effectively reduce the project cost calculation time.

[0020] 所述BCL执行器装置在经编译处理之后,解释执行生成的BCL对象,将过程数据和计算结果分别存储在BCL语法树结点和BCL对象当中。 [0020] The actuator means BCL compiled after treatment, the object generation BCL interpreted, the process data and calculation results are stored in the syntax tree nodes BCL and BCL among objects. BCL执行器装置内部需包含BCL对象计算模块、结点计算模块、运行上下文模块、函数注册器模块和数据包装模块。 BCL for an internal actuator means comprises a calculation module BCL objects, nodes calculation module, the module execution context, the function module and a data register packing module. 其中,BCL对象计算模块控制BCL对象的解释执行过程,利用结点计算模块对BCL对象内部包含的BCL语法树中的每个结点进行计算,并将计算过程和过程数据记录在各结点当中,进而获取计算结果数据,完成执行任务。 Wherein, BCL object computing execution module explained BCL control object, using the nodes for each node calculation module BCL BCL syntax trees contained in the internal object is calculated, and the calculation process and the process of recording data in which each node , then get the results data to complete the mission.

[0021 ] -种工程造价计算描述语言BCL的编译执行方法,其步骤如下: [0021] - Species engineering cost calculation method of performing language compiler BCL described, comprises the following steps:

[0022]第一步:分析BCL元素,获取待计算EL表达式集合; [0022] Step: BCL elemental analysis, calculated acquiring an EL expression set;

[0023] 所述EL表达式是对计算算法规则的一个完整描述,以$ {和}作为起始和结束标记; 所述EL表达式包含种类多元化的操作数,支持数值、字符串和变量等类型,其中,变量类型操作数是所述EL表达式支持动态数据挂接的典型体现,其值可以为外部对象的引用,也可以为执行阶段设定的具体数据值; [0023] The EL expression is a complete description of the rule calculation algorithm, and to $ {} as start and end markers; EL expression containing the operand diverse types, support number, string variables, and other type, wherein the variable type operand is a typical manifestation of the EL expression articulated support dynamic data, the reference value may be an external object may be a specific value set in the execution stage data;

[0024] 在沿袭传统代数表达式运算特点的同时,EL表达式包含多种条件选择表达式的条件选择运算和完成具体计算规则的函数运算; [0024] In operation follow the traditional algebraic expression characteristics simultaneously, EL expression comprises a plurality of condition selection conditions are selected arithmetic expression and function operation is completed specific calculation rule;

[0025] 所述条件选择表达式以#{和Η乍为起始和结束标记,其内部包含多个条件分支和至多一个缺省条件分支,每个分支对应一个EL表达式,整个条件选择表达式的取值为当前被激活条件分支对应的EL表达式计算结果,如: [0025] In the conditional expression is selected and # {Η Chad to start and end tags, which comprises a plurality of internal conditions and up to a default condition branches branches, each corresponding to an EL expression, expression of the entire condition selection the formula for the current value is calculated corresponding to the conditional branch activated EL expression results, such as:

Figure CN103645929BD00071

[0027]所述函数运算定义了具体的计算规则,以满足工程造价特定计算需求;其语法结构与C语言兼容,并支持BCL的扩展数据类型;除此之外,所述函数的调用还支持把EL表达式作为参数进行输入,能够实现指定工程数据范围与EL表达式的动态绑定,进而减少表达式代码冗余,语法格式为: [0027] The operational function defines a specific calculation rule to meet specific computing needs of the project cost; C language and grammatical structure which is compatible, and supports extended data types of BCL; Besides, further support for invoking the function the EL expression is entered as a parameter, it is possible to achieve dynamic binding engineering data specified range of the EL expressions, thereby reducing expression code redundancy, syntax is:

[0028] sum(数据源标记,数据源包装名,?EL表达式); [0028] sum (data source tag, the name of the data source wrapper, EL expression?);

[0029]根据BCL元素类型的不同,采取不同的分析过程,包括: [0029] According to BCL different element types, take a different analysis, comprising:

[0030] (1)若为BCL包元素,则先转向执行第四步。 [0030] (1) If the packet is BCL element, the fourth step is performed to turn. 再将该包元素中的所有BCL元素转向执行第一步;所述包为其它原子计算逻辑单元的容器,能划定计算逻辑单元的作用范围,屏蔽命名冲突; All elements then the packet BCL steering elements do the first step; logical unit calculating said packet to another atom containers can delineate the scope computation logic means, shielding naming conflicts;

[0031] (2)若为BCL宏表元素,则先将内部包含的所有BCL记录元素转向执行第一步,再获取当前宏表元素对应的EL值表达式;所述宏表能完整的表示一个具有递归、多字段、多记录、有汇总关系的计算规则; [0031] (2) If the macro table is BCL elements, the first element of all records contained within BCL turn do the first step, and then acquires the current value of the expression EL elements corresponding to the macro sheet; the macro sheet can complete representation a recursive, multi-field, multiple recording, there is the relationship between the summary calculation rule;

[0032] (3)若为BCL记录元素,则先将内部包含的所有BCL记录元素和BCL字段元素执行第一步,再获取该记录元素对应的EL值表达式; [0032] (3) when the recording element is BCL, all of the first recording element comprising internal BCL and BCL field element performs the first step, the value of the expression reacquisition EL element corresponding to the record;

[0033] (4)若为BCL字段元素,则直接获取当前字段元素对应的EL值表达式; [0033] (4) If it is BCL field elements, direct access to the EL elements corresponding to the value of a current expression field;

[0034] (5)若为BCL变量元素,则先从工程反应器对象中获取当前变量元素对应的BCL数据源元素,生成相应BCL数据源对象。 [0034] (5) If the variable element of BCL, BCL data is acquired corresponding to elements of the current source and a variable element start engineering object reactor to form the corresponding BCL data source object. 并关联到当前分析上下文对象中,然后获取变量元素对应的过滤表达式及值表达式;所述变量是包含数据源、数据过滤算法以及费用计算算法规则在内的具体费用计算结构,相较与仅包含具体数值的参数而言,变量的计算有一定的先后次序,更为复杂,但功能强大; And the analysis context object associated with the current, and then obtain the corresponding filter element variable value expression and expression; specific costing structure comprising said variable data source, data filtering algorithm and fee calculation algorithms including rules, compared with For parameter contains only the specific values ​​of calculated variables have certain priorities, more complex, but powerful;

[0035] (6)若为BCL参数或数据源元素时,则转向执行第四步;所述数据源用于描述一个工程的数据及其数据范围,它是BCL语言与工程数据的粘合剂,实现真实数据的传递。 [0035] (6) If the data source is BCL parameter or element, a fourth step is to implementation; the data source for a data description and a data range of engineering, it is an adhesive BCL language and Engineering Data achieve real data transfer.

[0036]第二步:对EL表达式进行词法分析,生成有效单词序列; [0036] Step: EL expressions lexical analysis, to generate a valid word sequence;

[0037]第三步:在工程反应数据及工程环境数据的协同下,采用专用语法分析器,处理序列中的所有单词,生成相应BCL语法树结点,进而形成完整的BCL语法树。 [0037] The third step: the synergistic response data and engineering project data environment, dedicated parser processing all the words in the sequence, generating a corresponding BCL syntax tree node, thus forming a complete syntax tree BCL. 该过程若存在语法错误,则转向执行第九步; The process if a syntax error, then go to Step IX;

[0038] BCL语法树结点包含结点值属性、结点类型属性、当前结点引用的对象地址值以及左右结点的关联属性。 [0038] BCL syntax tree node contains the value of the attribute node, the node type attribute, the attribute associated with the object referenced by the current node address values ​​of the left and right nodes. 当单词类型为变量型操作数时,语法分析器将该单词传递给当前分析上下文模块,进行变量匹配。 When a word operand type is a variable type, the parser is passed to the current word context analysis module for matching variables. 若匹配不成功,则生成未知变量结点;若匹配成功,则创建引用变量结点。 If the match is not successful, it generates an unknown variable node; if the match is successful, create a reference variable nodes. 分析匹配结果类型,若为BCL元素,则先将该BCL元素进行编译处理,生成对应BCL对象,作为当前引用变量结点的外部引用对象。 Analysis results matching type, if it is BCL element, the first element is compiled BCL, and generates an object corresponding to the BCL, as the current reference node external variables referenced object. 若为BCL对象,则直接将当前引用变量结点指向该BCL对象。 If it is BCL object directly reference variable current node pointer to the BCL object.

[0039]第四步,创建相应BCL对象,并关联经语法分析后得到的BCL语法树; [0039] The fourth step, creating a corresponding BCL object and associated BCL syntax tree obtained after analysis grammar;

[0040]此时,为避免同一计算需求下的重复编译,可利用BCL脚本文件生成器和脚本解析器分别生成和解析工程BCL脚本文件,实现记录和还原编译结果,从而有效提高执行效率。 [0040] At this time, in order to avoid repeating the same compiled under the computational requirements may be utilized BCL script file and the script parser generators generate and parse the script file BCL project, reduction effect recording and compile the results, in order to effectively improve the efficiency. [0041 ]第五步,通过对生成的BCL对象进行分析,获取待计算BCL语法树对象; [0041] The fifth step, an object generated by BCL analyzed, obtaining an object to be calculated BCL syntax tree;

[0042]根据BCL对象类型的不同,采取不同分析方式: [0042] Depending on the type of object BCL, take different analytical methods:

[0043] (1)若为BCL包对象,则将当前包对象中的所有BCL对象执行第五步; [0043] (1) If the packet object is the BCL, then the current packet of all objects in the object execution BCL fifth step;

[0044] (2)若为BCL宏表、记录或字段对象,则先让内部对象执行第五步,再将其对象本身对应的BCL语法树执行第六步,得到当前对象的结果值; [0044] (2) If the macro is BCL tables, records, or fields object, let the object to perform an internal fifth step, a sixth step then performs its own target syntax tree corresponding to the BCL to obtain the result value of the current object;

[0045] (3)若为BCL变量对象,则先将过滤表达式对应的BCL语法树执行第六步,对原始BCL数据源进行过滤,再将值表达式对应的BCL语法树对象执行第六步,得到当前变量对象的结果值; [0045] (3) If it is BCL variable object, the first filter expression syntax tree corresponding to the BCL performing a sixth step, the original data source BCL filtered and the value of the expression syntax tree corresponding to the object to execute a sixth BCL step, to obtain the current value of the variable results of the object;

[0046] (4)若为BCL参数或数据源对象时,则不做处理。 [0046] (4) If the data source or to objects BCL parameter, then no processing.

[0047]第六步,解释执行当前BCL语法树,按照后序遍历的方式处理语法树中的结点。 [0047] The sixth step, interpreted BCL current syntax tree, the nodes in the syntax tree processing according postorder fashion. 同时,将计算过程及过程数据保存在BCL语法树的各个结点当中; Meanwhile, the calculation process and the process data stored in each node of the syntax tree among BCL;

[0048]该过程涉及的处理包括: [0048] The treatment process includes:

[0049] (1)若当前结点为传统代数运算符结点,则分别计算并获取左右结点值,作为左右操作数,进行代数运算,并将运算结果值作为当前结点的值; [0049] (1) If the current node is a conventional algebraic operator node, respectively calculated and acquired values ​​around the node, as the left and right operands algebraic calculation, and the calculation result value as the current node;

[0050] (2)若当前结点为引用变量结点,则将该结点对应的外部引用对象的值作为当前结点的结果值; [0050] (2) If the current node is a reference variable node, the node value of the external reference point corresponding to the value of the object as a result of the current node;

[0051 ] (3)若当前结点为函数参数EL表达式结点,则忽略计算该结点及其左右子树,待执行相应函数时,再进行计算; [0051] (3) if the current node is an expression node EL function parameter is ignored and the calculation of the left and right subtrees node when the corresponding function to be executed, then calculation;

[0052] (4)若当前结点为函数结点,则利用函数注册器,匹配并执行相应函数; [0052] (4) If the current node as a function of the node, using the function register, matching and performs a corresponding function;

[0053] (5)若当前结点为未知变量结点,则匹配并设置为当前运行上下文中数据源的属性值; [0053] (5) If the current node is a node of unknown variables, and then set the attribute value matching the current operating context of data sources;

[0054] 第七步,判断是否存在错误信息,若存在,则转向执行第九步;反之,执行第八步; [0055]第八步,将BCL语法树对象的根结点的值作为当前BCL对象的结果值,进而完成执行任务,流程结束; [0054] The seventh step, it is determined whether there is an error message, if yes, turn to Step IX; otherwise, performing the eighth step; [0055] The eighth step, the BCL target value of the root node as a current syntax tree BCL result value of an object, and then complete the mission, the process ends;

[0056]第九步,生成相应错误信息报表,流程结束。 [0056] The ninth step to form the corresponding message reporting the error, the process ends.

[0057]本发明的有益效果是:本发明所述的工程造价计算描述语言BCL的编译装置及编译执行方法是在现有计算描述语言的基础上,针对工程造价的特点而设计。 [0057] Advantageous effects of the present invention are: the construction cost of the apparatus of the present invention and a computing description compiler language compiler implementation method is based on the existing BCL calculated on the description language, the characteristics of construction cost and design. 通过设计具有高级运算功能的EL表达式和具有一定结构和规则的多元化计算逻辑单元,能够满足工程造价计算算法多样性、计算数据层次性和个别性需求。 EL expression and pluralism calculation logic unit has a certain structure and rules with advanced computing capabilities through the design to meet the diversity of project cost calculation algorithm to calculate the data hierarchy and individual needs. 同时,由于所述编译执行方法采用边计算边记录的形式,将计算过程和过程数据保存在BCL语法树的各个结点当中。 Meanwhile, since the compiler implementation side edge calculating method employed in the form of records, the calculation process and the process data stored in each node of the syntax tree which BCL. 因此,可以真实的还原费用计算过程,便于用户直观浏览费用的生成过程和数据来源等内容。 Thus, it is possible to restore the true cost calculation process, to facilitate the user to intuitively browse the contents of the cost of the generation process and data sources. 除此之外, 所述BCL脚本解析装置提供BCL对象集合与BCL脚本文件之间的相互转换功能,实现一次生成多次执行,从而有效提高执行效率。 In addition, the BCL BCL script analyzing means provides mutual translation between the object set BCL script file and realized repeatedly generated once, in order to effectively improve the efficiency.

附图说明 BRIEF DESCRIPTION

[0058]图1是本发明实施例中BCL语言的编译执行机制图; [0058] FIG. 1 is a view of the mechanism compiler implementation language BCL embodiment of the present invention;

[0059]图2是本发明实施例给出的一种BCL语言的编译执行流程示意图; [0059] FIG. 2 is a schematic view of one kind of BCL compiled language execution flow according to given embodiments of the present invention;

[0060]图3是本发明实施例中BCL对象内部和与其它BCL对象之间的数据结构图。 [0060] FIG. 3 is a data configuration diagram of the embodiment of BCL between objects inside and the other embodiments of the present invention BCL objects.

具体实施方式 detailed description

[0061] 下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。 [0061] The embodiments of the invention in conjunction with the following technical solutions in the embodiments of the present invention will be clearly and completely described, obviously, the described embodiments are merely part of embodiments of the present invention rather than all embodiments. 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 Based on the embodiments of the present invention, all other embodiments of ordinary skill in the art without any creative effort shall fall within the scope of the present invention.

[0062] 本发明实施例以电力工程造价费用计算为例,提供一种BCL语言的编译执行实现机制,如图1所示。 [0062] Embodiments of the present invention in a power engineering cost costing, for example, to provide a language compiler implementation BCL implementation mechanism, as shown in FIG. 该实现机制的具体实施过程包括了以下三个步骤,参照图2可知: Specific implementation of the implementation mechanism comprises the three steps, with reference to FIG. 2 shows that:

[0063] 步骤A1:初始化工程环境模块数据,注册变量模板、通用函数、业务函数和数据源包装; [0063] Step A1: environmental engineering module initialization data, registration template variables, generic functions, business functions and data source packaging;

[0064] 工程环境模块提供工程造价费用计算所需的通用业务支持,与特定工程造价文件数据无关。 [0064] Environmental Engineering Project Cost module provides cost calculations required general business support, regardless of the specific project cost data file. 其中,变量模板是采用BCL语言重新编写的工程造价计算算法,它具有通用性、易读性及可配置性等优点; Where the variable is the use of BCL template language rewrite project cost calculation algorithm, it is universal, legibility and configurability, etc;

[0065]步骤A2:解析工程造价文件,形成待计算BCL元素并配置工程反应器模块数据; [0066]针对工程造价文件中包含的计算需求,生成相应种类和数量的待计算BCL元素。 [0065] Step A2: parsing the file construction cost, and is formed to be calculated BCL element module data engineering reactor configuration; [0066] construction cost for computing needs file contains produce the corresponding type and quantity of elements to be calculated BCL. 以电力工程造价中单个项目划分为例,内部包含的取费宏表生成对应BCL宏表元素,其对应的工程量作为BCL数据源元素配置存储在工程反应器模块中,参与后续BCL元素的计算; In power engineering project into a single cost, for example, take the fee table contained within the macro to generate a corresponding BCL macro table elements corresponding quantities as BCL data stored in the project source element disposed reactor modules, elements involved in computing subsequent BCL ;

[0067] 步骤A3:对BCL元素进行编译执行,生成包含计算过程和过程数据的BCL对象,得出计算结果,保存在工程造价文件中。 [0067] Step A3: BCL elements of compiler implementation, generates a BCL object computing process and process data, obtained calculation result is stored in the project cost file.

[0068]采用专用语法分析器,在工程反应数据及工程环境数据的协同下,把待计算BCL元素编译成BCL语法树,进而生成具有层次结构的BCL对象(如图3所示)存入BCL文档中。 [0068] using a dedicated parser, response data in the collaborative engineering and environmental engineering data, the element to be calculated BCL BCL compiled syntax tree, and further objects BCL generates a hierarchical structure (FIG. 3) stored BCL document. 此时, 为避免同一计算需求下的重复编译,可利用BCL脚本文件生成器和脚本解析器分别生成和解析工程BCL脚本文件,以记录和还原编译结果。 At this time, in order to avoid repeating the same computing compiled in demand may be utilized BCL script file and the script parser generators generate and parse the project BCL script file, to record and compile the results of the reduction. 解释执行BCL对象,依据相应BCL数据源元素指定的数据范围,通过数据源包装对象关联真实数据,调用相关函数,计算得出过程数据和结果数据,分别保存在BCL语法树结点和BCL对象中。 BCL interpreted objects, according to the corresponding data source BCL range specified data element, associated with the source object to be packaged by real data, the correlation function calls, data and calculated process result data, are stored in the syntax tree nodes BCL and BCL object . 通过持久化操作,生成包含计算结果和计算轨迹在内的计算结果文件,存入工程文件当中。 By persistence operations, generates a results file and calculate the trajectory calculation results, including, among files stored in the project.

Claims (2)

  1. 1. 工程造价计算描述语言BCL的编译执行装置,其特征在于:所述装置包括BCL编译器装置、BCL脚本解析装置和BCL执行器装置; 所述BCL编译器装置用于对外界输入的待计算BCL元素进行编译处理,形成包含BCL语法树结构的BCL对象;内部过程涉及工程反应器模块、工程环境模块、工程文件解析模块、工程语法分析模块和分析上下文模块; 其中,待计算BCL元素由工程文件解析模块生成,被传递给工程语法分析模块;依据BCL 元素类型的不同,控制BCL元素编译,获取相应待计算EL表达式集合,所述EL表达式是对计算算法规则的一个完整描述,以${和}作为起始和结束标记;所述EL表达式包含种类多元化的操作数,支持数值、字符串和变量等类型,其中,变量类型操作数是所述EL表达式支持动态数据挂接的典型体现,其值可以为外部对象的引用,也可以为执行阶段设定的 1. engineering cost calculation executing means description language compiler BCL, characterized in that: said means comprises a compiler apparatus BCL, BCL script analyzing apparatus and BCL actuator means; said BCL compiler apparatus to be used to calculate the external input BCL elements compile processing, formed BCL object contains BCL syntax tree structure; internal process involves engineering the reactor module, project environment module, project file parsing module, engineering parsing module and a context analysis module; wherein, be calculated BCL element by the Engineering parsing module file generated is transmitted to the parsing module works; BCL elements according to different types, the compiler BCL control element EL to be calculated to obtain the corresponding set of expressions, the expressions EL is a complete description of the rule calculation algorithm to {$} and a start and end markers; the expression containing the operand type EL diversified type of support number, string, and other variables, where the variable is the type of operand data hanging support dynamic EL expression then typical embodiment, the value may be an external reference to an object may be set as the execution phase 体数据值; 在分析上下文模块的协助下,对其进行词法和语法分析,生成被称之为BCL语法树的内存对象,并关联到相应BCL对象中; 其中,所述BCL元素是最小待计算单元,内部包含描述计算算法规则的EL表达式集合; 与BCL语言体系中的原子计算逻辑单元相对应,BCL元素至少应包含BCL包元素、BCL变量元素、BCL宏表元素、BCL记录元素、BCL字段元素、BCL参数元素和BCL数据源元素七种;其中, BCL包元素作为其它元素的容器存在,不具备值表达式; 而BCL变量元素包含BCL数据源元素对象、过滤表达式和值表达式,通过执行过滤表达式,可从数据来源中筛选形成符合条件的数据范围,应用于其值表达式的计算过程当中; 所述BCL脚本解析装置包含了BCL脚本文件生成器和脚本解析器,用于实现BCL对象集合与BCL脚本文件之间的相互转换,能够有效记录或还原指定BCL对 Volume data values; assistance context analysis module, its lexical and syntax analysis to generate a memory object syntax tree is called BCL, BCL and associated to a respective object; wherein the BCL is the smallest element to be calculated means comprising internal calculation algorithm described EL rule expression set; and BCL atom in the language system corresponding to a logical unit, the element must contain at least BCL BCL package element, the variable elements BCL, BCL macro table elements, the recording elements BCL, BCL field elements, BCL parameter elements and the data source BCL seven kinds of elements; wherein, BCL package element as a container for other elements present, does not have the value of the expression; BCL and BCL variable element contains a data element source objects, and the filter expression value expression , by performing the filter expression can be screened from the data source is formed qualified data range, which is applied to the calculation of the value of the expression thereof; said BCL BCL script analyzing means comprises a script file and a script parser generator, with BCL set of objects to achieve conversion between the BCL script file can be specified efficiently recording or reduction of BCL ; 所述BCL执行器装置在经编译处理之后,解释执行生成的BCL对象,将过程数据和计算结果分别存储在BCL语法树结点和BCL对象当中; BCL执行器装置内部包含BCL对象计算模块、结点计算模块、运行上下文模块、函数注册器模块和数据包装模块;其中,BCL对象计算模块控制BCL对象的解释执行过程,利用结点计算模块对BCL对象内部包含的BCL语法树中的每个结点进行计算,并将计算过程和过程数据记录在各结点当中,进而获取计算结果数据,完成执行任务。 ; BCL said actuator means after the treatment compiled, interpreted BCL target generated process data and calculation results are stored in the syntax tree nodes BCL and BCL among objects; internal BCL BCL actuator means comprises a calculation module objects, node calculation module, the module execution context, the function module and a data register packing module; wherein, BCL object computing module interprets perform process control object BCL, BCL using the syntax tree nodes BCL internal calculation module included in each of the objects node calculation, and the calculation process and the process of recording data in which each node, then obtain the calculation result data, to complete the tasks.
  2. 2. 工程造价计算描述语言BCL的编译执行方法,其步骤如下: 第一步:分析BCL元素,获取待计算EL表达式集合; 所述EL表达式是对计算算法规则的一个完整描述,以${和Η乍为起始和结束标记;所述EL表达式包含种类多元化的操作数,支持数值、字符串和变量等类型,其中,变量类型操作数是所述EL表达式支持动态数据挂接的典型体现,其值可以为外部对象的引用,也可以为执行阶段设定的具体数据值; 在沿袭传统代数表达式运算特点的同时,EL表达式包含多种条件选择表达式的条件选择运算和完成具体计算规则的函数运算; 所述条件选择表达式以#{和Η乍为起始和结束标记,其内部包含多个条件分支和至多一个缺省条件分支,每个分支对应一个EL表达式,整个条件选择表达式的取值为当前被激活条件分支对应的EL表达式计算结果,如: Η ->条件1 : EL表达式 2. The method of performing engineering cost calculation compiled language BCL described, comprises the following steps: first step: BCL element analysis, to be calculated EL obtain expression set; the EL expression is a complete description of the rule calculation algorithm to $ and Chad {Η of start and end markers; the expression containing the operand type EL diversified type of support number, string, and other variables, where the variable is the type of operand data hanging support dynamic EL expression then typical embodiment, the value may be a reference to an external object, a data value may be a specific set of execution stage; followed in a conventional algebraic expression calculation characteristics simultaneously, the EL expression comprising a plurality of condition selection conditions are selected expression perform specific operations and arithmetic function calculation rules; the conditional expression to select and # {Η Chad to start and end tags, which comprises a plurality of internal conditions and up to a default condition branches branches, each corresponding to an EL expression, whole expression conditions are selected for the current value is calculated corresponding to the conditional branch activated EL expression results, such as: Η -> condition 1: EL expression 1 ; ->条件2 : EL表达式2 ; -> : :EL表达式3: }: 所述函数运算定义了具体的计算规则,以满足工程造价特定计算需求;其语法结构与C 语言兼容,并支持BCL的扩展数据类型;除此之外,所述函数的调用还支持把EL表达式作为参数进行输入,能够实现指定工程数据范围与EL表达式的动态绑定,进而减少表达式代码冗余,语法格式为: sum(数据源标记,数据源包装名,?EL表达式); 根据BCL元素类型的不同,采取不同的分析过程,包括: (1) 若为BCL包元素,则先转向执行第四步;所述包为其它原子计算逻辑单元的容器,能划定计算逻辑单元的作用范围,屏蔽命名冲突;再将该包元素中的所有BCL元素转向执行第一步; (2) 若为BCL宏表元素,则先将内部包含的所有BCL记录元素转向执行第一步,再获取当前宏表元素对应的EL值表达式;所述宏表能完整的表示一个具有递归、多 1; -> Condition 2: EL Expression 2; ->:: EL Expression 3:}: the operational function defines a specific calculation rule to meet specific computing needs of the project cost; C language and grammatical structure which is compatible, supports extended data types and BCL; and in addition, the function call further supported the EL expressions entered as parameters, it is possible to achieve dynamic binding engineering data specified range of the EL expressions, thereby reducing expression code redundancy I, syntax is: sum (? mark data sources, data source wrapper name, EL expressions); depending on the type of BCL elements, taking different analytical processes, including: (1) if it is BCL package elements, the first turn performing a fourth step; logical unit calculating said packet to another atom containers can delineate the scope computation logic means, shielding naming conflicts; BCL then all elements in the packet steering elements first step performed; (2) If the macro is BCL table elements, the first element of all records contained within BCL turn do the first step, then get the current macro table elements corresponding to the value of EL expression; the macro sheet can fully represents a recursive, multi- 段、多记录、有汇总关系的计算规则; (3) 若为BCL记录元素,则先将内部包含的所有BCL记录元素和BCL字段元素执行第一步,再获取该记录元素对应的EL值表达式; (4) 若为BCL字段元素,则直接获取当前字段元素对应的EL值表达式; (5) 若为BCL变量元素,则先从工程反应器对象中获取当前变量元素对应的BCL数据源元素,生成相应BCL数据源对象;并关联到当前分析上下文对象中,然后获取变量元素对应的过滤表达式及值表达式;所述变量是包含数据源、数据过滤算法以及费用计算算法规则在内的具体费用计算结构,相较与仅包含具体数值的参数而言,变量的计算有一定的先后次序,更为复杂,但功能强大; (6) 若为BCL参数或数据源元素时,则转向执行第四步;所述数据源用于描述一个工程的数据及其数据范围,它是BCL语言与工程数据的粘合剂,实现真实数据 Segment, multiple recording, there is the relationship between the summary calculation rules; (3) when the recording element is BCL, all contained within the first recording elements and BCL BCL field element performs the first step, and then obtain the value expressed EL element corresponding to the record of formula; (4) If it is BCL field elements, direct access to the value of the expression EL elements corresponding to the current field; (5) If it is BCL variable element, the element corresponding to the acquired current variable data source start BCL reactor engineering object element, BCL generates the corresponding source object data; and the analysis context object associated with the current, and then obtain the corresponding variable value expression elements and a filter expression; comprising said variable data source, data filtering algorithm and fee calculation algorithm rules included specific costing structure, compared with a particular value in terms of parameters comprising only calculates certain variable priorities, more complex, yet powerful; (6) If the data source for the parameter or BCL elements, steering performing a fourth step; a data source for a data description and a data range of the project, it is an adhesive BCL language and engineering data to achieve real data 传递; 第二步:对EL表达式进行词法分析,生成有效单词序列; 第三步:在工程反应数据及工程环境数据的协同下,采用语法分析器,处理序列中的所有单词,生成相应BCL语法树结点,进而形成完整的BCL语法树;该过程若存在语法错误,则转向执行第九步; BCL语法树结点包含结点值属性、结点类型属性、当前结点引用的对象地址值以及左右结点的关联属性;当单词类型为变量型操作数时,语法分析器将该单词传递给当前分析上下文模块,进行变量匹配; 若匹配不成功,则生成未知变量结点;若匹配成功,则创建引用变量结点;分析匹配结果类型,若为BCL元素,则先将该BCL元素进行编译处理,生成对应BCL对象,作为当前引用变量结点的外部引用对象; 若为BCL对象,则直接将当前引用变量结点指向该BCL对象; 第四步,创建相应BCL对象,并关联经语法分 Transfer; Step: EL expressions lexical analysis, to generate a valid word sequence; The third step: the synergistic response data and engineering project data environment, using parser processing of all words in the sequence, generating a corresponding BCL syntax tree node, thus forming a complete BCL syntax tree; the process if a syntax error, then go to step IX; BCL syntax tree node contains the value of the attribute node, the node type attribute, the object referenced by the current node address attribute value associated with the left and right node; when a word operand type is the variable type, the parser is passed to the current word context analysis module for matching variable; if the matching is unsuccessful, the unknown variable is generated node; if the matching successful, reference variable node is created; analysis results matching type, if it is BCL element, the first element is compiled BCL, and generates an object corresponding to the BCL, as the current reference node external variables referenced object; if BCL objects, the current reference variable directly points to the BCL target node; a fourth step, creating a corresponding BCL objects and points associated syntax 后得到的BCL语法树; 利用BCL脚本文件生成器和脚本解析器分别生成和解析工程BCL脚本文件,实现记录和还原编译结果; 第五步,通过对生成的BCL对象进行分析,获取待计算BCL语法树对象; 根据BCL对象类型的不同,采取不同分析方式: (1) 若为BCL包对象,则将当前包对象中的所有BCL对象执行第五步; (2) 若为BCL宏表、记录或字段对象,则先让内部对象执行第五步,再将其对象本身对应的BCL语法树执行第六步,得到当前对象的结果值; (3) 若为BCL变量对象,则先将过滤表达式对应的BCL语法树执行第六步,对原始BCL数据源进行过滤,再将值表达式对应的BCL语法树对象执行第六步,得到当前变量对象的结果值; (4) 若为BCL参数或数据源对象时,则不做处理; 第六步,解释执行当前BCL语法树,按照后序遍历的方式处理语法树中的结点; 同时,将计算过程及 After obtaining the BCL syntax tree; the use of BCL script file and a script generator generate parser and parse the project BCL script file, and restore records to compile the results achieved; the fifth step, the analysis generated by BCL objects, get to be calculated BCL syntax tree object; BCL depending on the type of object, take different analytical methods: (1) If the packet object is the BCL, the current BCL all objects in the package object fifth step is performed; (2) if it is BCL macro table, the recording or field object, let the object to perform an internal fifth step, a sixth step then performs its own target syntax tree corresponding to the BCL to obtain the current result value of the object; (3) if it is BCL variable object, the first filter expression BCL syntax tree corresponding to the formula sixth step of performing, the original data source BCL filtered and the value of the expression syntax tree corresponding BCL object performs a sixth step, to obtain the result value of the current variable object; (4) If the parameter of BCL or data source object, then no treatment; a sixth step, interpreted BCL current syntax tree, the nodes in the syntax tree processing according to the embodiment postorder traversal; simultaneously, and the calculation process 程数据保存在BCL语法树的各个结点当中; 该过程涉及的处理包括: (1) 若当前结点为传统代数运算符结点,则分别计算并获取左右结点值,作为左右操作数,进行代数运算,并将运算结果值作为当前结点的值; (2) 若当前结点为引用变量结点,则将该结点对应的外部引用对象的值作为当前结点的结果值; (3) 若当前结点为函数参数EL表达式结点,则忽略计算该结点及其左右子树,待执行相应函数时,再进行计算; (4) 若当前结点为函数结点,则利用函数注册器,匹配并执行相应函数; (5) 若当前结点为未知变量结点,则匹配并设置为当前运行上下文中数据源的属性值; 第七步,判断是否存在错误信息,若存在,则转向执行第九步;反之,执行第八步; 第八步,将BCL语法树对象的根结点的值作为当前BCL对象的结果值,进而完成执行任务,流程结束; 第 Process data stored in each node BCL syntax tree among; treating the process includes: (1) if the current node is a conventional algebraic operator node, respectively calculated and acquired around node value, as the left and right operands, algebraic calculation, and the calculation result value as a current node; value (2) if the current node is a reference variable node, the node corresponding to the object as a result of external reference value of the current node; ( 3) If the current node is an expression node EL function parameter is ignored and the node calculates left and right subtrees, to be executed when a corresponding function, and then calculated; (4) as a function of the current node if the node, then using the function registered, matching and performs a corresponding function; (5) if the current node is a node of unknown variables, and the matching property values ​​set to the current operating context of data sources; seventh step, it is determined whether there is an error message, if is present, then go to step IX; otherwise, performing the eighth step; eighth step, the value of the root of the syntax tree BCL target of the current result value of the BCL object, thereby completing the mission, the process ends; first 九步,生成相应错误信息报表,流程结束。 Nine steps to generate the corresponding error message report, the process ends.
CN 201310687744 2013-12-17 Project cost computing device to perform bcl compiled language and compiler implementation method described CN103645929B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201310687744 CN103645929B (en) 2013-12-17 Project cost computing device to perform bcl compiled language and compiler implementation method described

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201310687744 CN103645929B (en) 2013-12-17 Project cost computing device to perform bcl compiled language and compiler implementation method described

Publications (2)

Publication Number Publication Date
CN103645929A true CN103645929A (en) 2014-03-19
CN103645929B true CN103645929B (en) 2016-11-30

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1265488A (en) * 2000-03-06 2000-09-06 周大凯 Program executing method
US6138269A (en) * 1998-05-20 2000-10-24 Sun Microsystems, Inc. Determining the actual class of an object at run time
CN102053994A (en) * 2009-11-10 2011-05-11 阿里巴巴集团控股有限公司 Language parser and parsing method using same
CN102207949A (en) * 2010-07-15 2011-10-05 优视科技有限公司 Browser script resolving method and device for mobile communication equipment terminal
CN102375826A (en) * 2010-08-13 2012-03-14 中国移动通信集团公司 Structured query language script analysis method, device and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138269A (en) * 1998-05-20 2000-10-24 Sun Microsystems, Inc. Determining the actual class of an object at run time
CN1265488A (en) * 2000-03-06 2000-09-06 周大凯 Program executing method
CN102053994A (en) * 2009-11-10 2011-05-11 阿里巴巴集团控股有限公司 Language parser and parsing method using same
CN102207949A (en) * 2010-07-15 2011-10-05 优视科技有限公司 Browser script resolving method and device for mobile communication equipment terminal
CN102375826A (en) * 2010-08-13 2012-03-14 中国移动通信集团公司 Structured query language script analysis method, device and system

Similar Documents

Publication Publication Date Title
Paterson A new notation for arrows
Bravenboer et al. Stratego/XT 0.17. A language and toolset for program transformation
Visser Program transformation with Stratego/XT
Barbacci Instruction set processor specifications (ISPS): The notation and its applications
Visser Stratego: A language for program transformation based on rewriting strategies system description of stratego 0.5
Mens et al. Formalising behaviour preserving program transformations
Bravenboer et al. Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions
Fiore et al. Abstract syntax and variable binding
US7376939B1 (en) System for architecture and resource specification and methods to compile the specification onto hardware
Grimm Better extensibility through modular syntax
US20070044066A1 (en) Embedded multi-language programming
US6346945B1 (en) Method and apparatus for pattern-based flowcharting of source code
Van Den Brand et al. Generation of components for software renovation factories from context-free grammars
US7313773B1 (en) Method and device for simulator generation based on semantic to behavioral translation
Agrawal et al. An end-to-end domain-driven software development framework
Beazley Automated scientific software scripting with SWIG
US20050015759A1 (en) Method and system for translating programming languages
US7150010B1 (en) Unification of a programming language and a definition language
Moonen Generating robust parsers using island grammars
Syme et al. Expert F♯
Hendren et al. Designing the McCAT compiler based on a family of structured intermediate representations
Leupers et al. Retargetable compiler technology for embedded systems: tools and applications
US20110295865A1 (en) Schema Contracts for Data Integration
Muller et al. Model-driven analysis and synthesis of concrete syntax
Atkey et al. Productive coprogramming with guarded recursion