KR20090004210A - Apparatus for developing a software program using an integrated development environment and software program development system using an integrated development environment - Google Patents
Apparatus for developing a software program using an integrated development environment and software program development system using an integrated development environment Download PDFInfo
- Publication number
- KR20090004210A KR20090004210A KR1020070068232A KR20070068232A KR20090004210A KR 20090004210 A KR20090004210 A KR 20090004210A KR 1020070068232 A KR1020070068232 A KR 1020070068232A KR 20070068232 A KR20070068232 A KR 20070068232A KR 20090004210 A KR20090004210 A KR 20090004210A
- Authority
- KR
- South Korea
- Prior art keywords
- code
- final
- source
- intermediate code
- file
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
1 is a block diagram illustrating a software program development system using an integrated development environment according to an exemplary embodiment of the present invention.
FIG. 2 is a diagram illustrating a user interface of the software program development system shown in FIG. 1.
<Explanation of symbols for the main parts of the drawings>
110: program development unit 112: user interface unit
114: compilation unit 116: assembly unit
118: debugging / execution unit
Embodiments of the present invention relate to an apparatus for developing a software program using an integrated development environment and a software program development system using an integrated development environment.
Today's software programs are mostly developed using the Integrated Development Environment (IDE).
An integrated development environment is a type of computer software that assists computer programmers in developing software. In general, an integrated development environment provides an interface that can include or work with source code editors, compilers and / or interpreters, build automation tools, and debuggers.
If necessary, program developers can develop software using a plurality of programming languages. Therefore, program developers need to develop software using an integrated development environment capable of supporting a plurality of programming languages.
In addition, program developers can develop software that can run properly on a variety of machines, if necessary, so that program developers can use an integrated development environment to debug intermediate code output from the compiler before running the software on the target machine. Develop programs efficiently.
In addition, program developers can develop software that can run properly on a variety of machines, if necessary, so that program developers need to develop software using an integrated development environment that can emulate a variety of machines to run the software on a variety of machines. There is.
An object of the present invention is to provide an apparatus for developing a software program using an integrated development environment that can support a plurality of programming languages in order to solve the problems of the prior art.
Another object of the present invention is to provide a software program development system using an integrated development environment capable of supporting a plurality of program languages.
Apparatus for developing software using the integrated development environment of the present invention to achieve the above object is a source code management unit for opening a previously created source code file or edit the open source code file or a new source code file, the open Select one of a plurality of compilers that generate the same intermediate code irrespective of the programming language based on a programming language used in a sourced or edited source code file (hereinafter referred to as a "source code file"); A compiler for generating the intermediate code using a compiler, and causing the emulator to emulate the intermediate code to execute the intermediate code, and to have the debugger control the emulator to debug the intermediate code to debug the intermediate code It includes debugging / execution.
The apparatus may further comprise an assembly portion for providing the intermediate code to an assembler to cause the assembler to generate virtual machine code or native code (hereinafter referred to as "final code") based on final code options.
The debugging / executing unit may execute the final code by causing the emulator to emulate the final code, and debug the final code by causing the debugger to control the emulator to debug the final code.
In order to achieve the above object, the software development system using the integrated development environment of the present invention includes first and second compilers each generating the same intermediate code regardless of the programming language, an emulator emulating the intermediate code, and the emulator. A debugger that controls and debugs the intermediate code, and a source code manager that opens a previously created source code file or edits the opened source code file or a new source code file, the open or edited source code file (hereinafter, If the programming language of the "source code file" corresponds to the first programming language, the intermediate code is generated using the first compiler, and the programming language used in the source code file corresponds to the second programming language. In the case of using the second compiler And a program development unit including a compiling unit for generating an intermediate code, and a debugging / executing unit for executing the intermediate code using the emulator and debugging the intermediate code using the debugger.
The system may further include an assembler that receives the intermediate code and generates virtual machine code or native code (hereinafter referred to as “final code”) according to a final code option, and the program development unit may include the intermediate code in the assembler. An assembly portion for providing code to cause the assembler to generate the final code, wherein the debugging / executing portion may cause the emulator to emulate the final code and execute the final code, and the debugger may cause the emulator to The final code can be debugged by controlling the final code.
For example, the first programming language may correspond to the C ++ language, and the second programming language may correspond to the JAVA language.
Software development system using the integrated development environment of the present invention in order to achieve the above another object is a plurality of compilers each generating the same intermediate code, regardless of the programming language, the intermediate code receives the intermediate code in accordance with the final code option Or an assembler, a virtual machine, a native machine, and an intermediate code execution machine that generates native code (hereinafter referred to as “final code”), using the virtual machine to emulate the virtual machine code and use the native machine. An emulator that emulates the native code and emulates the intermediate code using the intermediate code execution machine, a debugger that controls the emulator to debug the intermediate code and the final code, and at least one or more needed when software is generated. small A project manager for managing a source list including information about a code file, an editing manager for editing the source code file (the source code file included in the source list or a new source code file to be included in the source list), and A source code manager including a display manager to display information about the source code file or debugging information generated from the debugger; A compiling unit for selecting one of the compilers according to a programming language used in the source code file, and providing the source code file to the selected compiler so that the selected compiler generates the intermediate code; An assembly unit for providing the intermediate code to the assembler so that the assembler generates the final code; And providing the intermediate code or the final code to the debugger so that the debugger controls the emulator to debug the intermediate code or the final code, and providing the intermediate code or the final code to the emulator to provide the intermediate code. Or a program development unit including a debugging / executing unit for executing the final code.
Therefore, an embodiment of the present invention can efficiently develop a program using an integrated development environment (IDE) supporting a plurality of programming languages.
In addition, an embodiment of the present invention can efficiently develop a program using an integrated development environment capable of debugging intermediate code independent of language.
In addition, an embodiment of the present invention can efficiently develop a program using an integrated development environment that can emulate a variety of machines.
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
Since descriptions of embodiments of the present invention are merely illustrated for structural to functional descriptions of the present invention, the scope of the present invention should not be construed as limited by the embodiments described in the present invention. That is, the embodiments of the present invention may be variously modified and may have various forms, and thus, it should be understood that the present invention includes equivalents capable of realizing the technical idea of the present invention.
On the other hand, the meaning of the terms described in the present invention should be understood as follows.
Terms such as “first” and “second” are used to distinguish one component from other components, and the scope of the present invention should not be limited by these terms. For example, the first component may be named a second component, and similarly, the second component may also be named a first component.
The term “and / or” should be understood to include all combinations that can be presented from one or more related items. That is, the meaning of “first item, second item and / or third item” not only includes the first, second or third item, but also presents from two or more of the first, second and third items. It means a combination of all possible items.
When a component is referred to as being "connected" to another component, it should be understood that there may be other components in between, although it may be directly connected to the other component. On the other hand, when a component is said to be "directly connected" to another component, it should be understood that there is no other component in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.
Singular expressions described herein are to be understood to include plural expressions unless the context clearly indicates otherwise, and the terms "comprise" or "having" include elements, features, numbers, steps, operations, and elements described. It is to be understood that the present specification is intended to designate that there is a part or a combination thereof, and does not exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof. do.
Each step described in the present invention may occur out of the stated order unless the context clearly dictates the specific order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
Unless otherwise defined, all terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in the commonly used dictionaries should be interpreted to have meanings consistent with the meanings in the context of the related art, and are to be interpreted as having ideal or overly formal meanings unless expressly defined in the present application. Can't be.
1 is a block diagram illustrating a software program development system using an integrated development environment according to an exemplary embodiment of the present invention.
Referring to FIG. 1, the software
The
The plurality of
The
For example, the plurality of
FIG. 2 is a block diagram illustrating a source code manager of FIG. 1.
Referring to FIG. 2, the
The
The
The
Hereinafter, the operation of the
The
The compiling
For example, when the programming language used for the source code file is a C ++ language, the
The
The debugging / executing
In addition, the debugging / executing
Embodiments of the present invention presented above may have an effect including the following advantages. However, all the embodiments of the present invention are not meant to include them all, and thus the scope of the present invention should not be understood as being limited thereto.
An embodiment of the present invention can efficiently develop a program using an integrated development environment (IDE) supporting a plurality of programming languages.
In addition, an embodiment of the present invention can efficiently develop a program using an integrated development environment capable of debugging intermediate code independent of language.
In addition, an embodiment of the present invention can efficiently develop a program using an integrated development environment that can emulate a variety of machines.
Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070068232A KR20090004210A (en) | 2007-07-06 | 2007-07-06 | Apparatus for developing a software program using an integrated development environment and software program development system using an integrated development environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070068232A KR20090004210A (en) | 2007-07-06 | 2007-07-06 | Apparatus for developing a software program using an integrated development environment and software program development system using an integrated development environment |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20090004210A true KR20090004210A (en) | 2009-01-12 |
Family
ID=40486709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070068232A KR20090004210A (en) | 2007-07-06 | 2007-07-06 | Apparatus for developing a software program using an integrated development environment and software program development system using an integrated development environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20090004210A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150063798A (en) | 2013-12-02 | 2015-06-10 | 한국과학기술연구원 | Method for code conversion using target-independent debugging information, apparatus and computer-readable recording medium with program therefor |
KR20200117719A (en) * | 2019-04-05 | 2020-10-14 | 주식회사 티맥스 소프트 | Servers and computer programs for debugging of native programs and virtual machine programs on integrated development environment |
KR102214060B1 (en) | 2019-08-20 | 2021-02-09 | 나모웹비즈주식회사 | Integrated development cloud server and method for providing integrated development environment based on cloud to program software for subminiature iot device that support interwork with iot service infrastructure |
KR20220058246A (en) | 2020-10-30 | 2022-05-09 | 나모웹비즈주식회사 | Library management method for software development for subminiature iot device and integrated development cloud server |
-
2007
- 2007-07-06 KR KR1020070068232A patent/KR20090004210A/en not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150063798A (en) | 2013-12-02 | 2015-06-10 | 한국과학기술연구원 | Method for code conversion using target-independent debugging information, apparatus and computer-readable recording medium with program therefor |
KR20200117719A (en) * | 2019-04-05 | 2020-10-14 | 주식회사 티맥스 소프트 | Servers and computer programs for debugging of native programs and virtual machine programs on integrated development environment |
KR102214060B1 (en) | 2019-08-20 | 2021-02-09 | 나모웹비즈주식회사 | Integrated development cloud server and method for providing integrated development environment based on cloud to program software for subminiature iot device that support interwork with iot service infrastructure |
KR20220058246A (en) | 2020-10-30 | 2022-05-09 | 나모웹비즈주식회사 | Library management method for software development for subminiature iot device and integrated development cloud server |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540262B2 (en) | Using edit and continue to dynamically set and unset optimizations in source code while debugging | |
US8527961B2 (en) | Expression-level debugging without format changes | |
EP3338179B1 (en) | Graphical representation of data in a program code editor | |
EP3244306B1 (en) | A computer-implemented method for allowing modification of a region of original code | |
US9489286B2 (en) | Method and system for computer assisted hot-tracing mechanism | |
US20110126179A1 (en) | Method and System for Dynamic Patching Software Using Source Code | |
US8930879B2 (en) | Application building | |
US11256481B2 (en) | Software development environment with compilation and read-evaluate-print-loop operations | |
US8473903B2 (en) | Code edit apparatus and recording medium | |
US20080127061A1 (en) | Method and system for editing code | |
KR20090004210A (en) | Apparatus for developing a software program using an integrated development environment and software program development system using an integrated development environment | |
CN109144849B (en) | Embedded software debugging method | |
Satav et al. | A comparative study and critical analysis of various integrated development environments of c, c++, and java languages for optimum development | |
Callanan et al. | Extending GCC with modular GIMPLE optimizations | |
WO2023038715A1 (en) | Hot reloading a running application with an unsaved source code change | |
JP5974444B2 (en) | Information processing system, information processing method, information processing program, and recording medium | |
JPH11110256A (en) | Device and method for debugging program, and computer readable recording medium recorded with the method for the same | |
Grimm | Debugging SCCharts | |
McDirmid et al. | The scala plugin for eclipse | |
Izawa | Supporting multi-scope and multi-level compilation in a meta-tracing just-in-time compiler | |
Lilis et al. | An Integrated Approach to Source Level Debugging and Compile Error Reporting in Metaprograms. | |
Alekseev et al. | Tools for control flow analysis of java code | |
Kersten | Tool requirements for commercial development with AspectJ | |
Hindriks et al. | GOAL User Manual | |
Gardner et al. | CSP++: An open source tool for building concurrent applications from CSP specifications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |