Universal Transcompiling Framework for Cross-Platform Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software development approaches require rewriting code for different platforms, limiting efficiency and restricting debugging and development due to the need for similar virtual machines or re-implementation of APIs, and often involve creating new proprietary languages with high barriers for developers.

Innovation Solution

A transcompiling framework that generates a source abstract syntax representation in a common denominator language, allowing for transformation into multiple target languages without a virtual machine, enabling efficient cross-platform development and debugging using existing toolchains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code is rewritten for different platforms to achieve platform-specific optimization, then performance and native integration are improved, but development time and maintenance complexity increase

Engineering Contradiction:
Improveplatform integration qualityVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a universal transcompiling framework that enables a single source code written in a common denominator language to be transcompiled to multiple target platforms (JavaScript, C++, Objective-C, etc.). This multi-functional approach allows the same codebase to serve different platforms with native-like performance, eliminating the need for separate codebases while maintaining platform-specific optimization capabilities.

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

Solution Approach 2:

The patent introduces a common denominator language (CDL) as an intermediary between high-level source code and multiple target platforms. The CDL serves as a neutral intermediate representation that can be systematically transformed into various target languages through transcompilation, acting as a mediator that preserves platform independence while enabling native performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a virtual machine is used for transcompilation to enable cross-platform execution, then platform independence is achieved, but debugging capability and development toolchain support are limited

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoiddebugging capability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent extracts the transcompilation process from the virtual machine execution model, eliminating the need for a VM intermediary. By directly transcompiling source code to target platform code, the system removes the VM layer that blocks access to source code, thereby enabling full debugging capability and IDE support on target platforms while maintaining cross-platform compatibility.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If a proprietary programming language is created to achieve language-agnostic transcompilation, then platform independence is improved, but developer learning curve and toolchain support worsen

Engineering Contradiction:
Improvelanguage independenceVSAvoiddeveloper accessibility
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

Instead of creating a new proprietary language and requiring developers to learn it, the patent inverts the approach by using an existing common denominator language that developers already know. The transcompilation framework then transforms this familiar language into multiple target languages, reversing the traditional model where developers would need to learn a new language for cross-platform development.

Inventive Principle:
Principle #13The other way round (Inversion)

4Productivity

If low-level VM byte code transformation is used for transcompilation, then transcompilation efficiency is improved, but virtual machine similarity requirements and source code accessibility worsen

Engineering Contradiction:
Improvetranscompilation efficiencyVSAvoidvirtual machine compatibility requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the fundamental parameters of transcompilation by operating at the source code level rather than at the byte code level. This allows the system to handle diverse virtual machines and programming languages without requiring them to be similar, while maintaining high transcompilation efficiency through systematic transformation rules applied to the common denominator language syntax and semantics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9886249B2Universal transcompiling framework
Publication Date: 2018.02.06 SAP SE
  • US9886249B2 patent drawing
  • US9886249B2 patent drawing
  • US9886249B2 patent drawing

AI summary

Described herein is a transcompiling framework. In accordance with one aspect, the framework generates a source abstract syntax representation corresponding to source code written in a source language. The framework may determine validity of constraints of a common denominator language by parsing the source abstract syntax representation, wherein the common denominator language is a set of intersects provided by the source language and reachable by a target language. In response to determining the constraints are valid, the source abstract syntax representation may be transformed to a target syntax representation associated with the target language. The target syntax representation is then printed as transcompiled source code in the target language.