IP Library Granted Patent US 10,120,661
Granted Patent B2
US 10,120,661 · App. 14/800,918 · Granted Nov 6, 2018

Multi-flavored software execution from a singular code base

Inventors: Andreas Sandberg (Pacifica, CA); Yuk Lai Suen (Menlo Park, CA)
Assignee: SUGARCRM INC.
G06F8/41G06F8/42G06F8/71G06F8/52G06F8/65G06F9/454G06F11/3636G06F11/3676G06F17/30905
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 10,120,661
App. No.
14/800,918
Granted
Nov 6, 2018
Kind
B2
Abstract

Embodiments of the present invention provide a method, system and computer program product for multi-flavored software execution from a singular code base. In an embodiment of the invention, a method for multi-flavored software execution from a singular code base is provided. The method includes receiving a request in an interpreter to interpret a version of source code of a computer program the interpreting transforming the source code into byte code executable by a virtual machine. The method thereafter includes responding to the request by performing in the interpreter source code interpretation only of selected portions of the source code being annotated by tags corresponding to the version.

Claims (19)

1. A method for multi-flavored software execution from a singular code base, the method comprising:

receiving a request in an interpreter to interpret a version of source code of a computer program that is interpretable in accordance with an interpretable programming language without building the version, the interpreting transforming the source code in the interpretable programming language into byte code executable by a virtual machine;

responding to the request by performing in the interpreter source code interpretation only of selected portions of the source code in the interpretable programming language that are annotated by tags corresponding to the version without building the version so as to produce byte code only for those portions of the source code in the interpretable programming language that are annotated by the tags corresponding to the version without building the version, while other portions of the source code in the interpretable programming language that are annotated by different tags corresponding to different versions of the source code are excluded from interpretation into byte code; and,

passing the byte code produced during interpretation to the virtual machine for execution.

2. The method of claim 1 , wherein the interpreter is a PHP hypertext processor interpreter.

3. The method of claim 1 , wherein the source code comprises multiple portions, each portion comprising an annotation indicating a particular corresponding version of the computer program.

4. A data processing system configured for multi-flavored software execution from a singular code base, the system comprising:

a host computing system comprising at least one computer with memory and at least one processor;

a virtual machine executing in the memory of the host computing system;

an interpreter executing in the virtual machine, the interpreter comprising program code enabled to receive a request to interpret a version of source code of a computer program that is interpretable in accordance with an interpretable programming language without building the version, the interpreting transforming the source code in the interpretable programming language into byte code executable by the virtual machine, to respond to the request by performing in the interpreter source code interpretation only of selected portions of the source code in the interpretable programming language that are annotated by tags corresponding to the version without building the version so as to produce byte code only for those portions of the source code in the interpretable programming language that are annotated by the tags corresponding to the version without building the version, while other portions of the source code in the interpretable programming language that are annotated by different tags corresponding to different versions of the source code care excluded from interpretation into byte code, and to pass the byte code produced during interpretation to the virtual machine for execution.

5. The system of claim 4 , wherein the interpreter is a PHP hypertext processor interpreter.

6. The system of claim 4 , wherein the source code comprises multiple portions, each portion comprising an annotation indicating a particular corresponding version of the computer program.

7. The system of claim 4 , wherein the program code is included as an extension to the interpreter.

8. A computer program product for multi-flavored software execution from a singular code base, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to perform a method comprising:

receiving a request in an interpreter to interpret a version of source code of a computer program that is interpretable in accordance with an interpretable programming language without building the version, the interpreting transforming the source code in the interpretable programming language into byte code executable by a virtual machine;

responding to the request by performing in the interpreter source code interpretation only of selected portions of the source code in the interpretable programming language that are annotated by tags corresponding to the version without building the version so as to produce byte code only for those portions of the source code in the interpretable programming language that are annotated by the tags corresponding to the version without building the version, while other portions of the source code in the interpretable programming language that are annotated by different tags corresponding to different versions of the source code are excluded from interpretation into byte code; and,

passing the byte code produced during interpretation to the virtual machine for execution.

9. The computer program product of claim 8 , wherein the interpreter is a PHP hypertext processor interpreter.

10. The computer program product of claim 8 , wherein the source code comprises multiple portions, each portion comprising an annotation indicating a particular corresponding version of the computer program.

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2018
From: SUGARCRM INC., AS GRANTOR
To: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS COLLATERAL AGENT
Reel/Frame 046673/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2015
From: SANDBERG, ANDREAS; SUEN, YUK LAI
To: SUGARCRM INC.
Reel/Frame 036114/0095 →
Continuity (1)
Related Publication 20170017471A1 · Jan 19, 2017
Cited By (3)
US 12,197,918 US 12,273,421 US 12,289,490