Extension Compiler Module for Scripting Language Adaptability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programming languages often lack the ability to introduce new functionality without modifying the core compiler, limiting their adaptability to different contexts and requiring knowledge of the core development team for extensions.

Innovation Solution

An extension compiler module that processes new keywords and generates executable machine code, allowing new functionality to be added without modifying the syntax or semantics of the source code, enabling multiple groups to work on the same compiler implementation and supporting usage in various contexts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If new keywords are introduced to add functionality to the programming language, then the adaptability and versatility of the language is improved, but the complexity of the core compiler increases and requires modification of the core system

Engineering Contradiction:
Improvelanguage adaptabilityVSAvoidcompiler complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the compiler into separate modules: a core compiler that handles the base programming language and extension modules that handle new keywords and functionality. This segmentation allows new features to be added without modifying the core compiler, resolving the contradiction between language adaptability and compiler complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary extension module that acts as a bridge between the core compiler and new functionality. The extension module processes new keywords and translates them into operations that the core compiler can handle, allowing language adaptation without direct modification of the core system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the core compiler is modified to support new functionality, then the functionality is integrated, but the ease of operation and accessibility for different development groups is reduced

Engineering Contradiction:
Improvefunctionality integrationVSAvoiddeveloper accessibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

By segmenting the compiler into core and extension components, different development groups can work independently on the core compiler and extension modules respectively. This improves ease of operation by allowing parallel development without requiring access to or knowledge of the core system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The extension module is designed to be self-contained and self-configurable, allowing extension developers to add functionality without needing to modify or understand the core compiler. The extension module automatically integrates with the core compiler through defined interfaces, making the system easier to operate for both core and extension developers.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If the compiler system is extended to support multiple contexts, then the versatility is improved, but the device complexity and maintenance difficulty increase

Engineering Contradiction:
Improvecontext supportVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The extension module is designed with universal interfaces that allow it to support multiple contexts and applications. The same extension module architecture can handle different types of extensions for different contexts, improving versatility without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The compiler system is made dynamic by allowing extension modules to be loaded, unloaded, and configured at runtime based on the specific context needed. This dynamic approach allows the system to adapt to different contexts without permanently increasing the core system's complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8997070B2Extension mechanism for scripting language compiler
Publication Date: 2015.03.31 SAP SE
  • US8997070B2 patent drawing
  • US8997070B2 patent drawing
  • US8997070B2 patent drawing

AI summary

A method for forming an extension to a scripting language compiler is disclosed. A compiler of a machine receives a source code that has a new keyword to a scripting language of the compiler. An extension compiler module processes the source code to support the new keyword. The compiler and the extension compiler module generate an executable machine code based on a process of the extension compiler module and the compiler.