카테고리 없음

4.Macro Processors

용학사 2024. 12. 9. 04:01

매크로 : 프로그램 내에서 동일한 코드가 반복될 경우 반복되는 코드를 한번만 작성하여 특정이름으로 정의한 후 그 코드가 필요할 떄마다 정의된 이름을 호출하여 사용하는 것

 

매크로 프로세서 : 원시 프로그램에 존재하는 매크로 호출부분에 매크로 프로그램을 삽입하여 확장된 원시 프로그램을 생성하는 시스템 소프트웨어

 

           매크로 프로세서 알고리즘과 자료구조

 

Two  pass macro processor

   -  매크로 정의는 first pass동안 처리

   -  Macro invocation statements는 second pass에서 확정 

   -  2패스 매크로 프로세서는 다른 매크로의 정의를 다른 매크로에 포함하는 것을 금지

 

알고리즘

   2pass macro processor

 

Pass1 : 매크로 정의

 

Pass2 : 매크로 확장

 

    Single pass macro processor

매크로 정의랑 확장 처리

   Concatenation of Macro Parameters

대부분의 매크로 프로세서는 매개변수가 다른 문자열과 합쳐(concatendated)지는걸 허용ex) A program contains one series of variables named by the symbols XA1, XA2, XA3, …, 

another series named by XB1, XB2, XB3, …, etc.

 

매크로 정의의 본문은 다음과 같이 statement를 포함한다

 

SUM Macro &ID

 LDA X&ID1

 LDA X&ID2

 LDA X&ID3

 LDA X&IDS

매크로 매개변수의 시작은 &로 시작하나, 끝은 표기되어있지 않음

매개변수의 끝이 포함되어있지 않아 생기는 문제점으론 X&ID1 may mean “X” + ID + “1” or “X” + ID1이 있다

 

In which the parameter &ID is concatenated after the character string X and before the character string 1.

 

이문제를 해결하기위해 특수한 연결 연산자를 사용 ex)sic, sic/xe에선 -> 사용

 

Keyword Macro Parameters

       

Positional parameters : 매개변수와 인자는 각각 그들의 위치에 맞는 매크로 프로토타입 그리고 호출문과 연결

Keyword parameters : Each argument value is written with a keyword that names the corresponding parameter.