[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
이 장에서는 이전의 장에서 설명하지 않은 다양한 내장함수들을 소개한다.
13.1 Printing error messages | ||
13.2 m4 종료 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
errprint
를 사용하면 간단하게 에러 메시지를 출력할 수 있다.
errprint(message, ...) |
이것은 간단하게 message를 프린트 하고 나머지 인자를 표준에러출력으로 보낸다.
errprint
는 확장되지 않는다.
errprint(`Illegal arguments to forloop ') error-->Illegal arguments to forloop ⇒ |
지겨운 뉴라인은 자동적으로 찍히지는 않는다. 따라서 위의 예에서와
같이 뉴 라인을 인자의 일부분으로 제공해야 한다. (BSD m4
는 각각의
errprint
호출 다음에 뉴라인문자를 추가한다. )
에러의 위치를 알려주도록 하려면 두 개의 내장된 유틸리티를 사용하면 된다.
__file__ __line__ |
이것은 현재 입력파일의 이름과 현재 입력라인 번호로 확장된다.
errprint(`m4:'__file__:__line__: `Input error ') error-->m4:56.errprint:2: Input error ⇒ |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
m4
종료 전체 입력을 읽기전에 m4
를 종료하는 것이 필요하다면,
m4exit
를 실행하면 된다.
m4exit(opt code) |
종료 코드를 code로 하고 m4
를 종료한다. code가 없다면
종료코드는 0이다.
define(`fatal_error', `errprint(`m4: '__file__: __line__`: fatal error: $* ')m4exit(1)') ⇒ fatal_error(`This is a BAD one, buster') error-->m4: 57.m4exit: 5: fatal error: This is a BAD one, buster |
이 매크로가 호출되고 난 다음에는 m4
는 종료코드 1을 가질 것이다. 이
매크 로는 에러 종료를 보여주기 위한 것이다. 위에서는 보통 사용되는
텍스트를 저장 한다던지, undivert되지 않은 것을 divert 한다던지 하는 종료
프로시저가 따라오 지 않았다 (see section 입력을 저장하기).
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Autobuild on March, 29 2007 using texi2html 1.76.