KR960035260A - 소프트웨어 매크로 호출내에 검출된 에러의 위치를 표시하기 위한 방법 및 장치 - Google Patents

소프트웨어 매크로 호출내에 검출된 에러의 위치를 표시하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR960035260A
KR960035260A KR1019960009899A KR19960009899A KR960035260A KR 960035260 A KR960035260 A KR 960035260A KR 1019960009899 A KR1019960009899 A KR 1019960009899A KR 19960009899 A KR19960009899 A KR 19960009899A KR 960035260 A KR960035260 A KR 960035260A
Authority
KR
South Korea
Prior art keywords
macro
error
location
program
source
Prior art date
Application number
KR1019960009899A
Other languages
English (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 리 팻치
Publication of KR960035260A publication Critical patent/KR960035260A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/423Preprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

소프트웨어의 컴파일시의 에러 메시지를 보다 유용하게 생성시키기 위한 방법과 장치가 제공된다. 이 소프트웨어 프로그램을 매크로 정의 및 이 매크로의 호출을 포함한다. 상기 매크로는 컴파일작업시 확장된다. 본 발명은 매크로 확장의 히스토리를 세이브하는 몇몇 테이블을 생성한다. 만약 매크로의 컴파일시 에러가 발생되면 본 발명은 세이브된 히스토리 정보를 사용하여, 특히 매크로 확장의 히스토리 및 매크로의 원시 프로그램의 에러의 위치를 식별하는 에러 메시지를 프린트한다. 본 발명은 중첩된 매크로 호출의 다수의 매크로 히스토리를 프린트할 수 있다.

Description

소프트웨어 매크로 호출내에 검출된 에러의 위치를 표시하기 위한 방법 및 장치
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템의 블럭도이다. 제2도는 제1도의 컴퓨터 시스템의 메모리에 저장된 3개 테이블의 포맷을 나타낸다. 제3(a), 3(b), 3(c) 및 3(d)도는 제2도의 소스 위치 테이블내 엔트리들의 상세한 포멧을 나타낸다. 제4도는 원시 프로그램의 1예이다.

Claims (20)

  1. 컴퓨터 시스템에 의해 수행되는, 원시 프로그램을 목적 프로그램으로 변환하기 위한 방법에 있어서, 상기 방법은, 원시 프로그램이 매크로정의 및 이 매크로 정의에 규정된 매크로를 호출하는 명령을 포함하고, 컴파일 단계가 매크로를 호출하는 명령을 확장하는 부단계를 포함하는, 목적 프로그램을 생성하기 위해 원시 프로그램을 컴파일하는 단계; 매크로 정의의 원시 프로그램의 위치와 매크로를 호출하는 명령이 세이브될 수 있도록, 매크로 확장의 부단계를 나타내는 히스토리 정보를 메모리에서 생성하는 단계; 상기 컴파일단계 동안 매크로가 확장되었을 때 에러가 발생되었는지를 결정하는 단계; 및 에러 메시지가 특히 매크로 정의의 원시 프로그램내의 에러의 위치 및 매크로를 호출하는 명령의 원시 프로그램내의 위치를 식별할 수 있도록 상기 히스토리 정보에 따라 에러가 발생된 경우 에러 메시지를 프린트하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 프린트 단계는 또한 컴파일 단계시 매크로가 확장되었을 때 발생되는 에러의 형태를 식별하는 메시지를 프린트하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 원시 프로그램이 C 프로그램 언어로 기록되는 방법.
  4. 제1항에 있어서, 상기 히스토리 생성 단계는 원시 프로그램의 문자 스트링이 단일의, 특유한 토큰 번호로 표시된 히스토리 정보를 생성하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 결정 단계가 컴파일 에러의 위치를 결정하는 단계를 포함하고, 상기 컴파일 에러의 위치가 메모리의 테이블에 저장된 단일의, 특유한 토큰 번호를 표시되는 방법.
  6. 제1항에 있어서, 상기 히스토리 정보가 컴파일 단계시 수행되는 매크로 확장의 소스 및 수신지를 저장하는 트리 데이타 구조를 포함하는 방법.
  7. 제1항에 있어서, 상기 히스토리 정보는 메모리의 수신지 테이블 및 소스 테이블에 저장되는 방법.
  8. 제7항에 있어서, 상기 수신지 테이블 및 소스 테이블은 KN바이트의 메모리 (단, K는 9 내지 12이고 N은 원시 프로그램에 포함된 매크로 호출의 수)를 필요로 하는 방법.
  9. 제1항에 있어서, 상기 원시 프로그램에 있어서의 토큰의 위치는 소스 위치 테이블에 저장하는 방법.
  10. 제9항에 있어서, 상기 소스 위치 테이블은 KN 바이트의 메모리 (단, K는 0.5 내지 1이고 N은 원시 프로그램의 원래 소스 토큰의 수)를 필요로 하는 방법.
  11. 제1항에 있어서, 상기 프린트 단계는, 특히 매크로 정의의 파일명, 라인번호 및 에러의 위치와 매크로를 호출하는 명령의 파일명, 라인번호 및 위치를 식별하는 단계를 포함하는 방법.
  12. 제1항에 있어서, 상기 원시 프로그램은 제2매크로 정의 및 이 제2매크로 정의에 규정된 제2매크로를 호출하는 중첩된 명령을 포함하고, 상기 중첩된 명령은 제1매크로 정의내에 있으며; 상기 컴파일 단계는 제1 및 제2매크로를 호출하는 명령을 확장하는 부단계를 포함하고; 상기 히스토리 생성 단계는 상기 제1 및 제2매크로 정의와 상기 매크로들을 호출하는 제1 및 제2명령들의 원시 프로그램에 있어서의 위치들을 세이브하며;상기 결정단계는 제2매크로가 컴파일 단계시 확장되었을 때 에러가 발생되었는지를 결정하는 단계를 포함하고; 상기 프린트 단계는, 특히 에러 메시지가 상기 제2매크로 정의의 원시 프로그램내의 에러의 위치 및 상기 제1 및 제2명령의 위치를 식별할 수 있도록, 히스토리 정보에 따라 에러가 발생된 경우 에러 메시지를 프린트하는 단계를 포함하는 방법.
  13. 원시 프로그램을 저장하는 메모리; 목적 프로그램을 생성하기 위해, 매크로 정의 및 이 매크로 정의에 규정된 매크로를 호출하는 명령을 포함하는 원시 프로그램을 컴파일하는 메모리에 결합하며, 또한 상기 매크로를 호출하는 명령들을 확장하는 컴파일러부; 상기 메모리에 저장된 히스토리 정보를 생성하는 메모리에 결합된 히스토리 생성기로서, 상기 히스토리 정보는 매크로의 확장을 나타내며, 이에 따라 매크로 정의 및 매크로를 호출하는 명령의 원시 프로그램의 위치가 세이브되는, 히스토리 생성기; 상기 컴파일부에 결합되고, 컴파일시 매크로가 확장될 때 에러의 발생여부를 결정하는 결정부; 및 에러 메시지가 특히 매크로 정의의 원시 프로그램내의 에러의 위치 및 매크로를 호출하는 명령의 원시 프로그램내의 위치를 식별할 수 있도록, 상기 히스토리 정보에 따라 컴파일시 에러가 발생된 경우 에러 메시지를 프린트하는 프린트부를 포함하는, 원시 프로그램을 목적 프로그램으로 변환하는 장치.
  14. 제13항에 있어서, 상기 프린트부는 또한 컴파일시 매크로가 확장되었을 때 발생되는 에러의 형태를 식별하는 메시지를 프린트하는 장치.
  15. 제13항에 있어서, 상기 히스토리 생성기는 원시 프로그램의 문자 스트링이 단일의, 특유한 토큰 번호로 표시된 히스토리 정보를 생성하는 장치.
  16. 제13항에 있어서, 상기 결정부는 컴파일 에러의 위치를 결정하는 단계를 포함하고 상기 컴파일 에러의 위치가 메모리의 테이블에 저장된 단일의, 특유한 토큰 번호로 표시되는 장치.
  17. 제13항에 있어서, 상기 원시 프로그램의 토큰들의 위치가 상기 메모리의 소스 위치 테이블에 저장되는 장치.
  18. 제13항에 있어서, 상기 히스토리 정보가 컴파일시 수행되는 매크로 확장의 소스 및 수신지를 저장하는 트리 데이타 구조를 포함하는 장치.
  19. 제13항에 있어서, 상기 프린트부는, 특히 매크로 정의에 있어서의 파일명, 라인번호 및 에러의 위치와, 매크로를 호출하는 명령의 파일명, 라인 번호 및 위치를 식별하는 에러 메시지를 프린트하는 장치.
  20. 제13항에 있어서, 상기 원시 프로그램은 중첩된 매크로 호출을 포함하고; 상기 컴파일러부는 상기 중첩된 매크로 호출을 확장하며; 상기 히스토리 생성기는 상기 중첩된 매크로 호출의 원시 프로그램의 위치들을세이브하고; 상기 결정부는 상기 중첩된 매크로 호출이 컴파일시 확장되었을 때 에러가 발생되었는지를 결정하며; 상기 프린트부는, 에러 메시지가 특히 상기 중첩된 메크로호출의 원시 프로그램내의 에러의 위치를 식별할 수 있도록, 히스토리 정보에 따라, 에러가 발생된 경우 에러 메시지를 프린트하는 장치.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960009899A 1995-03-27 1996-03-27 소프트웨어 매크로 호출내에 검출된 에러의 위치를 표시하기 위한 방법 및 장치 KR960035260A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/410,672 US5701487A (en) 1995-03-27 1995-03-27 Method and apparatus for displaying locations of errors detected inside software macro calls
US08/410,672 1995-03-27

Publications (1)

Publication Number Publication Date
KR960035260A true KR960035260A (ko) 1996-10-24

Family

ID=23625725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960009899A KR960035260A (ko) 1995-03-27 1996-03-27 소프트웨어 매크로 호출내에 검출된 에러의 위치를 표시하기 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US5701487A (ko)
EP (1) EP0735466A3 (ko)
JP (1) JPH08314728A (ko)
KR (1) KR960035260A (ko)
CA (1) CA2170939A1 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903859A (en) * 1996-03-27 1999-05-11 Dell Usa, L.P. Dynamic multi-lingual software module system
US5948107A (en) * 1997-05-28 1999-09-07 Intel Corporation Method of handling errors in complex inheritance hierarchies
US5978587A (en) * 1997-11-13 1999-11-02 Unisys Corp. Method for propagating source code locations into objects in a compiler
US5978586A (en) * 1997-11-26 1999-11-02 Unisys Corp. Method for tracking changes in source locations in a compiler
US6219828B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Method for using two copies of open firmware for self debug capability
US6654953B1 (en) * 1998-10-09 2003-11-25 Microsoft Corporation Extending program languages with source-program attribute tags
BR9914553A (pt) * 1998-10-16 2001-06-26 Computer Ass Think Inc Método para a determinação de diferenças entre dois ou mais modelos
US6353924B1 (en) * 1999-02-08 2002-03-05 Incert Software Corporation Method for back tracing program execution
US6381736B1 (en) * 1999-10-12 2002-04-30 Cisco Technology, Inc. Method for compile-time type-checking of arguments for externally-specified format strings
US7734457B2 (en) * 1999-10-16 2010-06-08 Computer Associates Think, Inc. Method and system for generating dynamic comparison models
US6715109B1 (en) 2000-02-04 2004-03-30 International Business Machines Corporation Method, computer program product, and system for making standard stream data accessible that would otherwise be lost in application programs
US6708333B1 (en) * 2000-06-23 2004-03-16 Microsoft Corporation Method and system for reporting failures of a program module in a corporate environment
US8032886B2 (en) * 2000-11-22 2011-10-04 Microsoft Corporation Tracking asynchronous execution of program using hierarchical structure of objects
US6813707B1 (en) * 2001-03-23 2004-11-02 Cisco Technology Inc. Enhancing instruction execution using built-in macros
US6931627B2 (en) * 2001-05-16 2005-08-16 Sun Microsystems, Inc. System and method for combinatorial test generation in a compatibility testing environment
US20030088810A1 (en) * 2001-11-02 2003-05-08 Sun Microsystems, Inc. Methods and apparatus for determining software component sizes associated with errors
US7337438B1 (en) 2003-03-31 2008-02-26 Applied Micro Circuits Corporation Macros to support structures for an assembler that does not support structures
US7571431B2 (en) * 2003-04-29 2009-08-04 Microsoft Corporation Processing macro information and displaying via GUI in different tools
EP1652074A4 (en) * 2003-07-11 2008-08-13 Computer Ass Think Inc ADJUNCTION TO A TOOL FOR MODELING OBJECTS DEFINED BY A USER
US7971182B1 (en) * 2006-05-09 2011-06-28 Vmware, Inc. Application environment specifications for provisioning application specific runtime environments using undefined symbols
KR20080045545A (ko) * 2006-11-20 2008-05-23 삼성전자주식회사 조건부 영역을 전처리하는 방법
US8863148B1 (en) * 2007-01-09 2014-10-14 Marvell International Ltd. Small debug print
US8347263B1 (en) 2007-05-09 2013-01-01 Vmware, Inc. Repository including installation metadata for executable applications
US8219987B1 (en) 2007-08-24 2012-07-10 Vmware, Inc. Optimized virtual machine specification for provisioning application specific runtime environment
US11262996B2 (en) 2007-05-09 2022-03-01 Vmware, Inc. Repository including exclusion list
US8001083B1 (en) 2007-05-09 2011-08-16 Vmware, Inc. Repository including version management
US7971047B1 (en) 2007-09-10 2011-06-28 Vmware, Inc. Operating system environment and installation
US9015180B1 (en) 2007-05-09 2015-04-21 Vmware, Inc. Repository including file identification
US8577937B1 (en) 2007-05-09 2013-11-05 Vmware, Inc. Repository including exclusion list
US8171141B1 (en) 2009-04-02 2012-05-01 Vmware, Inc. Provisioning system including stack manager
US8473902B2 (en) * 2009-08-07 2013-06-25 International Business Machines Corporation Identifying source code elements for refactoring
JP5385103B2 (ja) * 2009-11-24 2014-01-08 株式会社野村総合研究所 マクロ展開方法およびプリプロセッサ
JP5385102B2 (ja) * 2009-11-24 2014-01-08 株式会社野村総合研究所 ソース解析プログラム、プリプロセッサ、レキサ、および構文木解析プログラム
US8863094B2 (en) 2010-05-18 2014-10-14 International Business Machines Corporation Framework for a software error inject tool
CN102855306B (zh) * 2012-08-21 2015-04-15 飞天诚信科技股份有限公司 一种解析源文件的方法和装置
US10614432B2 (en) * 2016-01-29 2020-04-07 Ncr Corporation Channel integration processing
US10176104B2 (en) * 2016-09-30 2019-01-08 Arm Limited Instruction predecoding
US20240248690A1 (en) * 2023-01-25 2024-07-25 International Business Machines Corporation Porting at least one programming language package to a target operating system platform

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4931928A (en) * 1988-11-09 1990-06-05 Greenfeld Norton R Apparatus for analyzing source code
US4916810A (en) * 1989-05-12 1990-04-17 Amp Incorporated Method and apparatus for terminating wires to terminals
JPH03126133A (ja) * 1989-10-11 1991-05-29 Matsushita Electric Ind Co Ltd コンパイラ処理方法
US5293629A (en) * 1990-11-30 1994-03-08 Abraxas Software, Inc. Method of analyzing computer source code

Also Published As

Publication number Publication date
JPH08314728A (ja) 1996-11-29
CA2170939A1 (en) 1996-09-28
EP0735466A3 (en) 1997-05-02
US5701487A (en) 1997-12-23
EP0735466A2 (en) 1996-10-02

Similar Documents

Publication Publication Date Title
KR960035260A (ko) 소프트웨어 매크로 호출내에 검출된 에러의 위치를 표시하기 위한 방법 및 장치
JP2666847B2 (ja) 異種言語間連絡方式
US7171649B1 (en) Optimizing safe downcasting in an object-oriented programming language
JPH1083289A (ja) プログラミング・エイド
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
JP3682050B2 (ja) 組込みソフトウェア開発装置
JP2672968B2 (ja) デバッグ用ソースリスト出力処理方式
JPH0520093A (ja) モジユールのコンパイル方法およびコンパイル装置
JP2827724B2 (ja) プログラムデバッグ処理方法
JP2977642B2 (ja) Fortranコンパイル処理装置
JP3417960B2 (ja) 文章校正支援方法および装置
JPH11272512A (ja) メモリ管理装置および記録媒体
KR930004861A (ko) 정보처리 시스템
JP2001125793A (ja) コンパイラシステム及びコンパイル方法並びに記録媒体
JP2000132405A (ja) インライン展開処理装置及び方法
JP2585790B2 (ja) 複数コード系に対応するコンパイル処理方式
JPS62169226A (ja) 書式コンパイラ処理方式
JPH04149732A (ja) 言語処理プログラムの処理方式
JPH11232119A (ja) 文字コード変換方法
JPH03186933A (ja) 言語処理システムのシンボル処理方式
KR20010004509A (ko) 프로그래밍된 소스 코드 검색방법
JPS63292338A (ja) 最適化プログラムデバツグ方式
JPH06301549A (ja) プログラム翻訳装置
JPH0498322A (ja) コンパイラの作成方法
JPH09237190A (ja) インライン展開方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid