IP Library Granted Patent US 9,086,931
Granted Patent B2
US 9,086,931 · App. 14/173,316 · Granted Jul 21, 2015

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,086,931
App. No.
14/173,316
Granted
Jul 21, 2015
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 (44)

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

a computer having software executing thereon, the software comprising:

a translation module;

an emulated Application Programming Interface (API) library module including a table, 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 the table 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;

a generation module generating second OOP computer language source code based in part upon identified equivalent functions in the second computer language.

2. The tool according to claim 1 wherein the translator is a bi-directional translator.

3. The tool according to claim 2 wherein said translation module accesses said library and correlates the type of data manipulation the second computer language source code performs to first computer language source code.

4. The tool according to claim 3 wherein the correlation from the second computer language to the first computer language is independent of the context in which the second computer language source code is used, said generation module generates re-translated first computer language source code that emulates the type of data manipulation the second computer language source code performs.

5. The tool according to claim 2 wherein the re-translated first computer language source code equates to the first computer language source code in: context, syntax, form of expression and formatting.

6. The tool according to claim 1 wherein said translation module performs a name adjustment when an incompatibility between the first computer language source code and the second computer language source code occurs.

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

8. The tool according to claim 7 wherein the class consists of units selected from the group consisting of: methods, data fields, inner-classes, and combination thereof.

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

10. The tool according to claim 9 wherein said translation module performs a name adjustment when an incompatibility between the identifier and the second computer language source code occurs.

11. The tool 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.

12. The tool according to claim 11 wherein the tagged element comprises information selected from the group consisting of: formatting, translation data, and first computer language source code.

13. The tool according to claim 1 wherein the first computer language is Java and the second computer language is C++, C#, or Objective-C.

14. The tool according to claim 1 wherein the first computer language is C# and the second computer language is C++ or Objective-C.

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

16. The tool according to claim 15 wherein the scripting language is selected from the group consisting of JavaScript, Ruby, Python, Perl and PHP.

17. The tool according to claim 1 wherein said computer comprises a server, and a user accesses the server via a user computer connected to the server via a network connection.

18. A method for providing source code in a desired Object-Oriented Programming (OOP) computer language, the method comprising the steps of:

providing a server having a network connection and an interface allowing a user computer to access the sever via the network connection;

presenting the user with a plurality of source code functionality corresponding to a plurality of files;

receiving a selection of from the user of a selection of at least one of the plurality of files;

receiving a desired OOP computer language selection from the user;

providing a translation tool executing on the server, the translation tool having:

an emulated Application Programming Interface (API) library including a table, the 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;

accessing the table of the 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

generating second OOP computer language source code based in part upon identified equivalent functions in the second computer language.

19. The method of claim 18 further comprising the step of transmitting a notification to the user when the second OOP computer language source code is generated.

20. The method of claim 19 wherein the notification includes the generated second OOP computer language source code.

21. The method of claim 19 wherein the notification includes a link directing the user to a location where the user may download the generated second OOP computer language source code.

22. The method of claim 19 further comprising the steps of:

receiving a preview request from the user; and

presenting a preview of the second OOP computer language source code to the user.

23. The method of claim 19 further comprising the steps of:

receiving a program execution request from the user; and

executing the second OOP computer language source code on the server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2014
From: VARGAS, BYRON D.
To: PURENATIVE SOFTWARE CORPORATION
Reel/Frame 032701/0507 →
Continuity (5)
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 20140157243A1 · Jun 5, 2014