IP Library Granted Patent US 9,965,259
Granted Patent B2
US 9,965,259 · App. 14/709,156 · Granted May 8, 2018

System for translating diverse programming languages

Inventor: Byron D. Vargas (Brooklyn, NY)
Assignee: PureNative Software Corporation
G06F8/51
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,965,259
App. No.
14/709,156
Granted
May 8, 2018
Kind
B2
Abstract

A computer language translator that translates all or any portion thereof of source code in an original computer language to source code in a target computer language, which may then be translated back to the original language while still maintaining concept, syntax, form of expression, and formatting of the original source code. The translator may take the form of a tool that resides on a server such that the user may select file of source code corresponding to desired functionality and the user may indicate which computer language the file should provided in. The tool will then translate the selected file to the desired computer language.

Claims (38)

1. A computer language translation system for converting a first Object-Oriented Programming (OOP) computer language source code to a second OOP computer language source code, the system comprising:

a computer having a storage, said computer having software executing thereon and including:

a translation module having specific language knowledge of the first and second OOP computer languages;

an emulated Application Programming Interface (API) library module to facilitate mapping of functions in the first and second OOP computer languages, said API library having:

data indicative of types of data manipulations of the first OOP computer language source code;

second computer language API equivalent functions callable by said second computer language;

said translation module utilizing the specific language knowledge and said API library and correlating the type of data manipulation the first OOP computer language source code performs to second OOP computer language source code; and

a generation module generating second OOP computer language source code.

2. The system according to claim 1 where said translation module is a bi-directional translator.

3. The system according to claim 1 where the specific language knowledge of the first and second OOP computer languages includes a table.

4. The system according to claim 1 where second OOP computer language source code is generated is based in part upon identified equivalent functions in the second computer language.

5. The system according to claim 1 wherein the first computer language source code comprises a class.

6. The system according to claim 5 wherein the class comprises units including: methods, data fields, inner-classes, and combination thereof.

7. The system according to claim 1 wherein the first computer language source code comprises an identifier.

8. The system according to claim 1 wherein the first computer language source code comprises a lambda function.

9. The system according to claim 1 wherein said translation module generates a tagged element inserted in the second computer language source code indicative of a type of data manipulation the first computer language source code performs.

10. The system according to claim 9 wherein the tagged element comprises information including: formatting, translation data, and first computer language source code.

11. The system according to claim 1 wherein the first computer language is Java and the second computer language is C++, C#, Objective-C, Objective-C++, Swift, or Scala.

12. The system according to claim 1 wherein the first computer language is C# and the second computer language is C++, Objective-C, Objective-C++, Swift, or Scala.

13. The system according to claim 1 wherein the first or the second computer language is a scripting language.

14. The system according to claim 13 wherein the scripting language is selected from the group consisting of JavaScript, TypeScript, Ruby, Python, Perl and PHP.

15. The system according to claim 1 wherein the translation module comprises LLVM (Low Level Virtual Machine) compiler infrastucture.

16. The system according to claim 1 wherein a user accesses the computer with a user computer via a web page interface.

17. A computer language translation system for converting a first Object-Oriented Programming (OOP) computer language source code to a second OOP computer language source code, the system comprising:

a computer having a storage, said computer having software executing thereon and including:

a translation module;

an emulated Application Programming Interface (API) library module to facilitate mapping of functions in the first and second OOP computer languages, said API library having:

data indicative of types of data manipulations of the first OOP computer language source code;

second computer language API equivalent functions callable by said second computer language;

said translation module accessing mapped functions of said API library and correlating the type of data manipulation the first OOP computer language source code performs to second OOP computer language source code; and

a generation module generating second OOP computer language source code.

18. A method for translating a first Object-Oriented Programming (OOP) computer language source code that performs a data manipulation with a garbage collector to a second OOP computer language source code that performs a data manipulation without use of a garbage collector, the method executing on a computer having a storage and comprising the steps of:

analyzing the first OOP computer language source code to determine a type of data manipulation the first OOP computer language source code performs;

referencing an Application Programming Interface (API) library including second OOP computer language equivalent functions that perform the first OOP computer language data manipulations;

correlating the type of data manipulation of the first OOP computer language source code performs to a second OOP computer language equivalent function;

generating the second OOP computer language source code based on the identified equivalent functions such that the second OOP language source code emulates the type of data manipulation the first OOP computer language source code performs; and

the second OOP computer language referencing the API library to perform a data manipulation with the second OOP computer language source code that emulates the type of data manipulation the first OOP computer language source code performs, the second OOP computer language source code performing the data manipulation without use of a garbage collector.

19. The method according to claim 18 wherein the second OOP source code uses Automatic Reference Counting (ARC) or Component Object Module (COM) reference counting.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2015
From: VARGAS, BYRON D.
To: PURENATIVE SOFTWARE CORPORATION
Reel/Frame 037302/0221 →
Continuity (6)
Continuation In Part 14173316 · Feb 5, 2014
Continuation In Part 13680932 · Nov 19, 2012
Continuation In Part 12031279 · Feb 14, 2008
Continuation In Part 10716099 · Nov 17, 2003
Provisional Application 60427733 · Nov 20, 2002
Related Publication 20150242194A1 · Aug 27, 2015