摘要:
A computing device for receiving a design problem statement describing a design problem in a controlled natural language (CNL) that defines permitted lexicons and syntax structures. The design problem statement is processed using the CNL lexicons and syntax structures to produce a job description executable by a design application for generating a design solution for the design problem statement. An improved CNL user interface that assists users to produce valid design problem statements that are CNL-compliant. The CNL user interface receives user-selectable terms that are compliant with the CNL lexicons and generates candidate problem statements that are compliant with CNL syntax structures and receives a selection of a candidate problem statement that is added to the design problem statement. A graphical user interface may display a graphical representation of a design problem statement that can be directly modified. A dialogue-based design process to explore possible design intentions and design solutions.
摘要:
The invention provides a computer-implemented method of analyzing symbols in a computer system, the symbols conforming to a specification for the symbols, in which the specification has been codified into a set of computer-readable rules; and, the symbols analyzed using the computer-readable rules to obtain patterns of the symbols by determining the path that is taken by the symbols through the rules that successfully terminates, and grouping the symbols according to said paths, the method comprising; upon receipt of a message at a computer, performing a lexical analysis of the message; and, in dependence on lexical analysis of the message assigning the message to one of the groups identified according to said paths. The invention also provides a computer programmed to perform the method and a computer program comprising program instructions for causing a computer to perform the method.
摘要:
An embodiment method of global scope basic-block reordering includes profiling an application having a source code decomposable into a plurality of basic-blocks. The profiling yields a global basic-block sequence. The method also includes generating a hierarchical locality model according to the global basic-block sequence. The method also includes generating a target code according to the hierarchical locality model.
摘要:
A system and method can support context-dependent expression compilation in a programming language environment. A compiler in the programming language environment can provide one or more context objects that operate to compile various context-dependent expressions in different programming contexts. Then, the compiler can use a said context object to derive a target type associated with a context-dependent expression, and use the context object to perform compatibility check for the context-dependent expression in the programming language environment.
摘要:
Programming abstractions with at least one expression are composed to a single abstraction using a composition operator. Expressions from the abstractions are unfolded by removing the prefix of each abstraction and substituting formal parameter names in each expression with a common parameter name to define open variables. The unfolded expressions are transformed to a reduced expression using a composition pattern that tunes semantics of the composition operators. The reduced expression is nested in the single abstraction by: appending a selected prefix of the composed abstraction to the reduced expression, binding the open variables of the reduced expression to the formal parameter of the selected prefix, and computing the type of the formal parameter of the selected prefix.
摘要:
The grammar of this invention is an approach to regular expressions which introduces advantages to programmers who use regular expressions for scanning, searching, and tokenizing text: Allowing composition of regular expressions (patterns) through the standard C/Cnullnull operators (using C/Cnullnull precedence and associativity), thus appealing to a huge audience of programmers already familiar with that style of grammar. Generalizing the negated character-class (so familiar to Perl programmers) in a way that quite dramatically allows ANY pattern composition to be used for searching (the nullsubjunctivenull binary composition). Integrating into an elegantly simple grammar form (nulldo-patternnull) the ability to create arbitrary side-effects of tokenization, accomplished in prior art through a cumbersome combination of tokenizing expressions and parse trees, such as in the grammar style of Lex-Yacc. Generalizing the capture-to-variable feature (as seen in Perl), allowing the capture of portions of the stream (match sub-expressions) into any variable current in the scope of the regular-expression. Allowing the parameterization of production rules, as templates, which allow similar (in form) regular expressions to be written as multiple instantiations of the same production rule template (accomplished via in params). Further allowing parameterization of production rule templates to extend to the capture output of the expressions (accomplished via a combination of nulldo-patternsnull, nullcapture-patternsnull, and out or in/out params). Creating novel support algorithms (to accomplish the above) not seen in any texts on finite automata.
摘要翻译:本发明的语法是对正则表达式的方法,它为使用正则表达式扫描,搜索和标记文本的程序员带来了优势:允许通过标准C / C ++运算符组合正则表达式(模式)(使用C / C ++优先级 和联想),从而吸引已经熟悉这种语法风格的程序员的大量受众。 以非常显着地允许任何模式组合用于搜索(“subjunctive”二进制组合))的方式来概括否定角色类(Perl程序员熟悉)。 整合成一个优雅简单的语法形式(“do-pattern”)创建任意的令牌化副作用的能力,在现有技术中通过令牌化表达式和解析树的麻烦组合完成,如Lex-Yacc的语法风格 。 对捕获到变量特征进行泛化(如Perl所示),允许将流的一部分(匹配子表达式)捕获到正则表达式范围内的任何变量电流。 允许生产规则的参数化,作为模板,允许将类似的(在形式中)正则表达式写为同一生产规则模板的多个实例(通过参数完成)。 进一步允许生产规则模板的参数化扩展到表达式的捕获输出(通过“do-patterns”,“capture-patterns”,out或in / out参数的组合完成)。 在有限自动机的任何文本中创建新的支持算法(完成上述)。
摘要:
A novel method and system for representing a high-level programming language data structure in a mark-up language is provided, in which each variable of data structure is represented as a mark-up language element. The nesting of the elements represents the hierarchical relationship among the variables. Each element includes the name of the variable represented by the element and the type of the variable. The variable name may be included as the tag name, and the variable type may be included as an attribute. Additionally, a default value for the variable may be included as an attribute. Finally, comments to be included in the resulting high-level language source code may be represented in the body of the element.
摘要:
One aspect of the invention is a method of counting lines of source code. One of a plurality of sets of configuration data is selected wherein each set of the plurality of sets of configuration data is associated with at least one computer language. Collectively the plurality of sets of configuration data are associated with a plurality of computer languages and the selected set of configuration data comprises the keywords for a first computer language. A first file is parsed wherein the first file contains computer source code written in the first computer language to create a first token stream in response to the selected set of configuration data. A first list of statements is created in response to the first token stream and a count value is generated in response to the first list of statements.
摘要:
A method and apparatus are described for selective expansion of HDL macros for automated design modification. According to one embodiment of the present invention, the selective expansion of HDL macros allows for insertion of scan cells for selected signals into HDL design files comprising a hardware design while making the modified file look as much as possible like the designer's original HDL file by using an nullas ifnull approach to parsing HDL design macros, using multifaceted parser tokens, and using a three-tiered token list. In order to make the modified file look as much as possible like the designer's original HDL file all text except the required changes are preserved from the original file. To accomplish this, the parsing program used by the HDL scan insertion tool creates lists of tokens that record everything including spaces, tabs, and comments. Then to perform the modifications to the HDL, the token lists, representing nulllinesnull from the HDL file, are modified before they are written back out as the updated scan inserted HDL file.
摘要:
A compiler for a distributed object system in which functional requirements on system performance criteria can be entered as comments fields in an object oriented language (e.g. C++) which are ignored by a conventional compiler (to allow compilation of a single processor version of the program for debugging) but are interpreted by a pre-compiler to take into account system data when compiling code for the host computers of the distributed system. The system may be a telecommunications system.