Abstract: A method and a system are provided for translation of a set of characteristics of a data packet. In an embodiment, the method comprises receiving a plurality of first set of data packets at a processor. The plurality of first set of data packets have a second set of data packets and a third set of data packets. The second set of data packets includes a set of instructions indicative of a first set of characteristics. The third set of data packets includes a set of instructions indicative of the second set of characteristics. At least one or more of the second set of characteristics are translated into a third set of characteristics, and at least one or more of the first set of characteristics are translated into the third set of characteristics. Further, a source file indicative of third set of characteristics is generated for compilation.
[0001] The present invention relates generally to computer programming and, more particularly, to multi-language translation of source code.
BACKGROUND
[0002] Typically, computer programs are written in multiple different types of programming languages and a single compiler is provided for compilation of these multiple programming languages. Front end portions of the compilers relates to a fact that only one type of source language file can be “consumed” by a particular front end. That is, the compilers can only compile files which are written in a particular source language and are not flexible in receiving other source language files.
[0003] Typically, using multiple different source languages has its own set of benefits or advantages in performing some functions over other programming languages. However, building languages with different syntaxes consume a lot of time and effort to build simultaneously.
[0004] Thus, there is a need for a programming language with a syntax similar to that of multiple programming languages and a complier that compiles programming instructions as received from multiple programming languages.
OBJECTS OF THE PRESENT DISCLOSURE
[0005] Some of the objects of the present disclosure aimed to ameliorate one or more problems of the prior art or to at least provide a useful alternative are listed herein below.
[0006] An object of the present disclosure is to provide a method that facilitates to provide a compiler that supports cross platform compilation of applications.
[0007] An object of the present disclosure is to provide a method that facilitates to provide an application with source codes of multiple languages.
[0008] An object of the present disclosure is to provide a method that facilitates a complier to consume less time in coding in a single language and is functional for multiple platforms.
[0009] Another object of the present disclosure is to provide a method that facilitates execution of common language files by a single complier.
SUMMARY OF THE INVENTION
[00010] The present invention relates generally to computer programming and, more particularly, to multi-language compilation of software source code.
[00011] According to an aspect of the present disclosure is provided a method for translation of a set of characteristics, said method comprising : receiving, by a processor of a computing device associated with a user, a plurality of first set of data packets, one or more of the plurality of first set of data packets comprising a second set of data packets and a third set of data packets, wherein the second set of data packets are comprising a set of instructions indicative of a first set of characteristics and lacks a second set of characteristics, and the third set of data packets are comprising a set of instructions indicative of the second set of characteristics and lacks the first set of characteristics; translating, at the processor, at least one or more of the second set of characteristics of the second set of data packets into a third set of characteristics, and at least one or more of the first set of characteristics of the third set of data packets into a third set of characteristics, the translated third set of characteristics being stored in a fourth set of data packets; and generating, at the processor, a source file based on the stored fourth set of data packets, the fourth set of data packets comprising the third set of characteristics, where the third set of characteristics are representative of the first set of characteristics and the second set of characteristics.
[00012] According to an embodiment, the first set of data packets are representative of a source code programming statement.
[00013] According to an embodiment, the first set of characteristics is representative of a syntax representative of a first programming language.
[00014] According to an embodiment, the second set of characteristics is representative a syntax representative of a second programming language.
[00015] According to an embodiment, the first set of characteristics and the second set of characteristics comprise of one or more modules, one or more classes, one or more enumerations, and one or more methods associated with the second set of data packets and the third set of data packets respectively.
[00016] According to an embodiment, a set of instructions are provided at the processor to perform a language independent compilation of the fourth set of data packets comprising the third set of characteristics, wherein the language independent compilation of the fourth set of characteristics are representative of a compilation of the second set of data packets comprising the set of instructions indicative of the first set of characteristics and lacking the second set of characteristics, and the third set of data packets comprising the set of instructions indicative of the second set of characteristics and lacking the first set of characteristics.
[00017] According to an embodiment, the language independent compilation is performed using a multi-threading service.
[00018] According to an embodiment, the language independent compilation comprises at least one of the following phases: performing scanning; performing parsing; performing name resolution; performing semantic checking; and performing code generation.
[00019] According to an aspect of the present disclosure is provided a system for translation of a set of characteristics, the system comprising : a memory and a hardware processor configured to execute a set of instructions, said instructions comprising: receive a plurality of first set of data packets, one or more of the plurality of first set of data packets comprising a second set of data packets and a third set of data packets, wherein the second set of data packets are comprising a set of instructions indicative of a first set of characteristics and lacks a second set of characteristics, and the third set of data packets are comprising a set of instructions indicative of the second set of characteristics and lacks the first set of characteristics; translate at least one or more of the second set of characteristics of the second set of data packets into a third set of characteristics, and at least one or more of the first set of characteristics of the third set of data packets into a third set of characteristics, the translated third set of characteristics being stored in a fourth set of data packets; and generate a source file based on the stored fourth set of data packets, the fourth set of data packets comprising the third set of characteristics, where the third set of characteristics are representative of the first set of characteristics and the second set of characteristics.
[00020] Various objects, features, aspects and advantages of the present disclosure will become more apparent from the following detailed description of preferred embodiments, along with the accompanying drawing figures in which like numerals represent like features.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
[00021] In the figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label with a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
[00022] FIG. 1 illustrates exemplary functional components of a system in accordance with an embodiment of the present disclosure.
[00023] FIG. 2 illustrates exemplary implementation of the system in accordance with an embodiment of the present disclosure.
[00024] FIG. 3 illustrates another exemplary implementation of the system in accordance with an embodiment of the present disclosure.
[00025] FIG. 4 is a high-level flow diagram illustrating working of the system in accordance with an embodiment of the present disclosure.
[00026] FIG. 5 illustrates an exemplary computer system to implement the proposed system in accordance with embodiments of the present disclosure.
DETAILED DESCRIPTION
[00027] In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present invention. It will be apparent to one skilled in the art that embodiments of the present invention may be practiced without some of these specific details.
[00028] Embodiments of the present invention include various steps, which will be described below. The steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps. Alternatively, steps may be performed by a combination of hardware, software, firmware and/or by human operators.
[00029] Embodiments of the present invention may be provided as a computer program product, which may include a machine-readable storage medium tangibly embodying thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process. The machine-readable medium may include, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, PROMs, random access memories (RAMs), programmable read-only memories (PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions (e.g., computer programming code, such as software or firmware).
[00030] Various methods described herein may be practiced by combining one or more machine-readable storage media containing the code according to the present invention with appropriate standard computer hardware to execute the code contained therein. An apparatus for practicing various embodiments of the present invention may involve one or more computers (or one or more processors within a single computer) and storage systems containing or having network access to computer program(s) coded in accordance with various methods described herein, and the method steps of the invention could be accomplished by modules, routines, subroutines, or subparts of a computer program product.
[00031] While embodiments of the present invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions, and equivalents will be apparent to those skilled in the art, without departing from the spirit and scope of the invention, as described in the claim.
[00032] The present invention relates generally to computer programming and, more particularly, to multi-language compilation of software source code.
[00033] According to an aspect of the present disclosure is provided a method for translation of a set of characteristics, said method comprising : receiving, by a processor of a computing device associated with a user, a plurality of first set of data packets, one or more of the plurality of first set of data packets comprising a second set of data packets and a third set of data packets, wherein the second set of data packets are comprising a set of instructions indicative of a first set of characteristics and lacks a second set of characteristics, and the third set of data packets are comprising a set of instructions indicative of the second set of characteristics and lacks the first set of characteristics; translating, at the processor, at least one or more of the second set of characteristics of the second set of data packets into a third set of characteristics, and at least one or more of the first set of characteristics of the third set of data packets into a third set of characteristics, the translated third set of characteristics being stored in a fourth set of data packets; and generating, at the processor, a source file based on the stored fourth set of data packets, the fourth set of data packets comprising the third set of characteristics, where the third set of characteristics are representative of the first set of characteristics and the second set of characteristics.
[00034] According to an embodiment, the first set of data packets are representative of a source code programming statement.
[00035] According to an embodiment, the first set of characteristics is representative of a syntax representative of a first programming language.
[00036] According to an embodiment, the second set of characteristics is representative a syntax representative of a second programming language.
[00037] According to an embodiment, the first set of characteristics and the second set of characteristics comprise of one or more modules, one or more classes, one or more enumerations, and one or more methods associated with the second set of data packets and the third set of data packets respectively.
[00038] According to an embodiment, a set of instructions are provided at the processor to perform a language independent compilation of the fourth set of data packets comprising the third set of characteristics, wherein the language independent compilation of the fourth set of characteristics are representative of a compilation of the second set of data packets comprising the set of instructions indicative of the first set of characteristics and lacking the second set of characteristics, and the third set of data packets comprising the set of instructions indicative of the second set of characteristics and lacking the first set of characteristics.
[00039] According to an embodiment, the language independent compilation is performed using a multi-threading service.
[00040] According to an embodiment, the language independent compilation comprises at least one of the following phases: performing scanning; performing parsing; performing name resolution; performing semantic checking; and performing code generation.
[00041] According to an aspect of the present disclosure is provided a system for translation of a set of characteristics, the system comprising : a memory and a hardware processor configured to execute a set of instructions, said instructions comprising: receive a plurality of first set of data packets, one or more of the plurality of first set of data packets comprising a second set of data packets and a third set of data packets, wherein the second set of data packets are comprising a set of instructions indicative of a first set of characteristics and lacks a second set of characteristics, and the third set of data packets are comprising a set of instructions indicative of the second set of characteristics and lacks the first set of characteristics; translate at least one or more of the second set of characteristics of the second set of data packets into a third set of characteristics, and at least one or more of the first set of characteristics of the third set of data packets into a third set of characteristics, the translated third set of characteristics being stored in a fourth set of data packets; and generate a source file based on the stored fourth set of data packets, the fourth set of data packets comprising the third set of characteristics, where the third set of characteristics are representative of the first set of characteristics and the second set of characteristics.
[00042] Referring to the drawings, the invention will now be described in more detail.
[00043] FIG. 1 illustrates exemplary functional components 100 of a system in accordance with an embodiment of the present disclosure.
[00044] In an aspect, a translation system 120 (herein also referred to as system 120) may comprise one or more processor(s) 102. The one or more processor(s) 102 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that manipulate data based on operational instructions. Among other capabilities, the one or more processor(s) 102 are configured to fetch and execute computer-readable instructions stored in a memory 106 of the system 120. The memory 106 may store one or more computer-readable instructions or routines, which may be fetched and executed to create or share the data units over a network service. The memory 106 may comprise any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.
[00045] The system 120 may also comprise an interface(s) 104. The interface(s) 104 may comprise a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like. The interface(s) 104 may facilitate communication of system 120. The interface(s) 104 may also provide a communication pathway for one or more components of the processing engine 108. Examples of such components include, but are not limited to, processing engine(s) 108 and database 110.
[00046] The processing engine(s) 108 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) 108. The processing engine(s) 108 is stored on the memory 106 and runs on the processor(s) 102. In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) 108 may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) 108 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) 108. In such examples, the system 120 may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to system 120 and the processing resource. In other examples, the processing engine(s) 108 may be implemented by electronic circuitry.
[00047] The database 110 may comprise data that is either stored or generated as a result of functionalities implemented by any of the components of the processing engine(s) 108 or the system 120. In an embodiment, the processing engine(s) 108 may include data packets receiving engine 112, characteristics translation engine 114, source file generation engine 116. Other engine(s) 118 can supplement the functionalities of the processing engine 108 or the system 102.
[00048] In an embodiment, the data packets receiving engine 112 facilitates to receive a plurality of first set of data packets. One or more of the plurality of first set of data packets have a second set of data packets and a third set of data packets. The second set of data packets include a set of instructions indicative of a first set of characteristics and lacks a second set of characteristics, and the third set of data packets comprises a set of instructions indicative of the second set of characteristics and lacks the first set of characteristics. The first set of data packets are representative of a source code programming statement. The first set of characteristics is representative of a syntax representative of a first programming language. Further, the second set of characteristics is representative a syntax representative of a second programming language.
[00049] For example, in one embodiment of the present invention, a program written in C# which is running the Microsoft Windows operating system is translated into a program written in the Java programming language which is running the Linux operating system. The terms java, jvm and java virtual machine are trademarks of Sun Microsystems, Inc. of Santa Clara, Calif.
[00050] In an embodiment, a translation library may reside on system 120 that the programmer uses to perform the translation. In another embodiment of the present invention, the translation library may reside on a server on a network and is accessible to multiple developers. Also, the translation library may reside on a server attached to the Internet.
[00051] The characteristics translation engine 114 translates at least one or more of the second set of characteristics of the second set of data packets into a third set of characteristics. At least one or more of the first set of characteristics of the third set of data packets are translated into a third set of characteristics, the translated third set of characteristics are stored in a fourth set of data packets;
[00052] For example, computer programs can be translated from a source form of one language into a source form of another language. The resulting program may have equivalent or near-equivalent behavior to a new program. An example of such a process is the process by which programs written in the Visual Basic NET language can be translated into a program written in the Java programming language and programs written in C# can be translated into a program written in the Java programming language.
[00053] In an embodiment, the translation of the instructions may include translation of API calls, library standards, code language translation, translation of comments syntax and so forth. Also, the translation may involve examining of all those statements in an originating program that make use of behavioral elements belonging to an underlying compiler to be used for compilation of the instructions.
[00054] The source file generation engine 116 generates a source file including the fourth set of data packets indicative of a new set of characteristics. The new set of characteristics is representative of the first set of characteristics and the second set of characteristics. In an embodiment, a set of instructions are provided at the processor to perform a language independent compilation of the new set of characteristics. The language independent compilation of the new set of characteristics are representative of a compilation of the second set of data packets including the set of instructions indicative of the first set of characteristics and lacking the second set of characteristics, and the third set of data packets including the set of instructions indicative of the second set of characteristics and lacking the first set of characteristics. The language independent compilation is performed using a multi-threading service. The language independent compilation comprises at least one of the following phases: performing scanning; performing parsing; performing name resolution; performing semantic checking; and performing code generation.
[00055] In an embodiment, the system facilitates to provide cross platform applications that can be created without using any other frameworks. The system shall consume less time by coding in a single language for both platforms. For example, knowledge of building applications for iOS and android shall be easier as any application build in this language may fit in both the platforms that are iOS and android.
[00056] FIG. 2 illustrates exemplary implementation 200 of the system in accordance with an embodiment of the present disclosure.
[00057] In an exemplary embodiment, source-codes of two open source programming Languages (i.e. Java and Swift Programming Language) may be extracted. Then the two languages may be merged to make a new language through which there will be a new platform for the applications, for example iOS and android.
[00058] As is shown at block 202 a java source programming language is provided and at block 204 a swift based source code is provided. Then at block 206, codes for different programming languages are merged. Further, at block 208 the keywords as available from both the programming languages are changed, and at block 210 a new programming language may be created.
[00059] In an embodiment, programming statements of the second set of data packets may be intermingled with the programming statements of the third set of data packets. Thus, as a developer writes the program, the developer may use the programming language that best implements the particular functionality at that point in the program. Variables may be shared between the programming statements of the two programming languages. For example, the developer may write a programming statement in the first programming language that sets the value of a particular variable, which may then be subsequently referenced by a programming statement in the second programming language.
[00060] The second set of data packets may comprise a procedural type programming language that lacks object-oriented (OO) characteristics and the first set of data packets may comprise an OO type programming language that implements OO characteristics. OO characteristics may include, for example, inheritance, polymorphism and encapsulation.
[00061] FIG. 3 illustrates another exemplary implementation 300 of the system in accordance with an embodiment of the present disclosure.
[00062] In an exemplary embodiment, the compiler is built that consists of a playground (e.g., just as shell) and project area, as a single place where cross platform applications may be coded further.
[00063] As is shown at block 302 a JDK based compiler source code is provided. At block 304, the keywords are changed, extracted, fed and saved in a pre existing java compiler. Basis this action, at block 306 a new language independent compiler is provided.
[00064] The system 210 provides a method to co-operate in compilation of multiple language compilation units. The method can facilitate support for compilation environment(s) and/or authoring aids such as syntax coloring and statement completion. Extensibility of the complier is facilitated through use of a common compiler infrastructure (CCI). A compiler for a specific language is written as extensions of base classes provided by the CCI. Common conventions and a flexible extensibility mechanism facilitate cooperation amongst primary parser component and secondary parser component(s), and, primary compiler component and the secondary compiler component(s).
[00065] FIG. 4 is a high-level flow diagram 400 illustrating working of the system in accordance with an embodiment of the present disclosure. The process described with reference to FIG. 4 may be implemented in the form of executable instructions stored on a machine readable medium and executed by a processing resource (e.g., a microcontroller, a microprocessor, central processing unit core(s), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), and the like) and/or in the form of other types of electronic circuitry. For example, this processing may be performed by one or more computer systems of various forms, such as the computer system 500 described with reference to FIG. 5 below.
[00066] In context of the present example, at block 402, a processor of a computing device associated with a user receives a plurality of first set of data packets, one or more of the plurality of first set of data packets having a second set of data packets and a third set of data packets. The second set of data packets include a set of instructions indicative of a first set of characteristics and lacks a second set of characteristics, and the third set of data packets comprises a set of instructions indicative of the second set of characteristics and lacks the first set of characteristics. At block 404, at least one or more of the second set of characteristics of the second set of data packets are translated into a third set of characteristics, and at least one or more of the first set of characteristics of the third set of data packets are translated into a third set of characteristics, the translated third set of characteristics being stored in a fourth set of data packets. Further, at block 406, a source file comprising the fourth set of data packets indicative of a new set of characteristics are generated. The new set of characteristics is representative of the first set of characteristics and the second set of characteristics.
[00067] FIG. 5 illustrates an exemplary computer system 500 to implement the proposed system in accordance with embodiments of the present disclosure. As shown in FIG. 5, computer system can include an external storage device 510, a bus 520, a main memory 530, a read only memory 540, a mass storage device 550, communication port 560, and a processor 570.
[00068] Those skilled in the art will appreciate that computer system 500 may include more than one processor 570 and communication ports 560. Examples of processor 570 include, but are not limited to, an Intel® Itanium® or Itanium 2 processor(s), or AMD® Opteron® or Athlon MP® processor(s), Motorola® lines of processors, FortiSOC™ system on a chip processors or other future processors. Processor 570 may include various modules associated with embodiments of the present invention.
[00069] Communication port 560 can be any of an RS-232 port for use with a modem based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. Communication port 560 may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which computer system connects.
[00070] Memory 530 can be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. Read only memory 540 can be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or BIOS instructions for processor 570.
[00071] Mass storage 550 may be any current or future mass storage solution, which can be used to store information and/or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), e.g. those available from Seagate (e.g., the Seagate Barracuda 7102 family) or Hitachi (e.g., the Hitachi Deskstar 7K1000), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g. an array of disks (e.g., SATA arrays), available from various vendors including Dot Hill Systems Corp., LaCie, Nexsan Technologies, Inc. and Enhance Technology, Inc.
[00072] Bus 520 communicatively couples processor(s) 570 with the other memory, storage and communication blocks. Bus 520 can be, e.g. a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), USB or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects processor 570 to software system.
[00073] Optionally, operator and administrative interfaces, e.g. a display, keyboard, and a cursor control device, may also be coupled to bus 520 to support direct operator interaction with computer system. Other operator and administrative interfaces can be provided through network connections connected through communication port 560. External storage device 510 can be any kind of external hard-drives, floppy drives, IOMEGA® Zip Drives, Compact Disc - Read Only Memory (CD-ROM), Compact Disc - Re-Writable (CD-RW), Digital Video Disk - Read Only Memory (DVD-ROM). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
[00074] Embodiments of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product comprising one or more computer readable media having computer readable program code embodied thereon.
[00075] Thus, it will be appreciated by those of ordinary skill in the art that the diagrams, schematics, illustrations, and the like represent conceptual views or processes illustrating systems and methods embodying this invention. The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing associated software. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the entity implementing this invention. Those of ordinary skill in the art further understand that the exemplary hardware, software, processes, methods, and/or operating systems described herein are for illustrative purposes and, thus, are not intended to be limited to any particular named.
[00076] As used herein, and unless the context dictates otherwise, the term "coupled to" is intended to include both direct coupling (in which two elements that are coupled to each other contact each other) and indirect coupling (in which at least one additional element is located between the two elements). Therefore, the terms "coupled to" and "coupled with" are used synonymously. Within the context of this document terms "coupled to" and "coupled with" are also used euphemistically to mean “communicatively coupled with” over a network, where two or more devices are able to exchange data with each other over the network, possibly via one or more intermediary device.
[00077] It should be apparent to those skilled in the art that many more modifications besides those already described are possible without departing from the inventive concepts herein. The inventive subject matter, therefore, is not to be restricted except in the spirit of the appended claims. Moreover, in interpreting both the specification and the claims, all terms should be interpreted in the broadest possible manner consistent with the context. In particular, the terms “comprises” and “comprising” should be interpreted as referring to elements, components, or steps in a non-exclusive manner, indicating that the referenced elements, components, or steps may be present, or utilized, or combined with other elements, components, or steps that are not expressly referenced. Where the specification claims refers to at least one of something selected from the group consisting of A, B, C …. and N, the text should be interpreted as requiring only one element from the group, not A plus N, or B plus N, etc.
[00078] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
ADVANTAGES OF THE PRESENT DISCLOSURE
[00079] The present disclosure provides a method that facilitates to provide a compiler that supports cross platform compilation of applications.
[00080] The present disclosure provides a method that facilitates to provide an application with source codes of multiple languages.
[00081] The present disclosure provides a method that facilitates a complier to consume less time in coding in a single language and is functional for multiple platforms.
[00082] The present disclosure provides a method that facilitates execution of common language files by a single complier.
Claims:1. A method for translation of a set of characteristics, said method comprising :
receiving, by a processor of a computing device associated with a user, a plurality of first set of data packets, one or more of the plurality of first set of data packets comprising a second set of data packets and a third set of data packets,
wherein the second set of data packets are comprising a set of instructions indicative of a first set of characteristics and lacks a second set of characteristics, and the third set of data packets are comprising a set of instructions indicative of the second set of characteristics and lacks the first set of characteristics;
translating, at the processor, at least one or more of the second set of characteristics of the second set of data packets into a third set of characteristics, and at least one or more of the first set of characteristics of the third set of data packets into a third set of characteristics, the translated third set of characteristics being stored in a fourth set of data packets; and
generating, at the processor, a source file based on the stored fourth set of data packets, the fourth set of data packets comprising the third set of characteristics, where the third set of characteristics are representative of the first set of characteristics and the second set of characteristics.
2. The method as claimed in claim 1, wherein the first set of data packets are representative of a source code programming statement.
3. The method as claimed in claim 1, wherein the first set of characteristics are representative of a syntax representative of a first programming language.
4. The method as claimed in claim 1, wherein the second set of characteristics are representative a syntax representative of a second programming language.
5. The method as claimed in claim 1, wherein the first set of characteristics and the second set of characteristics comprise of one or more modules, one or more classes, one or more enumerations, and one or more methods associated with the second set of data packets and the third set of data packets respectively.
6. The method as claimed in claim 1, wherein a set of instructions are provided at the processor to perform a language independent compilation of the fourth set of data packets comprising the third set of characteristics, wherein the language independent compilation of the fourth set of characteristics are representative of a compilation of the second set of data packets comprising the set of instructions indicative of the first set of characteristics and lacking the second set of characteristics, and the third set of data packets comprising the set of instructions indicative of the second set of characteristics and lacking the first set of characteristics.
7. The method as claimed in claim 6, wherein the language independent compilation is performed using a multi-threading service.
8. The method as claimed in claim 6, wherein the language independent compilation comprises at least one of the following phases: performing scanning; performing parsing; performing name resolution; performing semantic checking; and performing code generation.
9. A system for translation of a set of characteristics, the system comprising :
a memory and a hardware processor configured to execute a set of instructions, said instructions comprising:
receive a plurality of first set of data packets, one or more of the plurality of first set of data packets comprising a second set of data packets and a third set of data packets,
wherein the second set of data packets are comprising a set of instructions indicative of a first set of characteristics and lacks a second set of characteristics, and the third set of data packets are comprising a set of instructions indicative of the second set of characteristics and lacks the first set of characteristics;
translate at least one or more of the second set of characteristics of the second set of data packets into a third set of characteristics, and at least one or more of the first set of characteristics of the third set of data packets into a third set of characteristics, the translated third set of characteristics being stored in a fourth set of data packets; and
generate a source file based on the stored fourth set of data packets, the fourth set of data packets comprising the third set of characteristics, where the third set of characteristics are representative of the first set of characteristics and the second set of characteristics.
10. The system as claimed in claim 9, wherein the first set of characteristics are representative of a syntax representative of a first programming language.
| # | Name | Date |
|---|---|---|
| 1 | 202011036604-ABSTRACT [04-07-2023(online)].pdf | 2023-07-04 |
| 1 | 202011036604-STATEMENT OF UNDERTAKING (FORM 3) [25-08-2020(online)].pdf | 2020-08-25 |
| 2 | 202011036604-CLAIMS [04-07-2023(online)].pdf | 2023-07-04 |
| 2 | 202011036604-FORM FOR STARTUP [25-08-2020(online)].pdf | 2020-08-25 |
| 3 | 202011036604-FORM FOR SMALL ENTITY(FORM-28) [25-08-2020(online)].pdf | 2020-08-25 |
| 3 | 202011036604-CORRESPONDENCE [04-07-2023(online)].pdf | 2023-07-04 |
| 4 | 202011036604-FORM 1 [25-08-2020(online)].pdf | 2020-08-25 |
| 4 | 202011036604-DRAWING [04-07-2023(online)].pdf | 2023-07-04 |
| 5 | 202011036604-FER_SER_REPLY [04-07-2023(online)].pdf | 2023-07-04 |
| 5 | 202011036604-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [25-08-2020(online)].pdf | 2020-08-25 |
| 6 | 202011036604-FER.pdf | 2023-01-04 |
| 6 | 202011036604-EVIDENCE FOR REGISTRATION UNDER SSI [25-08-2020(online)].pdf | 2020-08-25 |
| 7 | 202011036604-FORM 18 [12-05-2022(online)].pdf | 2022-05-12 |
| 7 | 202011036604-DRAWINGS [25-08-2020(online)].pdf | 2020-08-25 |
| 8 | 202011036604-FORM-26 [09-09-2020(online)].pdf | 2020-09-09 |
| 8 | 202011036604-DECLARATION OF INVENTORSHIP (FORM 5) [25-08-2020(online)].pdf | 2020-08-25 |
| 9 | 202011036604-COMPLETE SPECIFICATION [25-08-2020(online)].pdf | 2020-08-25 |
| 9 | 202011036604-Proof of Right [09-09-2020(online)].pdf | 2020-09-09 |
| 10 | 202011036604-COMPLETE SPECIFICATION [25-08-2020(online)].pdf | 2020-08-25 |
| 10 | 202011036604-Proof of Right [09-09-2020(online)].pdf | 2020-09-09 |
| 11 | 202011036604-DECLARATION OF INVENTORSHIP (FORM 5) [25-08-2020(online)].pdf | 2020-08-25 |
| 11 | 202011036604-FORM-26 [09-09-2020(online)].pdf | 2020-09-09 |
| 12 | 202011036604-DRAWINGS [25-08-2020(online)].pdf | 2020-08-25 |
| 12 | 202011036604-FORM 18 [12-05-2022(online)].pdf | 2022-05-12 |
| 13 | 202011036604-EVIDENCE FOR REGISTRATION UNDER SSI [25-08-2020(online)].pdf | 2020-08-25 |
| 13 | 202011036604-FER.pdf | 2023-01-04 |
| 14 | 202011036604-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [25-08-2020(online)].pdf | 2020-08-25 |
| 14 | 202011036604-FER_SER_REPLY [04-07-2023(online)].pdf | 2023-07-04 |
| 15 | 202011036604-DRAWING [04-07-2023(online)].pdf | 2023-07-04 |
| 15 | 202011036604-FORM 1 [25-08-2020(online)].pdf | 2020-08-25 |
| 16 | 202011036604-CORRESPONDENCE [04-07-2023(online)].pdf | 2023-07-04 |
| 16 | 202011036604-FORM FOR SMALL ENTITY(FORM-28) [25-08-2020(online)].pdf | 2020-08-25 |
| 17 | 202011036604-CLAIMS [04-07-2023(online)].pdf | 2023-07-04 |
| 17 | 202011036604-FORM FOR STARTUP [25-08-2020(online)].pdf | 2020-08-25 |
| 18 | 202011036604-STATEMENT OF UNDERTAKING (FORM 3) [25-08-2020(online)].pdf | 2020-08-25 |
| 18 | 202011036604-ABSTRACT [04-07-2023(online)].pdf | 2023-07-04 |
| 1 | SEARCHSTRATEGY1AE_13-03-2024.pdf |
| 1 | SearchStrategyE_02-01-2023.pdf |
| 2 | SEARCHSTRATEGY1AE_13-03-2024.pdf |
| 2 | SearchStrategyE_02-01-2023.pdf |