The purpose of this thesis is to develop a System for Code Translation (SCT) which is composed of Program Design Language for C (PDLC), Design Analyzer, and Code Generator. The input to the SCT is an abstract design specification, or a detailed design specification described by PDLC. the specification is analyzed by Design Analyzer, and if legal and correct, the C programming code that implements the specification is directly generated by Code Generator. Once the target code is generated, one need to use the conventional linkers and loaders to execute the object program code.
The use of database plays a significant role in SCT since it allows a designer to replay the evolution of the system from design to implementation as many times as desired. The access to the hierarchically organized design information is also needed. Furthermore, a method, similar ti the syntax-directed transition scheme in a compiler, is used to produce code from design specification.
The availability of early implementations constitutes a definite advantage for error detection and precise specification. The main advantages of utilizing SCT in software development are as follows;
(1) the human effort is mainly devoted to the design specification phase,
(2) the automatically generated program code are equivalent to the specifications,
(3) the early feedback from the user can be obtained by observing the behavior of the Analyzer.
본 논문은 디자인 단계로 부터의 직접적(direct)인 코드 생성이 가능한 시스템(SCT)의 구현을 위한 것으로, 이를 위해서 우선 디자인 언어 PDLC (Program Design Language for C)의 개발과 사용자가 디자인 언어로 기술한 디자인 명세의 분석이 디자인 분석기(Design Analyzer)에 의해서 이루어 지며, 분석 결과가 옳다면, 코드 생성기(Code Generator)를 통해서 C 프로그래밍 언어로 구성된 코드가 생성 된다. 이렇게 생성된 코드는 전통적인 콤파일러를 통해서 실행될 수 있다.
본 시스템에서 원하는 코드를 얻기위해 계속적인 수정과 보완이 이루어 져야하므로 데이타 베이스의 이용이 필연적이며, 분석의 편리를 위해서 체계적인 상하관계에 의한 디자인 명세가 이용된다. 또한 디자인 단계에서의 직접적인 코드생성을 위해선 Syntax Directed Transition 방법과 유사한 변환 방법이 필요하다.
본 시스템의 활용으로 조기 에러 발견과 명확한 명세를 위한 많은 이득을 얻을 수 있을 것이다. 특히, 소프트웨어 개발에 있어서 개발자는 디자인의 명세에만 주력하게 되며, SCT 시스템에 의해서 생성된 프로그램 코드가 기술된 디자인 명세와 정확하게 일치하게 된다. 또한 디자인 분석기를 통해서 얻어진 결과에 따라서 디자인 단계에서의 필요한 수정이 보다 빨리 이루어 질수 있을 것이다.