G06F8/37

PERSISTENT CONTEXT FOR REUSABLE PIPELINE COMPONENTS

Techniques are provided for managing and isolating build process pipelines. The system can encapsulate all the information needed for each build process step in a build context structure, which may be accessible to the build process step. Each build process step can receive input from the build context, and can generate a child build context as output. Accordingly, the build pipeline may be parallelized, duplicated, and/or virtualized securely and automatically, and the build context can carry, organize, and isolate data for each task. The build context from each step can also be stored and subsequently inspected, e.g. for problem-solving. A computing device can execute a first build step configured to generate the build context including a plurality of output objects. The computing device further executes a second build step based on the build context, which is accessible to the second build step but isolated from other processes.

Dynamic command generation for automated control of computing machines

A system generates a command to cause a computing machine to collect information for an issue that occurred with an application. The command is stored in a command list and associated with a computing machine identifier for the computing machine. The system receives a query from the computing machine for the command list. The query includes the computing machine identifier and the system locates the command in the command list based on the command being associated with the computing machine identifier. The system then sends the command to the computing machine where the command dynamically causes the computing machine to collect the information for the issue with the application.

CONTRACTION AWARE PARSING SYSTEM FOR DOMAIN-SPECIFIC LANGUAGES

Aspects of the present invention disclose a method, computer program product, and system for parsing a domain-specific language (DSL) statement. The method includes one or more processors accessing a DSL statement that includes contracted phrases. The method further includes one or more processors identifying one or more contracted phrases in the DSL statement utilizing an annotated domain vocabulary for a DSL associated with the DSL statement and grammar rules for the DSL. The method further includes one or more processors determining expanded phrases corresponding to the identified one or more contracted phrases based on the annotated domain vocabulary and the grammar rules. The method further includes one or more processors creating an expanded abstract syntax tree (AST) that is representative of the DSL statement with the determined expanded phrases replacing the identified one or more contracted phrases.

METHOD FOR COMPILING CONCISE SOURCE CODE

Methods, systems, and computer readable media for compiling concise expressive design patterns within computer software source code are described. Some implementations can include methods and systems that resolve some problems of implementing design patterns in an OO and/or AO program. The disclosed technique facilitates writing programs that apply design patterns to its structure and behavior, in an easy manner. Some programming language constructs (associated with new keywords, syntax, and semantics) are disclosed that convey the goal of some design patterns in order to allow programmers to implement design patterns simply and concisely. These constructs are added as extensions to a compiler and a compiler-based approach to concise expressive design pattern source code is described.

SOURCE CODE COMPILER SYSTEM

Methods, systems, and computer readable media for compiling concise expressive design patterns within computer software source code are described. Some implementations can include methods and systems that resolve some problems of implementing design patterns in an OO and/or AO program. The disclosed technique facilitates writing programs that apply design patterns to its structure and behavior, in an easy manner. Some programming language constructs (associated with new keywords, syntax, and semantics) are disclosed that convey the goal of some design patterns in order to allow programmers to implement design patterns simply and concisely. These constructs are added as extensions to a compiler and a compiler-based approach to concise expressive design pattern source code is described.

Method and device for supporting multi-framework syntax

The present disclosure relates to a method and a device for supporting multi-framework syntax. The method includes a first abstract syntax tree corresponding to a HTML template and at least one JSX block is generated, a mapping relationship between each node of the first abstract syntax tree and syntax of a designated framework is determined, and the first abstract syntax tree is mapped to an abstract syntax tree of the designated framework according to the mapping relationship.

Contraction aware parsing system for domain-specific languages

Aspects of the present invention disclose a method, computer program product, and system for parsing a domain-specific language (DSL) statement. The method includes one or more processors accessing a DSL statement that includes contracted phrases. The method further includes one or more processors identifying one or more contracted phrases in the DSL statement utilizing an annotated domain vocabulary for a DSL associated with the DSL statement and grammar rules for the DSL. The method further includes one or more processors determining expanded phrases corresponding to the identified one or more contracted phrases based on the annotated domain vocabulary and the grammar rules. The method further includes one or more processors creating an expanded abstract syntax tree (AST) that is representative of the DSL statement with the determined expanded phrases replacing the identified one or more contracted phrases.

GENERATING CLOSURES FROM ABSTRACT REPRESENTATION OF SOURCE CODE
20200004513 · 2020-01-02 ·

A device may receive source code and identify, based on the source code, an abstract syntax tree representing an abstract syntactic structure of the source code. Based on the abstract syntax tree, the device may identify a closure, the closure implementing a function based on at least a portion of the abstract syntax tree. In addition, the device may perform an action based on the closure.

Unambiguous proxying of interface methods

A runtime environment identifies a request for a proxy object whose class implements a plurality of interfaces. Responsive to the request, the runtime object generates a class for the proxy object. Generating the class comprises determining that two or more interfaces, of the plurality of interfaces, define a respective method body with a same method signature. Responsive to determining that the two or more interfaces define a respective method body with a same method signature, the runtime environment may (a) omit a method body, in the class, for a particular method corresponding to the method signature, (b) include a method body that triggers a runtime error, or (c) include a method body that includes operations to select a default method declared in one of the two or more interfaces.

Optimizing source code from binary files

Various computing technologies for various reverse engineering platforms capable of outputting, including creating or generating, a human readable and high level source code, such as C, Fortran, LISP, or BASIC, from various binary files, such as application binaries, executable binaries, or data binaries, in an original language as developed pre-compilation. For example, some of such reverse engineering platforms can be programmed to disassemble binary files from different process architectures, identify various code optimizations as compiler introduced, reverse or unwind various compiler optimizations (de-optimize), and generate a human readable and high-level source code from de-optimized data.