KR20190119794A - e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method - Google Patents

e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method Download PDF

Info

Publication number
KR20190119794A
KR20190119794A KR1020180043194A KR20180043194A KR20190119794A KR 20190119794 A KR20190119794 A KR 20190119794A KR 1020180043194 A KR1020180043194 A KR 1020180043194A KR 20180043194 A KR20180043194 A KR 20180043194A KR 20190119794 A KR20190119794 A KR 20190119794A
Authority
KR
South Korea
Prior art keywords
programming language
text
class
learning
book viewer
Prior art date
Application number
KR1020180043194A
Other languages
Korean (ko)
Other versions
KR102046250B1 (en
Inventor
최진영
이지성
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020180043194A priority Critical patent/KR102046250B1/en
Publication of KR20190119794A publication Critical patent/KR20190119794A/en
Application granted granted Critical
Publication of KR102046250B1 publication Critical patent/KR102046250B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to an electronic book viewer and driving method for programming language learning to provide the convenience to people learning a programming language and a storage medium for performing the driving method. The driving method for programming language learning comprises the steps of: inspecting compilers installed in a computer when an electronic book viewer is executed; receiving a text for learning a programming language from texts written in the executed electronic book viewer; parsing the selected text to inspect the programming language and a keyword; generating a source file using information of the parsed text; performing a COM file of the source file generated through a command line (cmd); and executing a generated binary file when the execution of the COM file is completed and the binary file having the same name as the source file is generated.

Description

프로그래밍 언어 학습을 위한 전자책 뷰어 및 구동 방법, 상기 방법을 수행하기 위한 저장 매체{e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method}Electronic book viewer and driving method for programming language learning, storage medium for performing the method {e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method}

본 발명은 프로그래밍 언어 학습을 위한 전자책 뷰어 및 구동 방법, 상기 방법을 수행하기 위한 저장 매체에 관한 것으로, 더욱 상세하게는 프로그래밍 언어를 학습하는 이들에게 편의를 제공할 수 있는 프로그래밍 언어 학습을 위한 전자책 뷰어 및 구동 방법, 상기 방법을 수행하기 위한 저장 매체에 관한 것이다.The present invention relates to an e-book viewer and a driving method for learning a programming language, and a storage medium for performing the method. More particularly, the present invention relates to an electronic book viewer for programming language learning that can provide convenience to those who learn a programming language. The present invention relates to a book viewer, a driving method, and a storage medium for performing the method.

일반적으로 사용자는 특정 프로그램 언어에 따른 소스 코드를 작성하고 소스 코드를 컴파일하여 실행 가능한 파일을 생성한다.Typically, a user writes source code for a particular programming language and compiles the source code to produce an executable file.

예를 들어, 프로그램 언어가 C/C++ 언어에 상응하는 경우에는 사용자는 C/C++ 언어의 문법(syntax)에 따라 소스 코드를 작성하고 C/C++ 컴파일러를 이용하여 소스 코드를 실행 가능한 파일로 변환할 수 있고, 프로그램 언어가 Java 언어에 상응하는 경우에는 사용자는 Java 언어의 문법에 따라 소스 코드를 작성하고 Java 컴파일러를 이용하여 소스 코드를 실행 가능한 파일로 변환할 수 있다.For example, if the programming language corresponds to the C / C ++ language, you can write the source code according to the syntax of the C / C ++ language and use the C / C ++ compiler to convert the source code into an executable file. If the programming language corresponds to the Java language, the user can write the source code according to the syntax of the Java language and convert the source code into an executable file using a Java compiler.

이를 학습하기 위해 사용자로서는, 프로그래밍 언어를 컴퓨터 상에 타이핑하는 등의 과정을 통한 실습이 동반되어야 한다. 이에 따라, 현재 대부분의 프로그래밍 학습 방법은 교재(e-book 포함)의 내용을 확인한 다음 편집 에디터에 타이핑을 한 후, 빌드 및 실행하는 과정을 거쳐 결과를 확인하는 다소 번거로운 방법을 거치고 있다. To learn this, the user must be accompanied by a practice, such as typing a programming language on a computer. As a result, most of the current programming learning methods go through a rather cumbersome way of checking the contents of a textbook (including e-books), typing in an editing editor, and then building and running them.

한국공개특허 제10-2008-0097826호Korean Patent Publication No. 10-2008-0097826 한국공개특허 제10-2013-0122406호Korean Patent Publication No. 10-2013-0122406

본 발명의 일측면은 별도의 컴파일러 툴(예를 들어, Visual Studio 또는 eclipse 등)을 실행하지 않고도, 전자책 내에 포함된 코드의 결과를 확인하거나 편집을 용이하게 할 수 있는 프로그래밍 언어 학습을 위한 전자책 뷰어 및 구동 방법, 상기 방법을 수행하기 위한 저장 매체를 제공한다.One aspect of the present invention provides an electronic program for learning a programming language that can facilitate the editing or checking of the results of code contained in an e-book without running a separate compiler tool (eg, Visual Studio or Eclipse). A book viewer, a driving method, and a storage medium for performing the method are provided.

본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problem of the present invention is not limited to the technical problem mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법은, 전자책 뷰어가 실행되면, 컴퓨터에 설치된 컴파일러들을 검사하는 단계; 실행된 전자책 뷰어에 기재된 텍스트 중에서 프로그래밍 언어를 학습할 텍스트를 선택받는 단계; 선택받은 텍스트를 파싱하여 프로그래밍 언어와 키워드를 검사하는 단계; 파싱된 텍스트의 정보를 이용하여 소스 파일을 생성하는 단계; 커맨드 라인(cmd)을 통해 생성된 소스 파일의 컴파일을 수행하는 단계; 및 컴파일의 수행이 완료되어 소스 파일과 동일한 이름의 바이너리(binary) 파일이 생성되면, 생성된 바이너리 파일을 실행시키는 단계를 포함한다.According to an embodiment of the present invention, a method of driving an e-book viewer for learning a programming language may include: inspecting compilers installed in a computer when the e-book viewer is executed; Receiving a text for learning a programming language from among the texts described in the executed e-book viewer; Parsing the selected text to check programming languages and keywords; Generating a source file using information of the parsed text; Performing a compilation of the source file generated through the command line (cmd); And when the compilation is completed to generate a binary file having the same name as the source file, executing the generated binary file.

일 실시예에서, 상기 선택받은 텍스트를 파싱하여 프로그래밍 언어와 키워드를 검사하는 단계는, 컴파일러가 존재하는 경우 프로그래밍 언어와 필수 키워드의 유무를 판독하고, 컴파일러가 존재하지 않을 경우 컴파일러의 설치 여부에 대한 선택을 사용자에게 요청할 수 있다. In one embodiment, the step of parsing the selected text and checking a programming language and keywords, if there is a compiler, reads the presence of the programming language and the required keywords, and if the compiler does not exist whether to install the compiler You can ask the user for a selection.

일 실시예에서, 상기 소스 파일을 생성하는 단계는, 파싱 완료 후, 판별된 프로그래밍 언어에 해당하는 필수 키워드가 존재하지 않는 경우, 오류 메시지를 출력할 수 있다.In an embodiment, the generating of the source file may output an error message when a required keyword corresponding to the determined programming language does not exist after parsing is completed.

일 실시예에서, 상기 텍스트를 선택받는 단계 후에, 선택받은 텍스트에 포함된 코드를 편집하는 단계를 더 포함할 수 있다.In an embodiment, after the step of selecting the text, the method may further include editing a code included in the selected text.

일 실시예에서, 상기 코드를 편집하는 단계는, 선택받은 텍스트에 메인 메소드(main method)를 포함한 클래스(class)가 존재하는 경우, 선택된 텍스트를 코드를 편집하기 위한 편집 프로그램인 코드 편집기(code editor)에 출력할 수 있다.In an embodiment, the editing of the code may include a code editor that is an editing program for editing the code of the selected text when a class including a main method exists in the selected text. ) Can be printed.

일 실시예에서, 상기 코드를 편집하는 단계는, 선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 정적 메소드(static method)만 존재하는 경우, 임의로 클래스를 생성하면서, 생성된 클래스 안에 메인 메소드와 정적 메소드를 포함시키고, 정적 메소드를 호출하는 문을 자동으로 추가시킬 수 있다.In one embodiment, the step of editing the code, if there is no class containing the main method in the selected text, and only a static method exists, the main method and the static method in the generated class, randomly generated You can include and automatically add statements that call static methods.

일 실시예에서, 상기 코드를 편집하는 단계는, 임의의 클래스를 생성하여 메인 메소드와 선택된 텍스트인 정적(static) 메소드를 추가하는 단계; 추가된 정적 메소드를 분석하는 단계; 분석된 정적 메소드를 호출하는 단계; 호출된 정적 메소드의 결과형이 기본형 또는 스트링(string)형일 경우, 리턴값을 받을 지역변수를 추가하는 단계; 추가된 지역변수의 다음 줄에 해당 지역변수에 대입된 값을 출력하기 위한 명령문을 추가하는 단계; 및 정적 메소드에 매개변수가 있을 경우, ‘매개변수 개수 - 1'의 수만큼 콤마(,)의 추가 및 하이라이트 시키는 단계를 포함할 수 있다.In one embodiment, editing the code may comprise creating a class to add a main method and a static method that is selected text; Analyzing the added static method; Calling the analyzed static method; If the result type of the called static method is a basic type or a string type, adding a local variable to receive a return value; Adding a statement for outputting the value assigned to the local variable on the next line of the added local variable; And if the static method has a parameter, it may include the step of adding and highlighting a comma (,) by the number of 'parameter number-1'.

일 실시예에서, 상기 코드를 편집하는 단계는, 선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 일반 메소드만 존재하는 경우, 일반 메소드를 포함하고 있는 임의의 클래스를 생성하고, 메인 메소드를 포함하고 있는 임의의 클래스를 하나 더 생성하면서 메인 메소드 내에서 일반 메소드를 포함하고 있는 클래스에 대한 객체를 'new 연산'으로 생성시킨 후 '객체.메소드()'의 형식으로 호출할 수 있다.In one embodiment, the step of editing the code, if there is no class containing the main method in the selected text, and only the general method exists, create an arbitrary class containing the general method, and includes the main method You can create another class and create an object for the class containing the regular method in the main method with the 'new operation' and call it in the form of 'object.method ()'.

일 실시예에서, 상기 코드를 편집하는 단계는, 임의의 클래스를 생성하여 선택된 텍스트인 일반 메소드를 추가하는 단계; 임의의 클래스를 하나 더 생성하여 메인 메소드를 추가하는 단계; 선택된 일반 메소드를 분석하는 단계; 추가된 메인 메소드 내에서 일반 메소드를 포함하고 있는 클래스에 대한 객체를 ‘new 연산’으로 생성시키는 단계; 생성된 객체를 ‘객체.메소드()'의 형식으로 호출하는 단계; 일반 메소드의 결과형이 기본형 또는 스트링(string)형일 경우, 리턴값을 받을 지역변수를 추가하는 단계; 추가된 지역변수의 다음 줄에 해당 지역변수에 대입된 값을 출력하기 위한 명령문을 추가하는 단계; 및 일반 메소드에 매개변수가 있을 경우, ‘매개변수 개수 - 1'의 수만큼 콤마(,)의 추가 및 하이라이트 시키는 단계를 포함할 수 있다.In one embodiment, editing the code comprises: creating a class and adding a generic method that is selected text; Creating an additional class to add a main method; Analyzing the selected general method; Creating an object for a class including a general method as a 'new operation' in the added main method; Calling the created object in the form of 'object.method ()'; Adding a local variable to receive a return value when the result type of the general method is a basic type or a string type; Adding a statement for outputting the value assigned to the local variable on the next line of the added local variable; And if there is a parameter in the general method, it may include the step of adding and highlighting a comma (,) by the number of 'parameter number-1'.

일 실시예에서, 상기 코드를 편집하는 단계는, 선택받은 텍스트에 메인 메소드를 포함하지 않는 클래스만 존재하는 경우, 메인 메소드를 포함하고 있는 임의의 클래스를 생성하면서 메인 메소드 내에서 선택된 클래스에 대한 객체를 'new 연산'으로 생성시키는 문을 자동으로 추가할 수 있다.In one embodiment, the step of editing the code, if there is only a class that does not include the main method in the selected text, the object for the selected class in the main method while creating any class containing the main method You can automatically add a statement that generates a 'new operation'.

본 발명의 다른 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.In a computer-readable storage medium according to another embodiment of the present invention, a computer program for performing an e-book viewer driving method for learning a programming language is recorded.

본 발명의 일 실시예에 따른 프로그래밍 언어 학습을 위한 전자책 뷰어는, 전자책 뷰어가 실행되면, 컴퓨터에 설치된 컴파일러들을 검사하는 컴파일러 검사부; 전자책 뷰어에 기재된 텍스트 중에서 프로그래밍 언어를 학습할 텍스트를 선택받는 텍스트 선택부; 선택된 텍스트를 파싱(parsing)하여 프로그래밍 언어와 필수 키워드를 검사하는 텍스트 파싱부; 파싱된 텍스트의 정보를 이용하여 소스 파일을 생성하는 소스 파일 생성부; 커맨드 라인(cmd)을 통해 생성된 소스 파일의 컴파일을 수행하는 컴파일 수행부; 및 컴파일의 수행이 완료되어 소스 파일과 동일한 이름의 바이너리 파일이 생성되면, 생성된 바이너리 파일을 실행시키는 파일 실행부를 포함한다.An e-book viewer for learning a programming language according to an embodiment of the present invention includes a compiler checker that checks compilers installed in a computer when an e-book viewer is executed; A text selection unit for selecting text to learn a programming language from among texts described in an e-book viewer; A text parsing unit for parsing the selected text and checking a programming language and a required keyword; A source file generation unit generating a source file using the parsed text information; A compilation performing unit for compiling a source file generated through a command line (cmd); And a file execution unit that executes the generated binary file when the compilation is completed and a binary file having the same name as the source file is generated.

상술한 본 발명의 일측면에 따르면, 전자책에 실린 프로그램 코드를 실행 파일로 만들어 결과를 바로 출력하여 사용자가 즉각적으로 결과를 확인을 할 수 있도록 하며, 프로그램 코드가 전체가 아닌 일부분만 제공되었다 하더라도 상황에 맞게 코드를 재생성하여 사용자가 편리하게 학습할 수 있도록 하는 효과를 제공한다.According to an aspect of the present invention described above, by making the program code contained in the e-book as an executable file, and outputs the result immediately so that the user can immediately check the result, even if the program code is provided only a part rather than the whole It reproduces the code according to the situation and provides the effect that the user can learn easily.

도 1은 본 발명의 일 실시예에 따른 프로그래밍 언어 학습을 위한 전자책 뷰어의 개략적인 구성이 도시된 도면이다.
도 2는 본 발명의 일 실시예에 따른 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법을 설명하는 순서도이다.
도 3 내지 도 16은 컴퓨터 상에서 구현되고 있는 본 발명에 따른 실시예를 설명하는 도면이다.
도 17은 도 2에 있는 코드를 편집하는 단계를 설명하는 순서도이다.
1 is a view showing a schematic configuration of an e-book viewer for learning a programming language according to an embodiment of the present invention.
2 is a flowchart illustrating a method of driving an e-book viewer for learning a programming language according to an embodiment of the present invention.
3-16 illustrate an embodiment in accordance with the present invention being implemented on a computer.
17 is a flow chart illustrating the steps of editing the code in FIG.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE INVENTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 프로그래밍 언어 학습을 위한 전자책 뷰어의 개략적인 구성이 도시된 도면이다.1 is a view showing a schematic configuration of an e-book viewer for learning a programming language according to an embodiment of the present invention.

도 1을 참조하면, 프로그래밍 언어 학습을 위한 전자책 뷰어는, 컴파일러 검사부(100), 텍스트 선택부(200), 텍스트 파싱부(300), 소스 파일 생성부(400), 컴파일 수행부(500) 및 파일 실행부(600)를 포함한다.Referring to FIG. 1, an e-book viewer for learning a programming language includes a compiler checker 100, a text selector 200, a text parser 300, a source file generator 400, and a compile performer 500. And a file execution unit 600.

컴파일러 검사부(100)는, 전자책 뷰어가 실행되면, 컴퓨터에 설치된 컴파일러들을 검사한다.When the e-book viewer is executed, the compiler checker 100 checks compilers installed in the computer.

텍스트 선택부(200)는, 전자책 뷰어에 기재된 텍스트 중에서 프로그래밍 언어를 학습할 텍스트를 선택받는다.The text selection unit 200 receives a text for learning a programming language from among the texts described in the e-book viewer.

사용자가 전자책 뷰어 상의 텍스트 중에서 학습할 테스트를 입력 수단(예를 들어, 마우스 또는 키보드 등)을 통해 선택한 경우, 선택된 텍스트를 입력받아 클립 보드(clipboard, 컴퓨터에서 임시 저장 공간으로 사용하기 위해 확보된 메모리 영역)에 임시로 저장해 둘 수 있다.When the user selects a test to be learned from the text on the e-book viewer through an input means (for example, a mouse or keyboard), the user receives the selected text and is reserved for use as a temporary storage space on a clipboard. In the memory area).

텍스트 파싱부(300)는, 클립보드로부터 텍스트 선택부(200)에서 선택받은 데이터를 가져와서 토큰(token) 단위로 분석을 한다. 이 때 선택된 텍스트가 어떤 프로그래밍 언어인지를 알 수 있고, 최소한의 키워드들이 있는지를 검사하게 된다.The text parsing unit 300 takes the data selected by the text selecting unit 200 from the clipboard and analyzes the data in token units. This will tell you which programming language the selected text is, and check for minimal keywords.

소스 파일 생성부(400)는, 텍스트 파싱부(300)에서 파싱된 텍스트의 정보를 이용하여 소스 파일을 생성한다.The source file generator 400 generates a source file using the information of the text parsed by the text parser 300.

일 실시예에서, 소스 파일 생성부(400)는, 변환할 프로그래밍 언어에 대한 소스 파일을 생성하기 위한 최소한의 키워드가 존재하는 경우에 한하여, 선택된 텍스트의 내용으로 소스 파일을 생성할 수 있다.In an embodiment, the source file generator 400 may generate a source file with content of the selected text only when there is a minimum keyword for generating a source file for a programming language to be converted.

만약, 코드가 아닌 일반 텍스트이거나 해당 프로그래밍 언어가 아니라면 도 5에 도시된 바와 같은 경고 문구(예를 들어, "잘못된 코드입니다." 등)가 기재된 메시지 박스를 출력하여 통지할 수 있다.If the code is not plain text or the programming language, the message box may be notified by outputting a warning box (eg, "Incorrect code", etc.) as shown in FIG. 5.

컴파일 수행부(500)는, 커맨드 라인(cmd)을 통해 소스 파일 생성부(400)에서 생성된 소스 파일의 컴파일(Compile, 고급언어(CHILL, COBOL, FORTRAN 등으로 인간이 구분하기 쉬운 언어)로 작성된 프로그램을 기계어(컴퓨터 등의 기계가 이해할 수 있는 언어)로 번역하는 것)을 수행한다.The compile execution unit 500 compiles the source file generated by the source file generation unit 400 through a command line (cmd) (Compile, a high-level language such as CHILL, COBOL, FORTRANRAN, etc.). Translating the written program into machine language (language understood by a machine such as a computer).

컴파일의 수행이 완료되면, 소스 파일과 동일한 이름의 바이너리 파일(예를 들어, C 또는 C#이라면 exe 파일이 생성되고, Java인 경우에는 class 파일이 생성)이 생성된다.When the compilation is completed, a binary file with the same name as the source file (for example, an exe file is generated in C or C # and a class file in Java) is created.

파일 실행부(600)는, 컴파일 수행부(500)에서 컴파일의 수행이 완료되어 소스 파일과 동일한 이름의 바이너리 파일이 생성되면, 생성된 바이너리 파일을 실행시킨다.The file execution unit 600 executes the generated binary file when the compilation is completed in the compilation execution unit 500 and a binary file having the same name as the source file is generated.

일 실시예에서, 파일 실행부(600)는, 컴파일 과정이 끝날 때까지 대기를 한 후에(예를 들어, WaitForSingleObject 등과 같은 함수를 사용), 바이너리 파일이 정상적으로 생성 되었다면 해당 파일을 실행시키고, 그렇지 않다면 오류 메시지를 출력할 수 있다.In one embodiment, the file execution unit 600 waits until the completion of the compilation process (for example, using a function such as WaitForSingleObject), and executes the file if the binary file is normally generated. You can print an error message.

상술한 바와 같은 구성을 가지는 프로그래밍 언어 학습을 위한 전자책 뷰어는, 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.The e-book viewer for programming language learning having the above-described configuration may execute or produce various software based on an operating system (OS), that is, a system. The operating system is a system program for enabling the software to use the hardware of the device, and the mobile computer operating system such as Android OS, iOS, Windows Mobile OS, Sea OS, Symbian OS, Blackberry OS, Windows, Linux, Unix, It can include any computer operating system, such as MAC, AIX, or HP-UX.

상술한 바와 같은 구성을 가지는 프로그래밍 언어 학습을 위한 전자책 뷰어의 각 구성에 의한 구동 방법은 도 2 이하의 방법 설명에서 후술한다.A driving method by each configuration of the e-book viewer for programming language learning having the configuration described above will be described later in the method description of FIG. 2.

도 2는 본 발명의 일 실시예에 따른 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법을 설명하는 순서도이다.2 is a flowchart illustrating a method of driving an e-book viewer for learning a programming language according to an embodiment of the present invention.

도 2를 참조하면, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법은, 우선 전자책 뷰어가 실행되면, 컴퓨터에 설치된 컴파일러들을 검사한다(S210).Referring to FIG. 2, in the method of driving an e-book viewer for learning a programming language, first, when an e-book viewer is executed, the compilers installed in the computer are inspected (S210).

사용자가 전자책 뷰어를 실행한 후, 전자책의 지문 중에 프로그래밍 언어를 학습할 텍스트가 기재되어 있는 부분을 마우스나 키보드 등의 입력 수단을 이용하여 프로그래밍 언어를 학습할 텍스트를 선택한다(S220).After the user executes the e-book viewer, the text for learning the programming language is selected by using an input means such as a mouse or a keyboard in a portion in which the text for learning the programming language is written in the fingerprint of the e-book (S220).

상술한 단계 S220에서 텍스트를 선택받은 후, 사용자로부터 선택된 텍스트에 포함된 코드의 편집에 대한 요청이 없는 경우(S230의 No의 경우), 클립보드를 통해 구한 텍스트 정보를 토큰(token) 단위로 파싱(parsing)하여 어떤 프로그래밍 언어인지, 해당 언어에 필요한 최소한의 키워드는 있는지를 분석한다(S240)After receiving the text in step S220 described above, if there is no request for editing the code included in the selected text from the user (No in S230), the text information obtained through the clipboard is parsed in token units. (parsing) analyzes what programming language it is, and whether there is a minimum keyword required for the language (S240).

상술한 단계 S220에서 텍스트를 선택한 후 도 3에 도시된 바와 같이 메뉴나 툴바로 "프로그램 실행"을 선택하면, 파싱 과정에서 분석한 프로그래밍 언어에 해당하는 컴파일러(compiler)가 존재할 경우 해당 텍스트를 소스 파일로 저장한(S250) 뒤 빌드(S260)하여 바로 프로그램을 실행하게 된다(S270).After selecting the text in step S220 described above, as shown in FIG. 3, if "Program execution" is selected using a menu or a toolbar, if a compiler corresponding to the programming language analyzed in the parsing process exists, the corresponding text is stored in the source file. After saving (S250) and building (S260), the program is immediately executed (S270).

즉, 상술한 단계 S250에서는 파싱된 텍스트의 정보를 이용하여 소스 파일을 생성하고, 상술한 단계 S260에서는 커맨드 라인(cmd)을 통해 생성된 소스 파일의 컴파일을 수행하고, 상술한 단계 S270에서는 컴파일의 수행이 완료되어 소스 파일과 동일한 이름의 바이너리(binary) 파일이 생성되면, 생성된 바이너리 파일을 실행하게 된다.That is, in step S250, the source file is generated using the parsed text information. In step S260, the source file is compiled through the command line cmd. In step S270, the source file is compiled. When the execution is completed and a binary file having the same name as the source file is generated, the generated binary file is executed.

상술한 단계 S240에서, 프로그래밍 언어에 해당하는 컴파일러가 존재하는 경우 프로그래밍 언어와 필수 키워드의 유무를 판독하고, 컴파일러가 존재하지 않을 경우 컴파일러의 설치 여부에 대한 선택을 사용자에게 요청할 수 있다.In the above-described step S240, if there is a compiler corresponding to the programming language, the presence of a programming language and essential keywords may be read, and if the compiler does not exist, the user may be asked to select whether to install the compiler.

만약 컴파일러가 존재하지 않는다면, 도 4에 도시된 바와 같이 해당 언어에 대한 컴파일러를 설치할 것인지를 묻는 메시지 박스를 출력되고, "예" 버튼을 눌렀을 경우는 컴파일러 설치 페이지로 이동시켜 준다. 만약, 사용자가 "아니요" 버튼을 누르게 되면, 본 발명의 구동을 종료하게 된다.If the compiler does not exist, as shown in FIG. 4, a message box is displayed asking whether to install the compiler for the corresponding language, and when the "Yes" button is pressed, the screen moves to the compiler installation page. If the user presses the "no" button, the operation of the present invention is terminated.

상술한 단계 S240에서 파싱하여 얻은 정보를 이용하여 소스 파일(source file, 원시 프로그램 코드가 포함되어 있는 파일)을 생성한다(S250).Using the information obtained by parsing in step S240 described above, a source file (file containing a source program code) is generated (S250).

상술한 단계 S250은, 파싱하여 얻은 정보로부터 프로그래밍 언어의 종류와 해당 언어를 작성하기 위한 필수 키워드의 유무를 판독한 후, 필수 키워드가 존재하는 경우, 프로그래밍 정보를 이용하여 소스 파일을 생성할 수 있다.In the above-described step S250, after reading the type of programming language and the presence or absence of a required keyword for creating a corresponding language from the information obtained by parsing, if a required keyword exists, the source file may be generated using the programming information. .

즉, 해당 프로그래밍 언어에 대한 소스 파일을 생성하기 위한 최소한의 키워드들이 있는지 체크를 하게 되는데, 예를 들어, Java는 최소 하나 이상의 클래스(class)로 이루어지며, 모든 프로그램은 반드시 메인 메소드(main method)를 가지고 있어야 한다.That is, a check is made to see if there are minimal keywords for generating source files for the programming language. For example, Java consists of at least one class, and every program must be a main method. Must have

상술한 단계 S250은, 파싱하여 얻은 정보로부터 프로그래밍 언어에 대한 소스 파일을 생성하기 위한 필수 키워드의 유무를 판독한 후, 오류 메시지를 출력할 수 있다.In the above-described step S250, after reading the presence or absence of an essential keyword for generating a source file for a programming language from the information obtained by parsing, an error message may be output.

만약, 상술한 단계 S250에서 코드가 아닌 일반 텍스트이거나 해당 프로그래밍 언어가 아니라면 도 5에 도시한 바와 같은 메시지 박스가 출력된다.If in step S250 described above, if the text is not a text or a corresponding programming language, a message box as shown in FIG. 5 is output.

상술한 바와 같은 필수 키워드들에 대한 체크가 끝났다면, 선택된 텍스트의 내용으로 도 6에 도시된 바와 같은 소스 파일을 생성하게 된다.If the check on the essential keywords as described above is completed, the source file as shown in FIG. 6 is generated with the content of the selected text.

본 발명에서는, Temp 폴더에 'TestProgram'이라는 하위 폴더를 생성된 후, 'main 메소드'를 가지고 있는 클래스 뒤에 오는 문자열의 이름으로 소스 파일을 저장한다.In the present invention, after creating a subfolder named 'TestProgram' in the Temp folder, the source file is stored under the name of a string following a class having a 'main method'.

상술한 단계 S250에서 소스 파일이 생성되면, 커맨드 라인(cmd)을 통해 상술한 단계 S250에서 생성된 소스 파일의 컴파일을 수행한다(S260).When the source file is generated in the above-described step S250, the source file generated in the above-mentioned step S250 is compiled through the command line cmd (S260).

상술한 단계 S260에서 생성된 소스 파일의 컴파일이 성공적으로 완료되면, 소스 파일과 동일한 이름의 바이너리 파일이 생성된다. 예를 들어 C 또는 C#이라면 'exe' 파일이 생성되고, Java인 경우에는 'class' 파일이 생성된다.When the compilation of the source file generated in step S260 described above is successfully completed, a binary file having the same name as the source file is generated. For example, in C or C #, an 'exe' file is created. In Java, a 'class' file is created.

상술한 단계 S260에서 컴파일의 수행이 완료되면, 도 7에 도시된 바와 같은 소스 파일과 동일한 이름의 바이너리 파일(binary file, 인간이 판독할 수 있는 텍스트로 구성된 문서 파일과는 달리, 이진수 데이터 또는 실행 명령어들로 구성된 파일)이 정상적으로 생성되면, 생성된 바이너리 파일을 실행시킨다(S270).When the compilation is completed in step S260 described above, unlike binary file (binary file, human-readable text file) of the same name as the source file as shown in Fig. 7, binary data or execution If a file composed of instructions) is normally generated, the generated binary file is executed (S270).

컴파일 과정이 끝날 때까지 대기를 한 후(WaitForSingleObject 같은 함수를 사용), 바이너리 파일이 정상적으로 생성 되었다면 도 8에 도시된 바와 같이 해당 파일이 실행되어(Java의 경우라면 Virtual Machine 위에 실행) 출력 결과를 띄어 주고, 그렇지 않다면 도 9에 도시된 바와 같이 "error" 등의 오류 메시지를 출력하게 된다.After waiting until the end of the compilation process (using a function such as WaitForSingleObject), if the binary file is created normally, the file is executed as shown in Fig. 8 (running on the virtual machine in the case of Java). Otherwise, as shown in FIG. 9, an error message such as “error” is output.

상술한 바와 같은 단계를 가지는 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법은, 상술한 텍스트를 선택받는 단계(S220) 후에, 사용자로부터 선택된 텍스트에 포함된 코드의 편집에 대한 요청이 있는 경우(S230의 Yes의 경우), 선택받은 텍스트에 포함된 코드를 편집하는 단계(S280)를 더 포함할 수 있다.In the method of driving an e-book viewer for learning a programming language having the above-described steps, if a request for editing the code included in the text selected by the user is received after the step S220 of receiving the above-described text (S230 In case of Yes), the method may further include editing the code included in the selected text (S280).

도 10에 도시된 바와 같이, 전자책 뷰어에서 코드가 있는 부분의 텍스트를 선택한 후, 메뉴나 툴바 등을 이용하여 "코드 편집 및 실행"을 선택하게 되면, 코드를 편집하는 단계(S280)를 수행하게 된다.As shown in FIG. 10, after selecting text of a part having a code in an e-book viewer, and selecting "Edit and execute code" using a menu or a toolbar, the step of editing the code is performed (S280). Done.

이하에서는 설명의 편의상 Java의 경우를 예로 들어 설명한다. 다만, C#도 Java와 거의 동일하게 구현이 되며, C언어의 경우에는 main 함수만 체크하면 되므로 더 간단하게 구현될 수 있을 것이다.For convenience of explanation, hereinafter, Java is described as an example. However, C # is implemented almost identically to Java, and in the case of C language, only main function needs to be checked.

먼저, 코드를 편집하는 단계(S280)는, 도 11에 도시된 바와 같이 선택받은 텍스트에 메인 메소드(main method)를 포함한 클래스(class)가 존재하는 경우, 선택된 텍스트를 코드를 편집하기 위한 편집 프로그램인 코드 편집기(code editor)에 출력할 수 있다.First, in operation S280 of editing a code, when a class including a main method exists in the selected text as illustrated in FIG. 11, an editing program for editing the code of the selected text You can output it to the code editor.

선택한 텍스트에 메인 메소드를 포함한 클래스가 있는 소스 파일은, 그 자체만으로도 온전하게 컴파일이 될 수 있다. 이 경우에는 선택된 텍스트가 그대로 코드 편집기에 출력된다.A source file with a class containing the main method in the selected text can be compiled intact on its own. In this case, the selected text is displayed in the code editor as it is.

사용자가 이에 따라 "실행" 버튼을 누르면 상술한 S250 내지 S270의 과정을 거쳐 결과를 확인할 수 있고, 또는, 일부 코드를 사용자가 원하는 대로 편집해서 실행할 수도 있다.When the user presses the "execute" button accordingly, the result can be confirmed through the above-described processes of S250 to S270, or some code can be edited and executed as desired by the user.

다음으로, 코드를 편집하는 단계(S280)는, 도 12에 도시된 바와 같이 선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 정적 메소드(static method)만 존재하는 경우, 메인 메소드를 포함하고 있는 클래스가 없기 때문에, 그 자체만으로 컴파일 되어 실행될 수가 없다. 따라서 도 13에 도시된 바와 같이 임의로 클래스를 생성하면서 생성된 클래스 안에 메인 메소드와 정적 메소드를 포함시키고, 정적 메소드를 호출하는 문을 자동으로 추가시킨다.Next, the step of editing the code (S280), if there is no class containing the main method in the selected text, as shown in Figure 12, only the static method (static method), the class containing the main method is It cannot compile and run on its own. Therefore, as shown in FIG. 13, a main class and a static method are included in the generated class while generating a class at random, and a statement for calling the static method is automatically added.

일 실시예에서, 코드를 편집하는 단계(S280)는, 선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 정적 메소드(static method)만 존재하는 경우, 먼저 임의의 클래스를 생성하여 메인 메소드와 선택된 텍스트인 정적(static) 메소드를 추가하고, 추가된 정적 메소드를 분석하고, 분석된 정적 메소드를 호출하고, 호출된 정적 메소드의 결과형이 기본형 또는 스트링(string)형일 경우, 리턴값을 받을 지역변수를 추가하고, 추가된 지역변수의 다음 줄에 해당 지역변수에 대입된 값을 출력하기 위한 명령문을 추가한 후, 정적 메소드에 매개변수가 있을 경우, ‘매개변수 개수 - 1'의 수만큼 콤마(,)의 추가 및 하이라이트 시킬 수 있다.In one embodiment, the step of editing the code (S280), if there is no class containing the main method in the selected text, and only a static method exists, first create an arbitrary class to be the main method and the selected text Add a static method, analyze the added static method, call the analyzed static method, and add a local variable to receive the return value if the result type of the called static method is a primitive or string type After adding a statement to output the value assigned to the local variable on the next line of the added local variable, and comma (,) as many as 'parameter number-1' if there is a parameter in the static method Let's add and highlight.

즉, 도 13에 도시된 바와 같이, SampleProgram이라는 클래스를 생성하면서 메인 메소드를 추가하며, 도 12에서 선택한 텍스트인 minFunction 메소드를 분석하여, 정적 메소드의 결과형이 기본형(예를 들어, byte, short, int, long, char, float, double 또는 boolean 등) 또는 스트링형일 경우에는 정적 메소드를 호출한 뒤 리턴값을 받을 지역변수를 추가하고(int val = minFunction();), 그 다음 줄에서 그 변수에 대입된 값을 출력하기 위한 간단한 명령문(System.out.println(val);)이 추가된다.That is, as shown in FIG. 13, the main method is added while creating a class called SampleProgram, and the minFunction method, which is the text selected in FIG. 12, is analyzed, and the result type of the static method is a basic type (for example, byte, short, int, long, char, float, double, or boolean) or string, add a local variable to receive the return value after calling the static method (int val = minFunction ();) A simple statement (System.out.println (val);) is added to print the assigned value.

만약, 결과형이 void나 그 외의 자료형일 경우에는 단순히 정적 메소드를 호출하는 부분만 추가된다.If the result type is void or any other data type, only the part that calls the static method is added.

일 실시예에서, 코드를 편집하는 단계(S280)는, 메소드의 매개변수의 개수를 파악한 후, 코드 편집기가 출력될 때 메소드 안에 '매개변수의 개수 - 1'의 개수만큼의 콤마(,)를 출력하고, 출력된 콤마를 하이라이트 시켜줄 수 있다.In one embodiment, the step of editing the code (S280), after grasping the number of parameters of the method, when the code editor outputs the number of commas (,) of the number of 'parameters-1' in the method You can print it, and highlight the commas that are printed.

이때, 메소드에 매개변수가 존재하는 경우, 해당 메소드를 호출하는 부분 뒤에 "Please input parameter"라는 주석을 달아주며, 매개변수 입력 부분에 자동으로 포커스가 이동되어 있기 때문에 사용자는 바로 입력하여 편하게 결과를 확인할 수 있다.At this time, if there is a parameter in the method, annotate "Please input parameter" after the calling part of the method, and the focus is automatically moved to the parameter input part, so the user can directly enter the result. You can check it.

도 14는 매개변수 값으로 '10'과 '5'를 입력한 후, "실행" 버튼을 누른 경우이다.FIG. 14 illustrates a case in which “10” and “5” are input as parameter values and then the “Execute” button is pressed.

다음으로, 코드를 편집하는 단계(S280)는, 도 15에 도시된 바와 같이 선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 일반 메소드만 존재하는 경우, 메인 메소드를 포함하고 있는 클래스가 없기 때문에, 그 자체만으로 컴파일 되어 실행할 수 없다. 이 경우 가능한 방법이 2가지가 있다.Next, the step of editing the code (S280), if there is no class containing the main method in the selected text, as shown in Figure 15, and only the general method exists, because there is no class containing the main method, It can't be compiled and run by itself. In this case, there are two possible ways.

첫 번째 방법은, 임의로 클래스를 생성하면서 그 안에 메인 메소드와 일반 메소드를 포함시킨 후, 메인 메소드 내에서 추가된 클래스에 해당하는 객체를 'new 연산'을 통해 생성한 뒤 '객체.메소드()'의 형식으로 호출하는 문을 자동으로 추가시키는 것이다.The first method is to create a class arbitrarily, include the main method and the normal method in it, and then create an object corresponding to the class added in the main method through the 'new operation' and then select 'object.method ()' It will automatically add a call to the form of.

두 번째 방법은, 일반 메소드를 포함하고 있는 임의의 클래스를 생성한 후, 메인 메소드를 포함하고 있는 임의의 클래스를 하나 더 생성하면서 메인 메소드 내에서 일반 메소드를 포함하고 있는 클래스에 대한 객체를 'new 연산'으로 생성시키고 '객체.메소드()'의 형식으로 호출하는 것이다.The second way is to create an arbitrary class that contains the generic method, then create another class that contains the main method, and create an object for the class containing the generic method within the main method. Operation 'and call it in the form of' object.method () '.

본 발명에서는, 두 방법 중 보다 일반적인 두 번째 방법을 사용했다.In the present invention, the second of the two methods is used.

일 실시예에서, 코드를 편집하는 단계(S280)는, 선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 일반 메소드만 존재하는 경우, 임의의 클래스를 생성하여 선택된 텍스트인 일반 메소드를 추가하고, 임의의 클래스를 하나 더 생성하여 메인 메소드를 추가하고, 선택된 일반 메소드를 분석하고, 추가된 메인 메소드 내에서 일반 메소드를 포함하고 있는 클래스에 대한 객체를 ‘new 연산’으로 생성시키고, 생성된 객체를 ‘객체.메소드()'의 형식으로 호출하고, 일반 메소드의 결과형이 기본형 또는 스트링(string)형일 경우, 리턴값을 받을 지역변수를 추가하고, 추가된 지역변수의 다음 줄에 해당 지역변수에 대입된 값을 출력하기 위한 명령문을 추가한 후, 일반 메소드에 매개변수가 있을 경우, ‘매개변수 개수 - 1'의 수만큼 콤마(,)의 추가 및 하이라이트 시킬 수 있다.In one embodiment, the step of editing the code (S280), if there is no class containing the main method in the selected text, and only the plain method exists, create a random class to add the plain method of the selected text, Create another class to add the main method, analyze the selected generic method, create an object for the class containing the generic method with the 'new operation' within the added main method, and create the object Called in the form of .method () ', add a local variable to receive the return value if the result type of a regular method is a base type or a string, and assign the local variable to the next line of the added local variable. After adding a statement to print a value, if the regular method has a parameter, add a comma (,) and add a comma (,) as many as 'parameter count-1'. Sites can be.

이 이후의 과정은 상술한 선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 정적 메소드(static method)만 존재하는 경우와 동일하므로 생략한다.The subsequent steps are the same as in the case where there is no class including the main method in the selected text, and only static methods exist.

마지막으로, 코드를 편집하는 단계(S280)는, 도 16에 도시된 바와 같이 메인 메소드를 포함하지 않는 클래스만 존재하는 경우이다.Finally, the step of editing the code (S280) is a case where only the class does not include the main method, as shown in FIG.

선택한 텍스트가 메인 메소드를 포함하고 있는 클래스가 없기 때문에, 그 자체만으로 컴파일 되어 실행할 수 없다. 따라서 메인 메소드를 포함하고 있는 임의의 클래스를 생성하면서 메인 메소드 내에서 선택된 텍스트의 클래스에 대한 객체를 'new 연산'을 통해 생성시키는 문을 추가시킨다.Since the selected text does not have a class containing the main method, it cannot be compiled and run on its own. Therefore, while creating an arbitrary class containing the main method, add a statement that creates an object for the class of the selected text in the main method through the 'new operation'.

다만, 보통 클래스가 정의된 경우에는 메소드가 여러 개인 경우가 대부분이므로 특별히 메소드를 호출하는 문은 생성하지 않고, 메소드 호출 부분은 사용자가 직접 입력하도록 한다.However, when a class is defined, in general, there are many methods. Therefore, a statement that specifically calls a method is not generated. The method call part is to be directly input by the user.

도 17을 참조하면, 코드를 편집하는 단계(S280)의 전체적인 과정은, 먼저 사용자로부터 코드의 편집 요청이 있는 경우(S220의 Yes의 경우), 메인 메소드를 포함한 클래스가 있는 경우(S281의 Yes의 경우) 곧바로 코드 편집기를 출력(S285) 하게 되고, 메인 메소드를 포함한 클래스가 없는 경우(S281의 No의 경우) 클래스의 유무를 판단(S282)하게 된다.Referring to FIG. 17, the overall process of editing a code (S280) may be performed when a request for editing a code is requested from a user (Yes in S220), or when a class including a main method exists (Yes in S281). If the code editor immediately outputs (S285), and if there is no class including the main method (No in S281), it is determined whether or not the class exists (S282).

클래스가 있는 경우(S282의 Yes의 경우) 메인 메소드를 포함한 클래스 생성 및 'new 연산'을 통해 객체를 생성(S286)하게 되고, 클래스가 없는 경우(S282의 No의 경우) 정적 메소드의 유무를 판단(S283)하게 된다.If there is a class (Yes in S282), an object is created by creating a class including the main method and 'new operation' (S286). If there is no class (No in S282), it is determined whether there is a static method. (S283)

정적 메소드가 있는 경우(S283의 Yes의 경우) 메인 메소드와 정적 메소드를 포함한 클래스를 생성하고 정적 메소드를 호출(S287)하고, 정적 메소드가 없는 경우(S283의 No의 경우) 일반 메소드의 유무를 판단(S284)하게 된다.If there is a static method (Yes in S283), create a class containing the main method and static method, call the static method (S287), and if there is no static method (No in S283), determine whether there is a general method. (S284).

일반 메소드가 있는 경우(S284의 Yes의 경우) 메인 메소드를 포함한 클래스의 생성 및 'new 연산'을 통한 객체 생성과 '객체.메소드()'를 호출(S288)하고, 일반 메소드마저 없는 경우(S284의 Yes의 경우) 잘못된 코드로 판단(S289)하여 구동을 종료하게 된다.If there is a general method (Yes in S284) Create a class including the main method, create an object through 'new operation' and call 'object.method ()' (S288), and if there is no general method (S284) In case of Yes), it is determined that the code is wrong (S289), and the operation is terminated.

상술한 바와 같은 단계를 가지는 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법은, 전자책 뷰어의 종료 시, 상술한 단계를 거치면서 임시파일로 저장되었거나 임시적으로 생성한 파일을 삭제하는 단계(설명의 편의상 도면에는 도시하지 않음)를 더 포함할 수 있다.E-book viewer driving method for learning a programming language having the steps as described above, at the end of the e-book viewer, the step of deleting the files stored or temporarily created as a temporary file through the above steps (for convenience of description) Not shown) may be further included.

프로그래밍 언어를 학습하기 위해서는 실습이 동반되어야 한다. 그러나 현재 대부분의 프로그래밍 학습 방법은 교재(e-book 포함)의 내용을 확인한 다음 편집 에디터에 타이핑을 한 후, 빌드 및 실행하는 과정을 거쳐 결과를 확인하는 다소 번거로운 방법을 거치고 있다.In order to learn a programming language, it must be accompanied by practice. However, most of the current programming learning methods go through a rather cumbersome way of checking the contents of a textbook (including e-books), typing in an editing editor, building and running them, and checking the results.

이에 따라, 본 발명에서는, 기존의 타이핑하는 과정을 줄이고, 바로 실행을 가능하게 함으로써, 편하고 신속하게 결과를 확인할 수 있다.Accordingly, in the present invention, by reducing the existing typing process and enabling the execution immediately, it is possible to confirm the result conveniently and quickly.

뿐만 아니라, 지문에 전체 코드가 아닌 일부분만 실린 경우에도 상황에 맞는 코드를 생성해 줌으로써, 역시 빠른 결과의 확인이 가능하며 초보자의 경우에는 코드 작성에 도움을 줄 수도 있다.In addition, even if the fingerprint contains only a part of the code, instead of the entire code, it is possible to check the results quickly, and even beginners can write code.

상술한 바와 같은 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법은, 응용 프로그램(applicatin)으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.The method of driving an e-book viewer for learning a programming language as described above may be implemented in an application program or in the form of program instructions that may be executed through various computer components and recorded in a computer-readable recording medium. have. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the computer-readable recording medium are those specially designed and configured for the present invention, and may be known and available to those skilled in the computer software arts.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CDROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CDROMs and DVDs, and magneto-optical media such as floptical disks. And hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa.

전자책(e-book)이란 "도서로 간행되었거나 간행될 수 있는 저작물의 내용이 디지털 데이터를 이용해 전자 기록매체·저장 장치에 수록된 뒤, 유무선 정보통신망을 통해 컴퓨터나 휴대단말기로 그 내용을 읽고 보고 들을 수 있도록 한 디지털 도서를 총칭"한다."E-book" means that "the contents of a published or possibly published book are stored on electronic recording media and storage devices using digital data, and then the contents are read and reported on a computer or a mobile terminal through a wired or wireless information communication network. Collectively referred to as a "digital book".

전세계적으로 서책(종이책)의 성장률은 점차 줄어들고 있는데 반해, 전자책은 위에서 언급한 장점들로 인해 증가하고 있는 추세이다.Globally, the growth rate of book books (paper books) is decreasing, whereas e-books are increasing due to the advantages mentioned above.

전자책 중 가장 쉽게 접할 수 있는 대표적인 형식은 pdf이며, 전자책의 한 유형인 디지털교과서는 ePub으로도 많이 제작되고 있는 편이다.The most common format for e-books is pdf, and digital textbooks, which are a type of e-books, are also being produced as ePubs.

2007년부터 정부 주도로 추진된 디지털 교과서(Digital Textbook)는 "서책형 교과서에 멀티미디어 학습자료와 학습지원 기능 들을 부과하여 제공되는 학생용 교재를 말한다."라고 정의하고 있다.The Digital Textbook, which has been promoted by the government since 2007, defines "a textbook for students provided by imposing multimedia learning materials and learning support functions on book-type textbooks."

디지털 교과서의 주요 기능은 기본적인 전자책의 기능 외에 네트워크를 통한 상호작용이 강화되었다.The main function of digital textbooks is to enhance network interactions in addition to the basic e-book functions.

디지털 교과서는 대체적으로 ePub 기반으로 개발이 되는 편이나, 다른 형식으로 개발이 되는 경우도 있다Digital textbooks are usually developed based on ePub, but sometimes in other formats.

정부의 소프트웨어 교육에 대한 관심은 지속적으로 늘어나고 있으며, 2018년부터는 소프트웨어 교육(코딩 교육)이 의무화된다.The government's interest in software education continues to grow, and from 2018, software education (coding education) is mandatory.

이러한 상황이라면 추후 디지털 교과서에 프로그래밍 언어 과목이 추가될 가능성도 있어 보인다. 그러나, 프로그래밍 언어를 학습하기 위해서는 단순히 책의 내용을 보는 데 그치는 것이 아니라 "컴퓨터가 있어야 하고, 내가 배우고자 하는 언어를 편집할 수 있는 에디터 및 이를 빌드해 줄 수 있는 컴파일러가 제공되어야 한다." 이 관점에서 볼 때 기존에 전자책 뷰어(디지털 교과서 포함)가 제공하던 기능들 만으로는 프로그래밍 언어를 공부하는 데는 부족한 면이 있다. 별도로 컴파일러 툴을 실행해서 편집을 해야 하는 불편함이 있기 때문이다.In this situation, it is likely that additional programming language courses will be added to the digital textbook. However, to learn a programming language, not just to view the contents of a book, but "you must have a computer, an editor to edit the language you want to learn, and a compiler to build it." From this point of view, the functions previously provided by e-book viewers (including digital textbooks) are not enough to study programming languages. This is because it is inconvenient to edit by running the compiler tool separately.

이에 따라, 본 발명에서는 전자책의 내용을 보는 학습자가 별도로 편집하고 빌드하여 프로그램을 실행하는 과정이 없이, 뷰어에서 바로 실행할 수 있도록 하여 편의성을 제공할 수 있다.Accordingly, in the present invention, the learner who views the contents of the e-book can be conveniently executed in the viewer without the process of separately editing and building the program, thereby providing convenience.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to the embodiments, those skilled in the art can be variously modified and changed within the scope of the present invention without departing from the spirit and scope of the invention described in the claims below. I can understand.

본 발명에 따르면, 전자책 내에 포함된 코드를 별도의 컴파일러 툴(Visual Studio, eclipse 등)을 실행하지 않고, 바로 결과를 확인할 수 있도록 편의를 제공할 수 있다.According to the present invention, the code included in the e-book may be provided to conveniently check the result without executing a separate compiler tool (Visual Studio, eclipse, etc.).

또한, 전자책 내에 포함된 전체 또는 일부분의 코드를 편집하여 손쉽게 결과를 확인할 수 있도록, 코드를 자동으로 생성할 수 있다.In addition, code can be automatically generated to make it easier to see the results by editing all or part of the code contained in the e-book.

이에 따라, 전자책 뷰어나 디지털교과서 등의 개발 회사에서 프로그래밍 관련 과목에 대한 편의 기능으로 본 발명을 적용할 수 있을 것으로 예상된다.Accordingly, it is expected that the present invention may be applied as a convenience function for programming related subjects in a development company such as an e-book viewer or a digital textbook.

100: 컴파일러 검사부
200: 텍스트 선택부
300: 텍스트 파싱부
400: 소스 파일 생성부
500: 컴파일 수행부
600: 파일 실행부
100: compiler check
200: text selection
300: text parsing unit
400: source file generator
500: compilation execution unit
600: file execution unit

Claims (12)

전자책 뷰어가 실행되면, 컴퓨터에 설치된 컴파일러들을 검사하는 단계;
실행된 전자책 뷰어에 기재된 텍스트 중에서 프로그래밍 언어를 학습할 텍스트를 선택받는 단계;
선택받은 텍스트를 파싱하여 프로그래밍 언어와 키워드를 검사하는 단계;
파싱된 텍스트의 정보를 이용하여 소스 파일을 생성하는 단계;
커맨드 라인(cmd)을 통해 생성된 소스 파일의 컴파일을 수행하는 단계; 및
컴파일의 수행이 완료되어 소스 파일과 동일한 이름의 바이너리(binary) 파일이 생성되면, 생성된 바이너리 파일을 실행시키는 단계를 포함하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
When the e-book viewer is executed, inspecting compilers installed in a computer;
Receiving a text for learning a programming language from among the texts described in the executed e-book viewer;
Parsing the selected text to check programming languages and keywords;
Generating a source file using information of the parsed text;
Performing a compilation of the source file generated through the command line (cmd); And
When the completion of the compilation to generate a binary file having the same name as the source file, comprising the step of executing the generated binary file, e-book viewer driving method for programming language learning.
제1항에 있어서, 상기 선택받은 텍스트를 파싱하여 프로그래밍 언어와 키워드를 검사하는 단계는,
컴파일러가 존재하는 경우 프로그래밍 언어와 필수 키워드의 유무를 판독하고, 컴파일러가 존재하지 않을 경우 컴파일러의 설치 여부에 대한 선택을 사용자에게 요청하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 1, wherein parsing the selected text to check programming languages and keywords includes:
A method of driving an e-book viewer for learning a programming language if the compiler exists, reading the presence of a programming language and the required keywords, and asking the user to choose whether to install the compiler if the compiler does not exist.
제1항에 있어서, 상기 소스 파일을 생성하는 단계는,
파싱 완료 후, 판별된 프로그래밍 언어에 해당하는 필수 키워드가 존재하지 않는 경우, 오류 메시지를 출력하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 1, wherein the generating of the source file comprises:
After parsing is complete, if there is no required keyword corresponding to the determined programming language, an error message is output.
제1항에 있어서,
상기 텍스트를 선택받는 단계 후에, 선택받은 텍스트에 포함된 코드를 편집하는 단계를 더 포함하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 1,
After the step of selecting the text, further comprising the step of editing the code included in the selected text, e-book viewer driving method for programming language learning.
제4항에 있어서, 상기 코드를 편집하는 단계는,
선택받은 텍스트에 메인 메소드(main method)를 포함한 클래스(class)가 존재하는 경우, 선택된 텍스트를 코드를 편집하기 위한 편집 프로그램인 코드 편집기(code editor)에 출력하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 4, wherein editing the code comprises:
If the class containing the main method exists in the selected text, the e-book viewer for learning a programming language that outputs the selected text to a code editor, an editing program for editing code. Driving method.
제4항에 있어서, 상기 코드를 편집하는 단계는,
선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 정적 메소드(static method)만 존재하는 경우, 임의로 클래스를 생성하면서, 생성된 클래스 안에 메인 메소드와 정적 메소드를 포함시키고, 정적 메소드를 호출하는 문을 자동으로 추가시키는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 4, wherein editing the code comprises:
If there is no class containing the main method in the selected text and there is only a static method, it will automatically create a class, include the main and static methods in the generated class, and automatically invoke the statement that calls the static method. A method of driving an e-book viewer for learning a programming language.
제6항에 있어서, 상기 코드를 편집하는 단계는,
임의의 클래스를 생성하여 메인 메소드와 선택된 텍스트인 정적(static) 메소드를 추가하는 단계;
추가된 정적 메소드를 분석하는 단계;
분석된 정적 메소드를 호출하는 단계;
호출된 정적 메소드의 결과형이 기본형 또는 스트링(string)형일 경우, 리턴값을 받을 지역변수를 추가하는 단계;
추가된 지역변수의 다음 줄에 해당 지역변수에 대입된 값을 출력하기 위한 명령문을 추가하는 단계; 및
정적 메소드에 매개변수가 있을 경우, ‘매개변수 개수 - 1'의 수만큼 콤마(,)의 추가 및 하이라이트 시키는 단계를 포함하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 6, wherein editing the code comprises:
Creating an arbitrary class to add a main method and a static method, the selected text;
Analyzing the added static method;
Calling the analyzed static method;
If the result type of the called static method is a basic type or a string type, adding a local variable to receive a return value;
Adding a statement for outputting the value assigned to the local variable on the next line of the added local variable; And
If the static method has a parameter, adding and highlighting a comma (,) by the number of 'parameter number-1', the method of driving an e-book viewer for learning a programming language.
제4항에 있어서, 상기 코드를 편집하는 단계는,
선택받은 텍스트에 메인 메소드를 포함한 클래스가 없고 일반 메소드만 존재하는 경우, 일반 메소드를 포함하고 있는 임의의 클래스를 생성하고, 메인 메소드를 포함하고 있는 임의의 클래스를 하나 더 생성하면서 메인 메소드 내에서 일반 메소드를 포함하고 있는 클래스에 대한 객체를 'new 연산'으로 생성시킨 후 '객체.메소드()'의 형식으로 호출하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 4, wherein editing the code comprises:
If the selected text does not have a class containing the main method and only a regular method exists, create an arbitrary class containing the regular method, create another class containing the main method, and then create a generic class in the main method. A method of driving an e-book viewer for learning a programming language that creates an object for a class containing a method with a 'new operation' and then calls it in the form of 'object.method ()'.
제8항에 있어서, 상기 코드를 편집하는 단계는,
임의의 클래스를 생성하여 선택된 텍스트인 일반 메소드를 추가하는 단계;
임의의 클래스를 하나 더 생성하여 메인 메소드를 추가하는 단계;
선택된 일반 메소드를 분석하는 단계;
추가된 메인 메소드 내에서 일반 메소드를 포함하고 있는 클래스에 대한 객체를 ‘new 연산’으로 생성시키는 단계;
생성된 객체를 ‘객체.메소드()'의 형식으로 호출하는 단계;
일반 메소드의 결과형이 기본형 또는 스트링(string)형일 경우, 리턴값을 받을 지역변수를 추가하는 단계;
추가된 지역변수의 다음 줄에 해당 지역변수에 대입된 값을 출력하기 위한 명령문을 추가하는 단계; 및
일반 메소드에 매개변수가 있을 경우, ‘매개변수 개수 - 1'의 수만큼 콤마(,)의 추가 및 하이라이트 시키는 단계를 포함하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 8, wherein editing the code comprises:
Creating an arbitrary class to add a generic method that is the selected text;
Creating an additional class to add a main method;
Analyzing the selected general method;
Creating an object for a class including a general method as a 'new operation' in the added main method;
Calling the created object in the form of 'object.method ()';
Adding a local variable to receive a return value when the result type of the general method is a basic type or a string type;
Adding a statement for outputting the value assigned to the local variable on the next line of the added local variable; And
If the general method has a parameter, adding and highlighting a comma (,) by the number of 'parameter number-1', the method of driving an e-book viewer for learning a programming language.
제4항에 있어서, 상기 코드를 편집하는 단계는,
선택받은 텍스트에 메인 메소드를 포함하지 않는 클래스만 존재하는 경우, 메인 메소드를 포함하고 있는 임의의 클래스를 생성하면서 메인 메소드 내에서 선택된 클래스에 대한 객체를 'new 연산'으로 생성시키는 문을 자동으로 추가하는, 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법.
The method of claim 4, wherein editing the code comprises:
If there is only a class that does not contain the main method in the selected text, it automatically adds a statement that creates an arbitrary class containing the main method and creates an object for the selected class as a 'new operation' within the main method. To drive an e-book viewer for programming language learning.
제1항 내지 제10항 중 어느 하나의 항에 따른 프로그래밍 언어 학습을 위한 전자책 뷰어 구동 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
A computer-readable recording medium having a computer program recorded thereon for performing an e-book viewer driving method for learning a programming language according to any one of claims 1 to 10.
전자책 뷰어가 실행되면, 컴퓨터에 설치된 컴파일러들을 검사하는 컴파일러 검사부;
전자책 뷰어에 기재된 텍스트 중에서 프로그래밍 언어를 학습할 텍스트를 선택받는 텍스트 선택부;
선택된 텍스트를 파싱(parsing)하여 프로그래밍 언어와 필수 키워드를 검사하는 텍스트 파싱부;
파싱된 텍스트의 정보를 이용하여 소스 파일을 생성하는 소스 파일 생성부;
커맨드 라인(cmd)을 통해 생성된 소스 파일의 컴파일을 수행하는 컴파일 수행부; 및
컴파일의 수행이 완료되어 소스 파일과 동일한 이름의 바이너리 파일이 생성되면, 생성된 바이너리 파일을 실행시키는 파일 실행부를 포함하는, 프로그래밍 언어 학습을 위한 전자책 뷰어.
A compiler checker that checks compilers installed in a computer when the e-book viewer is executed;
A text selection unit for selecting text to learn a programming language from among texts described in an e-book viewer;
A text parsing unit for parsing the selected text and checking a programming language and a required keyword;
A source file generation unit generating a source file using the parsed text information;
A compilation performing unit for compiling a source file generated through a command line (cmd); And
And a file execution unit that executes the generated binary file when the compilation is completed and a binary file having the same name as the source file is generated.
KR1020180043194A 2018-04-13 2018-04-13 e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method KR102046250B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180043194A KR102046250B1 (en) 2018-04-13 2018-04-13 e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180043194A KR102046250B1 (en) 2018-04-13 2018-04-13 e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method

Publications (2)

Publication Number Publication Date
KR20190119794A true KR20190119794A (en) 2019-10-23
KR102046250B1 KR102046250B1 (en) 2019-11-18

Family

ID=68461068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180043194A KR102046250B1 (en) 2018-04-13 2018-04-13 e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method

Country Status (1)

Country Link
KR (1) KR102046250B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040259060A1 (en) * 2001-11-22 2004-12-23 Vivek Kumar System and method for software learning
KR20080097826A (en) 2007-05-03 2008-11-06 이양선 Method of generating an executable file and apparatus of performing the same
KR20130122406A (en) 2012-04-30 2013-11-07 도경민 Program learning system and the method thereof
KR20170059376A (en) * 2015-11-20 2017-05-30 (주)엘리스 Apparatus and method for providing programming course
KR101844047B1 (en) * 2016-11-02 2018-04-02 주식회사 코드잇 Oline programming learning method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040259060A1 (en) * 2001-11-22 2004-12-23 Vivek Kumar System and method for software learning
KR20080097826A (en) 2007-05-03 2008-11-06 이양선 Method of generating an executable file and apparatus of performing the same
KR20130122406A (en) 2012-04-30 2013-11-07 도경민 Program learning system and the method thereof
KR20170059376A (en) * 2015-11-20 2017-05-30 (주)엘리스 Apparatus and method for providing programming course
KR101844047B1 (en) * 2016-11-02 2018-04-02 주식회사 코드잇 Oline programming learning method

Also Published As

Publication number Publication date
KR102046250B1 (en) 2019-11-18

Similar Documents

Publication Publication Date Title
US6769094B2 (en) Method for generating multimedia projects
CN116627429B (en) Assembly code generation method and device, electronic equipment and storage medium
US7284235B2 (en) Creation of content versions using content layers
JP4652680B2 (en) Compiling method and apparatus, and compiler
WO2010044150A1 (en) Program change management device, program change management program, and program change management method
KR101552914B1 (en) Web server application framework web application processing method using the framework and computer readable medium processing the method
KR102046250B1 (en) e-Book Reader and Operating Method for Programming Language Learning, Recording Medium for Performing the Method
Halpern XPOP: a meta-language without metaphysics
US9405739B1 (en) Source code format for IDE code development with embedded objects
Brown An interactive environment for literate programming
CN113296759B (en) User interface processing method, user interface processing system, device and storage medium
JP5399601B2 (en) Implementation code development system and implementation code development program
KR100846203B1 (en) Method for generating mobile application and record media recorded program for realizing the same
Poore Codebraid: Live Code in Pandoc Markdown.
JP2004133630A (en) Programming method, program conversion apparatus, program and storage medium
CN113918664B (en) Data processing method and device
CN110716746B (en) Method and device for converting RN style code into applet style code
bin Uzayr Mastering React Native: A Beginner's Guide
Antani et al. Object-Oriented JavaScript
Tselikis Introduction to C++
Story Techniques of Introducing Document-level JavaScript into a PDF file from a LATEX Source
Busbee File Input and Output
Feiler Exploring Swift Playgrounds: The Fastest and Most Effective Way to Learn to Code and to Teach Others to Use Your Code
Grieshofer Cloud Foundry Config File Generation Using JetBrains MPS and DSLs
CN114048175A (en) Multi-language file generation method and device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant