KR20060089862A - 프리 컴파일링 장치 - Google Patents
프리 컴파일링 장치 Download PDFInfo
- Publication number
- KR20060089862A KR20060089862A KR1020050010646A KR20050010646A KR20060089862A KR 20060089862 A KR20060089862 A KR 20060089862A KR 1020050010646 A KR1020050010646 A KR 1020050010646A KR 20050010646 A KR20050010646 A KR 20050010646A KR 20060089862 A KR20060089862 A KR 20060089862A
- Authority
- KR
- South Korea
- Prior art keywords
- configuration
- source code
- module
- language
- generation module
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47G—HOUSEHOLD OR TABLE EQUIPMENT
- A47G25/00—Household implements used in connection with wearing apparel; Dress, hat or umbrella holders
- A47G25/12—Cane or umbrella stands or holders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47B—TABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
- A47B81/00—Cabinets or racks specially adapted for other particular purposes, e.g. for storing guns or skis
- A47B81/02—Cabinets or racks specially adapted for other particular purposes, e.g. for storing guns or skis specially adapted for storing cleaning utensils
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
하드웨어의 특성에 맞게 소프트웨어의 구조를 쉽게 변경시킬 수 있는 프리 컴파일링 장치가 개시된다. 본 발명에 따른 프리 컴파일링 장치는 소스코드파일을 조사하고, 구성 디렉티브를 찾으며, 디렉티브의 신택스(syntax)를 분석하여, 소스코드로부터 검색된 구성 디렉티브에 상응하는 렉시컬(lexical) 유닛의 트리를 출력하는 소스코드 스캐너, 출력된 구성 디렉티브를 구성 상태로 출력하는 코어, 코어와 사용자 사이에 대화를 제공하고 내부의 구성 상태를 표현하고 사용자가 변수 값을 입력하여 현재의 구성상태를 표현하는 GUI, 코어에서 출력된 구성 상태를 렉시컬 유닛의 흐름에 무관한 프로그래밍 언어로 출력하는 코드 생성 모듈, 소스코드 스캐너 및 코드 생성 모듈에 해당언어의 문법에 관한 정보를 전달하고, 코드 생성 모듈에서 출력된 렉시컬 유닛의 흐름에 무관한 프로그래밍 언어을 입력받아 소스코드를 출력하는 프로그래밍 언어 모듈을 포함한다. 이에 의해 센서 네트워크 상의 무수히 많은 종류의 하드웨어 플래트폼에 동시에 적용할 수 있는 소프트웨어를 생성할 수있다.
프리 컴파일링 장치, 코드 생성 모듈, 프로그래밍 언어 모듈, 소스코드
Description
도 1은 본 발명의 일실시예에 따른 프리 컴파일링 장치의 구성 블럭도,
도 2는 본 발명의 일실시예에 따른 프리 컴파일링 장치에 입력된 소스코드파일에서 코드가 생성되는 과정을 도시한 개략도, 그리고
도 3은 본 발명의 일실시예에 따른 프리 컴파일링 장치가 다양한 하드웨어 플래트폼에 적용됨을 설명하기 위한 개략도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
110 : 소스 코드 스캐너 120 : 코어
121 : 구성상태 표현부 122 : 구성 무결성 제어부
123 : 구성 언어 번역기 130 : 코드생성 모듈
140 : 프로그램밍 언어 모듈 150 : 외부의 언어 모듈
160 : 외부의 코드생성 모듈 170 : GUI
본 발명은 프리 컴파일링 장치에 관한 것으로, 보다 상세하게는 구성상태 표현부, 구성 무결성 제어부, 구성언어 번역기, 코드생성 모듈, 및 프로그래밍 언어 모듈을 이용하여 하드웨어의 특성에 맞게 소프트웨어의 구조를 쉽게 변경시킬 수 있는 프리 컴파일링 장치에 관한 것이다.
일반적으로, 소프트웨어 시스템의 유연성(flexibility)은 다른 상황에서 용이하게 적응할 수 있는 지 여부를 말한다. 즉, 유연한 소프트웨어는 다른 하드웨어 플래트폼에 용이하게 이식(portable)할 수 있는 지 여부를 의미한다. 유연한 소프트웨어 시스템을 만들 때 어느정도 복잡한 구성(configuration) 설비를 사용하는 것이 필수적이다.
이식가능성(portability) 및 범위가능성(scalability)을 얻기 위하여, 소스코드는 다른 하드웨어 파라미터(예를 들면, 메모리 사이즈 및 IRQ 넘버)에 대해서 용이하게 적응할 수 있어야 한다. 더우기 다른 플래트폼은 같은 작업을 해결하기 위하여 다른 알고리즘을 요구할 수 있다. 따라서, 알고리즘 교체 및 튠닝 능력은 구성 기술에 의해서 지지 되어야 한다. 튠닝은 알고리즘이 의존하는 데이터 타입 및 가변하는 몇개의 상수를 포함한다.
소프트웨어의 효율성은 유연성에 의해서 영향받을 수 있다. 역동적으로 유연한 소프트웨어는 런닝 타임에서 자신을 재구조(restructure)할 수 있다. 역동적으로 유연한 소프트웨어는 그러한 역동적인 구조 변화의 가능한 오버헤드 때문에 잠재적으로 효율성이 저하된다. 상기 오버헤드를 피하기 위하여, 여러가지 경우에 정적으로 결정하는 것이 가능하다. 즉, 전체 프로젝트 소스로부터 특정 경우에 필요한 코드만을 추출하고, 그밖의 모든 역동적인 검사 및 결정을 제거한다면, 특정 경우에 필요한 제한된 기능성을 가지는 컴팩트한 소프트웨어를 얻을 수 있다. 따라 서, 정적인 리소스 관리 및 소스 부분을 포함 또는 제외 가능성은 구성 기술에 의해서 유지되어야 한다.
XML(eXtensible Markup Language)는 표준 방식으로 데이터 엘리먼트를 정의하기 위하여 통상 사용되는 텍스트에 기초한 언어이다. XML은 태그 구조를 사용하고, 태그들이 문서의 개발자에 의해서 정의되도록 한다. 따라서, 실질적으로 어떠한 데이터 아이템도 XML을 통해서 인식될 수 있다.
한편, 센서 네트워크 상의 무수히 많은 종류의 하드웨어 플래트폼에 동시에 적용할 수 있는 소프트웨어 문법이 필요하다. 이를 해결하기 위해서 종래에는 두 가지 방법으로 그 해결을 시도 하였다. 즉, 작동중 역동적인 변화방법(dynamic change method on running) 및 컴파일링에서 정적인 변화 방법(static change method on compiling)이 있다. 전자는 MS 윈도우의 OS 소스 코드가 초경량의 리소스를 갖는 하드웨어 플래트폼에 적합하지 않는 문제점이 있다. 후자는 디렉티브를 이용한 방법으로서, 플래트폼마다 디렉티브를 지정하여 다양한 종류의 플래트폼을 동시에 적용하기에 효율적이지 못하는 문제점이 발생한다.
따라서, 본 발명의 목적은 프리 컴파일링 장치에 있어서, 구성상태 표현부, 구성 무결성 제어부, 구성언어 번역기, 코드생성 모듈, 및 프로그래밍 언어 모듈을 이용하여 하드웨어의 특성에 맞게 소프트웨어의 구조를 쉽게 변경시킬 수 있는 프리 컴파일링 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 프리 컴파일링 장치는 소스코드파일을 조사하고, 구성 디렉티브를 찾으며, 디렉티브의 신택스(syntax)를 분석하여, 소스코드로부터 검색된 구성 디렉티브에 상응하는 렉시컬(lexical) 유닛의 트리를 출력하는 소스코드 스캐너, 상기 출력된 구성 디렉티브를 구성 상태로 출력하는 코어, 상기 코어와 사용자 사이에 대화를 제공하고 내부의 구성 상태를 표현하고 사용자가 변수 값을 입력하여 현재의 구성상태를 표현하는 GUI(graphical user interface), 상기 코어에서 출력된 구성 상태를 렉시컬(lexical) 유닛의 흐름에 무관한 프로그래밍 언어로 출력하는 코드 생성 모듈(code generation modules), 상기 소스코드 스캐너 및 코드 생성 모듈에 해당언어의 문법에 관한 정보를 전달하고, 상기 코드 생성 모듈에서 출력된 렉시컬(lexical) 유닛의 흐름에 무관한 프로그래밍 언어을 입력받아 소스코드를 출력하는 프로그래밍 언어 모듈(programming language modules)를 포함한다.
본 발명에 따른 프리 컴파일링 장치는 상기 프로그래밍 언어 모듈에 부가되어 하드 코드된 프로그래밍 언어 모듈을 개량하고, XML에 기초한 언어에서 씌여질 수 있는 외부의 언어 모듈(external language module)를 더 포함한다.
본 발명에 따른 프리 컴파일링 장치는 상기 코드 생성모듈에 부가되어 하드 코드된 코드 생성모듈을 개량하고, XML에 기초한 언어에서 씌여질 수 있는 외부의 코드 생성모듈(external code generation module)를 더 포함한다.
본 발명에 따른 프리 컴파일링 장치의 코어는 상기 소스 코드 스캐너가 소스 코드를 스캐닝하는 동안, 구성의 내부구조를 수립하고, 목적 내부의 데이터로서 구 성 상태를 출력하는 구성 상태 표현부(configuration state representation), 상기 소스 코드 스캐너에서 출력된 구성 디렉티브 및 사용자의 입력의 결점을 체크하여 수정된 리포트(report)를 출력하는 구성 무결성 제어부(configuration integrity controller), 상기 내부적으로 표현된 구성 디렉티브를 구성 상태로 출력하여 구성 디렉티브를 수행하는 구성 언어 번역기(configuration language interpreter)를 포함한다.
본 발명에 따른 프리 컴파일링 장치는 상기 프로그래밍 언어 모듈에 부가되어 하드 코드된 프로그래밍 언어 모듈을 개량하고, XML에 기초한 언어에서 씌여질 수 있는 외부의 언어 모듈(external language module)를 더 포함한다.
본 발명에 따른 프리 컴파일링 장치는 상기 코드 생성모듈에 부가되어 하드 코드된 코드 생성모듈을 개량하고, XML에 기초한 언어에서 씌여질 수 있는 외부의 코드 생성모듈(external code generation module)를 더 포함한다.
이하에서는 첨부된 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 프리 컴파일링 장치의 구성 블럭도이다. 도 1에서, 본 발명의 일실시예에 따른 프리 컴파일링 장치는 구성 디렉티브를 검출하는 소스코드 스캐너(source code scanner)(110), 구성 상태 표현부(121), 구성 무결성 제어부(122), 구성 언어 번역기(123)를 포함하는 코어(core)(120), 프로그래밍 언어 형태의 코드를 생성하는 코드 생성 모듈(code generation modules)(130), 소스코드 스캐너와 코드 생성 모듈에 해당 언어의 문법에 대한 정보를 전달하는 프로그래밍 언어 모듈(programming language modules)(140)을 포함 한다.
상기 코어(core)(120)는 구성의 내부 구조를 수립하는 구성 상태 표현부(configuration state representation)(121), 구성 문법의 무결성을 검사하는 구성 무결성 제어부(configuration integrity controller)(122), 구성 디렉티브를 수행하는 구성 언어 번역기(configuration language interpreter)(123)를 포함한다.
도 1에 도시된 바와 같이, 소스코드 스캐너(110)에 프로젝트 소스 코드가 입력되면 소스 코드 스캐너(110)는 모든 소스코드파일을 조사하고, 구성 디렉티브를 찾는다. 구성 디렉티브는 파일 포맷에 의존하는 특별한 코멘트 내부에 있다. 또한, 소스 코드 스캐너는 디렉티브의 신택스(syntax)를 분석한다. 따라서 소스코드로부터 검색된 구성 디렉티브에 상응하는 렉시컬(lexical) 유닛의 트리가 출력된다. 상기 출력된 구성 디렉티브는 코어(120)를 통해 구성 상태가 출력된다.
이하 코어(120) 내부의 작용을 설명한다. 구성 상태 표현부(configuration state representation)(121)는 구성 상태의 내부 구조를 저장하고 조작하기 위해서 데이터 타입을 요약한다. 소스 코드를 스캐닝하는 동안, 구성의 내부구조가 수립된다. 프로젝트 구성의 한 종류의 이미지를 구성 상태 표현이라 부른다. 구성 상태 수정 프리미티브(primitives)가 입력되면, 목적 내부의 데이터로서 구성 상태가 출력된다.
구성 무결성 제어부(configuration integrity controller)(122)는 디렉티브와 사용자의 입력의 결점을 체크한다. 따라서 내부적으로 표현된 구성 디렉티브가 입력되면, 수정된 리포트(report)가 출력된다.
구성 언어 번역기(configuration language interpreter)(123)는 구성 디렉티브를 수행한다. 따라서 내부적으로 표현된 구성 디렉티브가 입력되면, 구성 상태가 출력된다.
코드 생성 모듈(code generation modules)(130)은 구성 목적(objects)의 값을 프로그래밍 언어 형태로 표현한다. 구성 목적의 'kind' 속성은 코드 생성모듈의 이름이다. 상기 구성 언어 번역기(123)에서 출력된 구성 상태가 입력되면 렉시컬(lexical) 유닛의 흐름에 무관한 프로그래밍언어가 출력된다. 예를 들면 스트링 타입의 구성변수 A로부터, 그 것의 값으로 'int'를 포함하면, 선택된 코드 생성 모듈에 의존하여 두 개의 다른 것이 생성될 수 있다. C에 대한 타입 정의로 "typedef int A;", C에 대한 매크로 정의로 "#define A int"로 생성될 수 있다.
프로그래밍 언어 모듈(programming language modules)(140)은 해당언어의 코멘트 신택스에 관한 정보를 소스코드 스캐너(source code scanner)(110) 및 코드 생성 모듈(code generation modules)(130)에 전달하고, 상기 코드 생성 모듈(code generation modules)(130)에서 출력된 렉시컬(lexical) 유닛의 흐름에 무관한 프로그래밍언어을 입력받아 소스코드를 출력한다.
외부의 언어 모듈(external language module)(150) 및 외부의 코드 생성모듈(external code generation module)(160)은 구성기(configurator)의 능력을 신장시키기 위해서 구성기 팔레트(palette)에 부가될 수 있다. 상기 외부의 언어 모듈(150) 및 외부의 코드 생성모듈(160)은 하드 코드된 모듈을 개량한다. 상기 외부 모듈은 구성 프로그램의 수정없이 구성기의 기능을 신장시킬 수 있다. 상기 외부 모듈은 XML에 기초한 언어에서 씌여질 수 있다.
예를 들면 구성 어레이로부터 반복된 코드를 생성하기 위해서 적절한 외부의 코드생성부가 만들어질 수 있다. 구성 어레이로 1,2,3,4,5 을 갖고 원하는 생성된 코드가 int* a = {f(1), f(2), f(3), f(4), f(5)} 이면, 외부 모듈은 아래와 같은 방식으로 기술된다.
<codegen_module name="apply_f">
<object class="array">
<element out="f(@element_in)">
</element>
</object>
</codegen_module>
그리고 아래와 같이 어레이 선언(declaration)에서 사용된다.
<array name="a" kind="apply_f" values="1 2 3 4 5"/>
GUI(graphical user interface)(170)는 사용자와 구성기 코어(120)사이에 대화를 제공하고 내부의 구성 상태를 표현하고 사용자가 변수 값을 입력하여 현재의 구성상태를 표현한다.
도 2는 본 발명의 일실시예에 따른 프리 컴파일링 장치에 입력된 소스코드파일에서 코드가 생성되는 과정을 개략적으로 도시한 도면이다. 본 발명에 따른 프리 컴파일링 장치에 입력된 소스코드파일(210)이 소스 코드 스캐너에 의해서 구성 디렉티브(220)상태가 출력되고, 코드 생성모듈에 의해서 생성된 코드(230)를 도시한 다. 코드생성 모듈에서 출력된 렉시컬(lexical) 유닛의 흐름에 무관한 프로그래밍언어는 원래의 소스 코드 파일에 대체된다.
본 발명에 따른 프리 컴파일링 장치의 제1 실시예로서,
아래와같은 소스코드 파일을 입력하면
/*
<var name="file_id" type="name" kind="typedef"/>
*/
생성된 코드는 (사용자가 "int" 값을 지정한 경우)
typedef int file_id;
이다.
본 발명에 따른 프리 컴파일링 장치의 제2 실시예로서,
아래와같은 소스코드 파일을 입력하면
/*
<var name="file_id" type="name" kind="define"/>
*/
생성된 코드는 (사용자가 "int" 값을 지정한 경우)
#define file_id int
이다.
본 발명에 따른 프리 컴파일링 장치의 제3 실시예로서,
아래와같은 소스코드 파일을 입력하면
/*
<var name="APPLE" type="str" kind="define"/>
<var name="n_apples" type="int" kind="assign"/>
*/
생성된 코드는 (사용자가 "apple" and "10" 값을 지정한 경우)
#define APPLE "apple"
int n_apples = 10;
이다.
도 3은 본 발명의 일실시예에 따른 프리 컴파일링 장치가 다양한 하드웨어 플래트폼에 적용됨을 설명하기 위한 개략도이다. 어떠한 소스코드도 본 발명의 일실시예에 따른 프리 컴파일링 장치에 의해서 하드웨어 플래트폼에 적합하게 생성할 수 있다. 구성된 OS 코드는 컴파일링에 의해서 초소형 센서 노드 컴퓨터에서 대용량 컴퓨터까지 적용할 수 있다.
이상 설명한 바와 같이 본 발명에 따르면, XML을 이용하여 하드웨어의 특성에 맞게 소프트웨어의 구조를 쉽게 변경시킬 수 있다. 센서 네트워크 상의 무수히 많은 종류의 하드웨어 플래트폼에 동시에 적용할 수 있는 소프트웨어를 생성할 수있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구 하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
Claims (6)
- 소스코드파일을 조사하고, 구성 디렉티브를 찾으며, 디렉티브의 신택스(syntax)를 분석하여, 소스코드로부터 검색된 구성 디렉티브에 상응하는 렉시컬(lexical) 유닛의 트리를 출력하는 소스코드 스캐너;상기 출력된 구성 디렉티브를 구성 상태로 출력하는 코어;상기 코어와 사용자 사이에 대화를 제공하고 내부의 구성 상태를 표현하고 사용자가 변수 값을 입력하여 현재의 구성상태를 표현하는 GUI(graphical user interface);상기 코어에서 출력된 구성 상태를 렉시컬(lexical) 유닛의 흐름에 무관한 프로그래밍 언어로 출력하는 코드 생성 모듈(code generation modules);상기 소스코드 스캐너 및 코드 생성 모듈에 해당언어의 문법에 관한 정보를 전달하고, 상기 코드 생성 모듈에서 출력된 렉시컬(lexical) 유닛의 흐름에 무관한 프로그래밍 언어을 입력받아 소스코드를 출력하는 프로그래밍 언어 모듈(programming language modules);를 포함하는 것을 특징으로 하는 프리 컴파일링 장치.
- 제 1항에 있어서,상기 프로그래밍 언어 모듈에 부가되어 하드 코드된 프로그래밍 언어 모듈을 개량하고, XML에 기초한 언어에서 씌여질 수 있는 외부의 언어 모듈(external language module)를 더 포함하는 것을 특징으로 하는 프리 컴파일링 장치.
- 제 2항에 있어서,상기 코드 생성모듈에 부가되어 하드 코드된 코드 생성모듈을 개량하고, XML에 기초한 언어에서 씌여질 수 있는 외부의 코드 생성모듈(external code generation module)를 더 포함하는 것을 특징으로 하는 프리 컴파일링 장치.
- 제 1항에 있어서,상기 코어는상기 소스 코드 스캐너가 소스 코드를 스캐닝하는 동안, 구성의 내부구조를 수립하고, 목적 내부의 데이터로서 구성 상태를 출력하는 구성 상태 표현부(configuration state representation);상기 소스 코드 스캐너에서 출력된 구성 디렉티브 및 사용자의 입력의 결점을 체크하여 수정된 리포트(report)를 출력하는 구성 무결성 제어부(configuration integrity controller);상기 내부적으로 표현된 구성 디렉티브를 구성 상태로 출력하여 구성 디렉티브를 수행하는 구성 언어 번역기(configuration language interpreter);를 포함하 는 것을 특징으로 하는 프리 컴파일링 장치.
- 제 4항에 있어서,상기 프로그래밍 언어 모듈에 부가되어 하드 코드된 프로그래밍 언어 모듈을 개량하고, XML에 기초한 언어에서 씌여질 수 있는 외부의 언어 모듈(external language module)를 더 포함하는 것을 특징으로 하는 프리 컴파일링 장치.
- 제 5항에 있어서,상기 코드 생성모듈에 부가되어 하드 코드된 코드 생성모듈을 개량하고, XML에 기초한 언어에서 씌여질 수 있는 외부의 코드 생성모듈(external code generation module)를 더 포함하는 것을 특징으로 하는 프리 컴파일링 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050010646A KR100683853B1 (ko) | 2005-02-04 | 2005-02-04 | 프리 컴파일링 장치 |
US11/345,221 US7761860B2 (en) | 2005-02-04 | 2006-02-02 | Pre-compiling device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050010646A KR100683853B1 (ko) | 2005-02-04 | 2005-02-04 | 프리 컴파일링 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060089862A true KR20060089862A (ko) | 2006-08-09 |
KR100683853B1 KR100683853B1 (ko) | 2007-02-16 |
Family
ID=36781369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050010646A KR100683853B1 (ko) | 2005-02-04 | 2005-02-04 | 프리 컴파일링 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7761860B2 (ko) |
KR (1) | KR100683853B1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080148223A1 (en) * | 2006-12-19 | 2008-06-19 | Milind Arun Bhandarkar | System for defining a declarative language |
DE102007059524B4 (de) * | 2007-12-11 | 2009-09-17 | Continental Automotive Gmbh | Verfahren zum Erzeugen einer Betriebssoftware auf einem Steuergerät für ein Kraftfahrzeug sowie Steuergerät |
KR101743463B1 (ko) | 2011-03-18 | 2017-06-15 | (주)지앤씨인터렉티브 | 플렛폼 독립적 소스 코드 번역기 |
US9003231B1 (en) | 2012-04-16 | 2015-04-07 | Google Inc. | System for instantiating service instances for testing in a known state |
KR101710305B1 (ko) | 2016-06-01 | 2017-02-27 | 구자철 | 사용자 중심의 기능 가변식 컴파일링 시스템 |
US10346055B2 (en) * | 2017-07-28 | 2019-07-09 | Advanced Micro Devices, Inc. | Run-time memory access uniformity checking |
US10691282B2 (en) | 2017-09-13 | 2020-06-23 | Hrl Laboratories, Llc | High-assurance network gateway generators |
CN111309309B (zh) * | 2020-02-20 | 2023-09-22 | 杭州涂鸦信息技术有限公司 | 基于设备的软件开发方法及其系统和装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778231A (en) * | 1995-12-20 | 1998-07-07 | Sun Microsystems, Inc. | Compiler system and method for resolving symbolic references to externally located program files |
US6173437B1 (en) * | 1997-07-24 | 2001-01-09 | Intervoice Limited Partnership | Multimedia scripting tool |
US6219628B1 (en) * | 1997-08-18 | 2001-04-17 | National Instruments Corporation | System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations |
US6230312B1 (en) * | 1998-10-02 | 2001-05-08 | Microsoft Corporation | Automatic detection of per-unit location constraints |
US20060095274A1 (en) * | 2004-05-07 | 2006-05-04 | Mark Phillips | Execution engine for business processes |
FR2827974B1 (fr) * | 2001-07-26 | 2005-02-11 | Trusted Logic | Procede pour la compression d'un code interprete par analyse semantique |
US6889172B2 (en) * | 2001-08-15 | 2005-05-03 | National Instruments Corporation | Network-based system for configuring a measurement system using software programs generated based on a user specification |
US7010779B2 (en) * | 2001-08-16 | 2006-03-07 | Knowledge Dynamics, Inc. | Parser, code generator, and data calculation and transformation engine for spreadsheet calculations |
US7299463B2 (en) * | 2001-09-28 | 2007-11-20 | Intel Corporation | Method for atomically updating a plurality of files |
US7850066B2 (en) * | 2001-12-07 | 2010-12-14 | Ecebs Limited | Smartcard system |
US20050042593A1 (en) * | 2002-05-21 | 2005-02-24 | Thinksmart Performance Systems Llc | System and method for providing help/training content for a web-based application |
US20030221068A1 (en) * | 2002-05-23 | 2003-11-27 | Michael Tsuji | Method and system for data cache |
US20040148370A1 (en) * | 2003-01-23 | 2004-07-29 | Electronic Data Systems Corporation | System and method for composing, configuring, deploying, and managing services using a graphical user interface |
US7194733B2 (en) * | 2003-06-11 | 2007-03-20 | Microsoft Corporation | Transformation of an asynchronous transactional messaging language into a web services compatible language |
US7707566B2 (en) * | 2003-06-26 | 2010-04-27 | Microsoft Corporation | Software development infrastructure |
US7296264B2 (en) * | 2003-07-18 | 2007-11-13 | Bea Systems, Inc. | System and method for performing code completion in an integrated development environment |
US7823139B2 (en) * | 2003-07-19 | 2010-10-26 | Bea Systems, Inc. | Method and system for translating programming languages |
JP4652680B2 (ja) * | 2003-12-22 | 2011-03-16 | パナソニック株式会社 | コンパイル方法および装置、ならびにコンパイラ |
US7409678B2 (en) * | 2004-01-28 | 2008-08-05 | International Business Machines Corporation | Compiler, compilation and storage |
US7385942B2 (en) * | 2004-03-03 | 2008-06-10 | International Business Machines Corporation | System for maintaining the integrity of remote data by making it disposable |
JP2005284577A (ja) * | 2004-03-29 | 2005-10-13 | Matsushita Electric Ind Co Ltd | コンパイラ |
US20060168013A1 (en) * | 2004-11-26 | 2006-07-27 | Invensys Systems, Inc. | Message management facility for an industrial process control environment |
US7243195B2 (en) * | 2004-12-02 | 2007-07-10 | International Business Machines Corporation | Software managed cache optimization system and method for multi-processing systems |
US7594225B2 (en) * | 2004-12-20 | 2009-09-22 | Microsoft Corporation | Integrated setup for generating customization XML |
US20060236310A1 (en) * | 2005-04-19 | 2006-10-19 | Domeika Max J | Methods and apparatus to iteratively compile software to meet user-defined criteria |
US20080244511A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Developing a writing system analyzer using syntax-directed translation |
US20090049514A1 (en) * | 2007-08-15 | 2009-02-19 | Nokia Corporation | Autonomic trust management for a trustworthy system |
-
2005
- 2005-02-04 KR KR1020050010646A patent/KR100683853B1/ko not_active IP Right Cessation
-
2006
- 2006-02-02 US US11/345,221 patent/US7761860B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7761860B2 (en) | 2010-07-20 |
KR100683853B1 (ko) | 2007-02-16 |
US20060179426A1 (en) | 2006-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100683853B1 (ko) | 프리 컴파일링 장치 | |
US11144833B2 (en) | Data processing apparatus and method for merging and processing deterministic knowledge and non-deterministic knowledge | |
CN108885632B (zh) | 用于实时数据流编程的高效状态机 | |
US9471290B2 (en) | Utilizing special purpose elements to implement a FSM | |
CN105022630B (zh) | 一种组件管理系统及组件管理方法 | |
US20110145785A1 (en) | Automatic Optimization of String Allocations in a Computer Program | |
KR20140018881A (ko) | 오토마톤의 진입 차수 및/또는 진출 차수를 제어하기 위한 양화 언롤링 | |
US20190146764A1 (en) | Using comments of a program to provide optimizations | |
CN107220096A (zh) | 一种json数据解析方法及装置 | |
US20140317607A1 (en) | Optimizing intermediate representation of script code by eliminating redundant reference count operations | |
CN112270176B (zh) | 深度学习框架中模式转换的方法、装置和计算机存储介质 | |
US8516457B2 (en) | Method, system and program storage device that provide for automatic programming language grammar partitioning | |
CN114443041A (zh) | 抽象语法树的解析方法及计算机程序产品 | |
EP4195092B1 (en) | Text processing method and apparatus, system, device, and storage medium | |
CN113157917A (zh) | 基于OpenCL的优化分类模型的建立、优化分类方法及系统 | |
KR20230065017A (ko) | 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법 | |
US20100023924A1 (en) | Non-constant data encoding for table-driven systems | |
CN113110874B (zh) | 用于生成代码结构图的方法和装置 | |
Rudi et al. | CodeFlow: A code generation system for Flash-X orchestration runtime | |
US11429358B2 (en) | Representing asynchronous state machine in intermediate code | |
JP2007122187A (ja) | プログラム・コード生成装置 | |
CN109814869B (zh) | 应用于机器人的解析方法、系统及计算机可读存储介质 | |
JP2006338190A (ja) | 実装コード開発システム、及び実装コード開発プログラム | |
CN117971236B (zh) | 基于词法和语法分析的算子解析方法、装置、设备及介质 | |
KR20180057317A (ko) | 단계형 중간언어 변환 장치 및 방법 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20130111 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131224 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150202 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |