영어프랑스어스페인어

Ad


온웍스 파비콘

m4posix - 클라우드에서 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 공급자에서 m4posix 실행

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 m4posix 명령입니다.

프로그램:

이름


m4 — 매크로 프로세서

개요


m4 [-s] [-D name[=]]... [-U name]... 파일...

기술


XNUMXD덴탈의 m4 유틸리티는 하나 이상의 텍스트 파일을 읽고 처리하는 매크로 프로세서입니다.
포함된 매크로 문에 따라 결과를 표준 출력에 씁니다.

옵션


XNUMXD덴탈의 m4 유틸리티는 POSIX.1-2008의 기본 정의 볼륨을 준수해야 합니다. 섹션 12.2,
유틸리티 통사론 가이드 라인의 순서를 제외하고 -D-U 옵션은
중요하며 옵션은 피연산자와 함께 배치될 수 있습니다.

다음 옵션이 지원됩니다.

-s 다음에 대한 회선 동기화 출력 활성화 c99 전처리기 단계(즉,
#선 지시).

-D name[=]
밝히다 name 또는 =인 경우 null 생략됩니다.

-U name 정의 해제 name.

피연산자


다음 피연산자가 지원됩니다.

파일 처리할 텍스트 파일의 경로 이름입니다. 아니오인 경우 파일 주어지거나 그런 경우 '-',
표준 입력을 읽어야 합니다.

STDIN


표준 입력은 없는 경우 사용되는 텍스트 파일입니다. 파일 피연산자가 주어지거나
is '-'.

입력 파일


이름이 지정된 입력 파일 파일 피연산자는 텍스트 파일이어야 합니다.

환경 변수


다음 환경 변수는 실행에 영향을 미칩니다. m4:

설정되지 않은 국제화 변수에 대한 기본값을 제공하거나
없는. (POSIX.1-2008의 기본 정의 볼륨을 참조하십시오. 섹션 8.2,
국제화 변수 국제화를 위해
로케일 범주의 값을 결정하는 데 사용되는 변수)

LC_ALL 비어 있지 않은 문자열 값으로 설정된 경우 다른 모든 값을 재정의합니다.
국제화 변수.

LC_CTYPE 텍스트 데이터의 바이트 시퀀스 해석을 위한 로케일 결정
문자로(예: 다중 바이트 문자가 아닌 단일 바이트
인수 및 입력 파일).

LC_메시지
의 형식과 내용에 영향을 주는 데 사용해야 하는 로케일을 결정합니다.
표준 오류에 기록된 진단 메시지.

NLS경로 처리를 위한 메시지 카탈로그의 위치를 ​​결정합니다. LC_메시지.

비동기 이벤트


기본.

표준 출력


표준 출력은 매크로 처리 후 입력 파일과 동일해야 합니다.
확장.

STDERR


표준 오류는 문자열을 표시하는 데 사용됩니다. 오류 매크로, 매크로 추적
에 의해 활성화 추적 매크로, 매크로에 의해 작성된 매크로에 대해 정의된 텍스트 덤프데프 매크로 또는
진단 메시지용.

출력 파일


없음.

확장 기술


XNUMXD덴탈의 m4 유틸리티는 입력의 각 토큰을 내장 및
사용자 정의 매크로. 토큰이 매크로의 이름과 일치하면 토큰은
매크로의 정의 텍스트(있는 경우)로 대체되고 일치하는 매크로 이름을 다시 검색합니다.
토큰의 어떤 부분도 매크로 이름과 일치하지 않으면 표준에 기록됩니다.
산출. 매크로는 인수를 가질 수 있으며, 이 경우 인수는 다음으로 대체됩니다.
다시 스캔하기 전에 정의 텍스트.

매크로 호출의 형식은 다음과 같습니다.

name(arg1, arg2, ..., 아르간)

매크로 이름은 문자, 숫자 및 밑줄로 구성되며 첫 번째 문자는
숫자가 아닙니다. 이 형식이 아닌 토큰은 매크로로 취급되지 않습니다.

애플리케이션은 다음을 보장해야 합니다. 이름 바로 뒤에
매크로. 매크로 이름과 일치하는 토큰 뒤에
괄호>, 인수 없이 해당 매크로를 사용한 것으로 처리됩니다.

매크로 이름 뒤에 , 그 인수는
- 사이에 분리된 토큰 그리고 매칭
괄호>. 각 인수 앞의 인용되지 않은 공백 문자는 무시됩니다.
후행 공백 문자를 포함한 다른 모든 문자는 유지됩니다.
사이에 묶인 문자 그리고 캐릭터는
인수를 구분합니다.

인수는 위치적으로 정의되고 참조됩니다. 문자열 "$ 1" 정의 텍스트에서
첫 번째 인수로 대체됩니다. 시스템은 최소 XNUMX개의 인수를 지원해야 합니다.
문자열을 사용하여 처음 XNUMX개만 참조할 수 있습니다. "$ 1""$ 9", 포함한. 그만큼
"$ 0" 매크로의 이름으로 대체됩니다. 문자열 "$ #" 로 대체됩니다.
문자열로 된 인수의 수. 문자열 "$*" 모든 항목의 목록으로 대체됩니다.
로 구분되는 인수 문자. 문자열 "$@" 모든 목록으로 대체됩니다.
로 구분된 인수 중 문자 및 각 인수는 다음을 사용하여 인용됩니다.
현재 왼쪽 및 오른쪽 인용 문자열. 문자열 "${" 지정되지 않은 동작을 생성합니다.

매크로 정의에 있는 것보다 적은 수의 인수가 제공되면 생략된 인수
null로 간주됩니다. 에 있는 것보다 더 많은 인수가 제공되더라도 오류가 아닙니다.
매크로 정의.

일치하는 왼쪽과 오른쪽 사이에 묶인 문자에는 특별한 의미가 부여되지 않습니다.
인용 문자열이지만 인용 문자열 자체는 버려집니다. 기본적으로 왼쪽
인용 문자열은 억음 부호(역따옴표)와 오른쪽 인용 문자열로 구성됩니다.
악센트(작은따옴표)로 구성됩니다. 또한 참조 변경 견적 매크로.

주석은 작성되지만 일치하는 매크로 이름에 대해 스캔되지 않습니다. 기본적으로 시작-
주석 문자열은 문자 및 끝 주석 문자열은 다음으로 구성됩니다.
의 . 또한 참조 체인지컴dnl 매크로.

XNUMXD덴탈의 m4 유틸리티는 다음 내장 매크로를 사용할 수 있도록 합니다. 재정의할 수 있습니다.
그러나 일단 이것이 행해지면 본래의 의미는 상실된다. 그들의 값은 null이 아닙니다.
그렇지 않으면 명시. 아래 설명에서 용어는 정의 본문 의 값을 가리킨다
매크로: 두 번째 인수 밝히다 무엇보다도 매크로. 제외하고
에 대한 첫 번째 인수 평가 매크로, 내장 매크로에 대한 모든 숫자 인수는
XNUMX진수 값으로 해석됩니다. 정의 텍스트로 생성된 문자열 값
Decr, divnum, 증가, 색인, 시스발 내장 매크로는
C 언어로 정의된 XNUMX진수 상수.

체인지컴 XNUMXD덴탈의 체인지컴 매크로는 시작 주석 및 끝 주석 문자열을 설정합니다. 없이
인수를 사용하면 주석 메커니즘이 비활성화됩니다. null이 아닌 단일
인수, 그 인수는 시작 주석이 될 것이며 ~일 것이다
끝 주석 문자열이 됩니다. 두 개의 null이 아닌 인수가 있는 경우 첫 번째 인수는
시작 주석 문자열이 되고 두 번째 인수는
종료 주석 문자열. 두 인수 중 하나가 제공되면 동작이 지정되지 않습니다.
그러나 null. 시스템은 최소 XNUMX자 이상의 주석 문자열을 지원해야 합니다.

변경 견적
XNUMXD덴탈의 변경 견적 매크로는 시작-따옴표 및 끝-따옴표 문자열을 설정합니다. 없이
인수, 따옴표 문자열은 기본값(즉, `')으로 설정됩니다.
단일 인수가 있거나 두 인수 중 하나가 다음과 같은 경우 동작이 지정되지 않습니다.
없는. 두 개의 null이 아닌 인수를 사용하면 첫 번째 인수가 시작이 됩니다.
인용 문자열과 두 번째 인수는 끝 인용 문자열이 됩니다. 시스템
XNUMX자 이상의 따옴표 문자열을 지원해야 합니다.

Decr 의 정의 텍스트 Decr 매크로는 다음과 같이 감소된 첫 번째 인수입니다.
1. 숫자가 아닌 인수를 지정하는 것은 오류입니다.
문자. 다음과 같은 경우 동작이 지정되지 않습니다. Decr 바로 이어지지 않는다
ㅏ .

밝히다 두 번째 인수는 이름이 다음과 같은 매크로의 정의 텍스트가 됩니다.
첫 번째 인수. 여부는 미정 밝히다 매크로는 이전의 모든 항목을 삭제합니다.
첫 번째 인수로 명명된 매크로의 정의 또는
매크로의 현재 정의. 다음과 같은 경우 동작이 지정되지 않습니다. 밝히다 하지 않습니다
바로 다음 .

데프 의 정의 텍스트 데프 매크로는 인용된 정의여야 합니다(
인수의 현재 인용 문자열). 다음과 같은 경우 동작이 지정되지 않습니다. 데프
바로 다음에 .

전환시키다 XNUMXD덴탈의 m4 유틸리티는 1에서 9까지 번호가 매겨진 XNUMX개의 임시 버퍼를 유지합니다.
마지막 입력이 처리되면 배치된 모든 출력이
이러한 버퍼에서 버퍼 번호 순서로 표준 출력에 기록됩니다.
XNUMXD덴탈의 전환시키다 매크로는 향후 출력을 해당 버퍼에 지정된 버퍼로 전환합니다.
논쟁. 인수를 지정하지 않거나 인수를 0으로 지정하면 정상 작동이 재개됩니다.
출력 프로세스. 음수 스트림으로 전환된 출력은
폐기. 동작은 스트림 번호가 9보다 큰 경우 구현 정의됩니다.
지정됩니다. 다음을 포함하지 않는 인수를 지정하는 것은 오류입니다.
숫자.

divnum 의 정의 텍스트 divnum 매크로는 현재 출력의 번호입니다.
문자열로 스트리밍합니다.

dnl XNUMXD덴탈의 dnl 매크로는 m4 다음을 포함하는 모든 입력 문자를 삭제합니다.
다음 .

덤프데프 XNUMXD덴탈의 덤프데프 매크로는 정의된 텍스트를 각각의 표준 오류에 씁니다.
인수로 지정된 매크로 또는 인수가 지정되지 않은 경우 모든
매크로.

오류 XNUMXD덴탈의 오류 매크로는 인수를 표준 오류에 씁니다. 행동은
지정되지 않은 경우 오류 바로 다음에 .

평가 XNUMXD덴탈의 평가 매크로는 첫 번째 인수를 산술식으로 평가합니다.
최소 32비트 정밀도의 부호 있는 정수 산술을 사용합니다. 적어도
다음 C 언어 연산자가 우선적으로 지원됩니다.
에 설명된 대로 연관성 및 동작 섹션 1.1.2.1, 산수
Precision 행정부:

()
단항 +
단항 -
~

!
바이너리 *
/
%
바이너리 +
바이너리 −
<<
>>
<
<=
>
>=
==
!=
바이너리 &
^
|
&&
||

시스템은 ISO C 표준에서와 같이 XNUMX진수 및 XNUMX진수를 지원해야 합니다.
지정된 경우 두 번째 인수는 결과의 기수를 설정합니다. 만약
인수가 비어 있거나 지정되지 않은 경우 기본값은 10입니다. 다음과 같은 경우 동작이 지정되지 않습니다.
기수는 2에서 36까지의 범위를 벗어납니다. 세 번째 인수인 경우
지정된 경우 결과의 최소 자릿수를 설정합니다. 행동은
세 번째 인수가 XNUMX보다 작은 경우 지정되지 않습니다. 에 오류가 됩니다.
숫자가 아닌 문자를 포함하는 두 번째 또는 세 번째 인수를 지정하십시오. 그만큼
동작이 지정되지 않은 경우 평가 바로 다음에
괄호>.

ifdef 에 대한 첫 번째 인수인 경우 ifdef 매크로가 정의되면 정의 텍스트는
두 번째 주장. 그렇지 않으면 정의 텍스트는 세 번째 인수가 됩니다.
지정된 경우 null 문자열, 그렇지 않은 경우 null 문자열입니다. 다음과 같은 경우 동작이 지정되지 않습니다. ifdef
바로 다음에 .

다른 경우라면 XNUMXD덴탈의 다른 경우라면 매크로는 세 개 이상의 인수를 사용합니다. 처음 두 인수가
동일한 문자열로 비교(두 인수의 매크로 확장 후), 정의
text는 세 번째 인수입니다. 처음 두 인수가 다음과 같이 비교되지 않는 경우
동일한 문자열이고 세 개의 인수가 있는 경우 정의 텍스트는 null입니다. 만약에
처음 두 인수는 동일한 문자열로 비교되지 않으며 XNUMX개 또는
인수가 XNUMX개인 경우 정의 텍스트는 네 번째 인수가 됩니다. 처음 두 개라면
인수는 동일한 문자열로 비교되지 않으며 XNUMX개 이상의 인수가 있습니다.
처음 세 개의 인수는 폐기되고 처리는 다음과 같이 다시 시작됩니다.
나머지 인수. 다음과 같은 경우 동작이 지정되지 않습니다. 다른 경우라면 하지 않습니다
바로 다음 .

포함 에 대한 정의 텍스트 포함 매크로는 이름이 지정된 파일의 내용이어야 합니다.
첫 번째 인수로. 파일을 읽을 수 없으면 오류입니다. 그만큼
동작이 지정되지 않은 경우 포함 바로 다음에
괄호>.

증가 의 정의 텍스트 증가 매크로는 다음과 같이 증가하는 첫 번째 인수입니다.
1. 숫자가 아닌 인수를 지정하는 것은 오류입니다.
문자. 다음과 같은 경우 동작이 지정되지 않습니다. 증가 바로 이어지지 않는다
ㅏ .

색인 의 정의 텍스트 색인 매크로는 첫 번째 문자 위치여야 합니다(예:
문자열) 두 번째 인수와 일치하는 문자열이 시작되는 첫 번째 인수
(제로 원점) 또는 두 번째 인수가 발생하지 않는 경우 -1입니다. 행동은
지정되지 않은 경우 색인 바로 다음에 .

의 정의 텍스트 매크로의 길이(문자열)입니다.
첫 번째 인수. 다음과 같은 경우 동작이 지정되지 않습니다. 바로 따르지 않는다
에 의해 .

m4exit 에서 종료 m4 공익사업. 첫 번째 인수가 지정되면 종료입니다.
암호. 기본값은 XNUMX입니다. 인수를 지정하는 것은 오류입니다.
숫자가 아닌 문자를 포함합니다.

m4wrap 첫 번째 인수는 EOF에 도달하면 처리됩니다. 만약 m4wrap 매크로
여러 번 사용되면 지정된 인수가 순서대로 처리됩니다.
어느 m4wrap 매크로를 처리했습니다. 다음과 같은 경우 동작이 지정되지 않습니다. m4wrap
바로 다음에 .

메이크템프 정의 텍스트는 후행이 있는 첫 번째 인수여야 합니다. 'NS' 문자
현재 프로세스 ID로 문자열로 대체됩니다. 동작이 지정되지 않음
if 메이크템프 바로 다음에 .

mkstemp 첫 번째 인수는 빈 파일을 만들기 위한 템플릿으로 사용됩니다.
후행 'NS' 이식 가능한 파일 이름의 문자로 대체된 문자
문자 집합. 첫 번째 인수가 다음으로 끝나지 않으면 동작이 지정되지 않습니다.
적어도 여섯 'NS' 문자. 임시 파일이 성공적으로 생성되면
매크로의 정의 텍스트는 새 파일의 이름입니다. 사용자 ID
파일의 는 프로세스의 유효 사용자 ID로 설정되어야 합니다. 그룹 ID
파일의 상위 디렉토리의 그룹 ID 또는
프로세스의 유효 그룹 ID. 파일 액세스 권한 비트가 설정되었습니다.
소유자만 파일을 읽고 쓸 수 있습니다.
current 마스크 프로세스의. 파일을 생성할 수 없는 경우 정의 텍스트
매크로의 빈 문자열이어야 합니다. 다음과 같은 경우 동작이 지정되지 않습니다. mkstemp
바로 다음에 .

팝데프 XNUMXD덴탈의 팝데프 매크로는 인수의 현재 정의를 삭제하고 대체합니다.
그 정의는 이전 것과 같습니다. 사전 정의가 없는 경우
매크로가 정의되지 않았습니다. 다음과 같은 경우 동작이 지정되지 않습니다. 팝데프 즉시가 아니다
뒤에 .

푸시데프 XNUMXD덴탈의 푸시데프 매크로는 밝히다 예외가 있는 매크로
다음을 사용하여 향후 검색을 위해 현재 정의를 보존해야 합니다.
팝데프 매크로. 다음과 같은 경우 동작이 지정되지 않습니다. 푸시데프 바로 따르지 않는다
에 의해 .

변화 에 대한 정의 텍스트 변화 매크로는 쉼표로 구분된 목록이어야 합니다.
첫 번째를 제외한 인수. 각 인수는 현재
인용 문자열. 다음과 같은 경우 동작이 지정되지 않습니다. 변화 즉시가 아니다
뒤에 .

포함하다 XNUMXD덴탈의 포함하다 매크로는 포함 매크로, 그것을 제외하고
파일에 액세스할 수 없는 경우 오류가 아닙니다. 동작이 지정되지 않음
if 포함하다 바로 다음에 .

하위 문자열 에 대한 정의 텍스트 하위 문자열 매크로는 첫 번째의 하위 문자열이어야 합니다.
두 번째로 지정된 제로 오프셋 문자 위치에서 시작하는 인수
논쟁. 세 번째 인수는 지정된 경우 사용할 문자 수입니다.
선택하다; 지정하지 않으면 처음부터 끝까지의 문자
첫 번째 인수는 정의 텍스트가 됩니다. 에 오류가 없을 것
첫 번째 인수의 끝을 넘어 시작점을 지정하고 정의
텍스트는 null입니다. 다음을 포함하는 인수를 지정하는 것은 오류입니다.
숫자가 아닌 문자. 다음과 같은 경우 동작이 지정되지 않습니다. 하위 문자열 하지 않습니다
바로 다음 .

syscmd XNUMXD덴탈의 syscmd 매크로는 첫 번째 인수를 쉘 명령줄로 해석합니다. 그만큼
정의 텍스트는 해당 명령의 문자열 결과입니다. 문자열 결과
정의 텍스트를 설정하는 동안 매크로를 다시 스캔하지 않습니다. 출력 없음
리디렉션은 다음에 의해 수행됩니다. m4 공익사업. 종료 상태 값은
명령은 다음을 사용하여 검색할 수 있습니다. 시스발 매크로. 다음과 같은 경우 동작이 지정되지 않습니다.
syscmd 바로 다음에 .

시스발 의 정의 텍스트 시스발 매크로는 유틸리티의 종료 값이어야 합니다.
에 의해 마지막으로 호출된 syscmd 매크로(문자열).

추적 XNUMXD덴탈의 추적 매크로는 인수로 지정된 매크로에 대한 추적을 활성화해야 합니다.
또는 인수가 지정되지 않은 경우 모든 매크로에 대해. 추적 출력은
지정되지 않은 형식으로 표준 오류에 기록됩니다.

추적 XNUMXD덴탈의 추적 매크로는 인수로 지정된 매크로에 대한 추적을 비활성화합니다.
또는 인수가 지정되지 않은 경우 모든 매크로에 대해.

번역하다 의 정의 텍스트 번역하다 매크로는 모든
두 번째 인수에서 발생하는 문자는 해당하는 것으로 대체됩니다.
세 번째 인수의 문자. 대체 문자가 지정되지 않은 경우
두 번째 인수가 세 번째 인수보다 길기 때문에 일부 소스 문자
인수에서 해당 문자는 첫 번째 인수에서 삭제됩니다. 번역하다's
텍스트를 정의합니다. 다음과 같은 경우 동작이 지정되지 않습니다. '-' 안에 문자가 나타납니다.
첫 번째 또는 마지막 문자 이외의 두 번째 또는 세 번째 인수. 그만큼
동일한 문자가 두 번 이상 나타나는 경우 동작이 지정되지 않습니다.
두 번째 인수. 다음과 같은 경우 동작이 지정되지 않습니다. 번역하다 즉시가 아니다
뒤에 .

정의하지 않음 XNUMXD덴탈의 정의하지 않음 매크로는 모든 정의(사용하여 보존된 정의 포함)를 삭제합니다.
전에, 푸시데프 매크로) 인수로 이름이 지정된 매크로. 행동은
지정되지 않은 경우 정의하지 않음 바로 다음에 .

전환 XNUMXD덴탈의 전환 매크로는 임시 버퍼에 있는 모든 텍스트를 즉시 출력해야 합니다.
인수 또는 인수가 지정되지 않은 경우 모든 임시 버퍼로 명명됩니다.
버퍼는 다른 임시 버퍼로 전환되지 않을 수 있습니다. 방향 전환은
임시 버퍼의 내용을 버립니다. 동작은 다음과 같은 경우 지정되지 않습니다.
인수에는 숫자가 아닌 문자가 포함됩니다.

EXIT 지위


다음 종료 값이 반환됩니다.

0 성공적으로 완료되었습니다.

>0 오류가 발생했습니다

경우 m4exit 매크로가 사용되면 입력 파일에서 종료 값을 지정할 수 있습니다.

결과 OF 오류


기본.

XNUMXD덴탈의 수행원 섹션 are 유익합니다.

신청 사용법


XNUMXD덴탈의 데프 매크로는 매크로, 특히 내장된 매크로의 이름을 바꾸는 데 유용합니다.

이후 평가 ISO C 표준을 따르며 일부 작업에는 정의되지 않은 동작이 있습니다. 일부에서는
구현, 나누기 또는 XNUMX으로 나머지는 나누기가 실패하더라도 치명적인 신호를 유발합니다.
의 단락 분기에서 발생합니다. "&&" or "||". 오버플로되는 모든 작업
부호 있는 산술은 정의되지 않은 동작을 생성합니다. 마찬가지로, 변화 연산자
양수가 아니고 정밀도보다 작은 이동량은 그대로 정의되지 않습니다.
음수를 오른쪽으로 이동합니다. 역사적으로 모든 구현이 C-를 따르지는 않았습니다.
언어 우선 순위 규칙: '~''!' 보다 낮았다 '=='; '==''!=' 더 낮지 않았다
보다 '<''|' 보다 낮지 않았다 '^'; 의 자유로운 사용 "()" 강제로 원하는
이러한 비준수 구현에서도 우선합니다. 게다가 일부 전통
처리된 구현 '^' 지수 연산자로, 대부분의 구현은
지금 사용 "**" 이 목적을 위한 확장으로.

매크로를 통해 다중 정의된 경우 푸시데프 매크로, 여부는 지정되지 않음
전에, 밝히다 매크로는 가장 최근 정의만 변경합니다(마치 팝데프
푸시데프), 또는 정의의 전체 스택을 단일 정의로 바꾸십시오(마치
by 정의하지 않음푸시데프). 다음에 대한 특정 동작을 원하는 응용 프로그램 밝히다
이 경우 매크로는 그에 따라 재정의할 수 있습니다.

애플리케이션은 다음을 사용해야 합니다. mkstemp 구식 대신 매크로 메이크템프 매크로
임시 파일 생성.

사용 예


파일이 m4src 다음 행을 포함합니다.

XNUMXD덴탈의 가치 of 'VER' is "VER".
ifdef('버전', ``버'' is 한정된 be 버전, VER is 지원 한정된.)
ifelse(버전, 1, ``버'' is '버전'.)
ifelse(버전, 2, ``버'' is '버전'., ``버'' is 지원 2.)
end

그런 다음 명령

m4 m4src

또는 명령:

m4 -U VER m4src

출력을 생성합니다.

XNUMXD덴탈의 가치 of VER is "VER".
VER is 지원 한정된.

VER는 2가 아닙니다.
end

명령 :

m4 -D VER m4src

출력을 생성합니다.

XNUMXD덴탈의 가치 of VER is "".
VER is 한정된 be .

VER는 2가 아닙니다.
end

명령 :

m4 -D 버전=1 m4src

출력을 생성합니다.

XNUMXD덴탈의 가치 of VER is '1 년 XNUMX 월 XNUMX 일'.
VER is 한정된 be 1.
VER is 1.
VER is 지원 2.
end

명령 :

m4 -D 버전=2 m4src

출력을 생성합니다.

XNUMXD덴탈의 가치 of VER is '2 년 XNUMX 월 XNUMX 일'.
VER is 한정된 be 2.

VER는 2입니다.
end

이론적 해석


히스토리컬 시스템 V 기반 동작 처리됨 "${" 두 리터럴로 매크로 정의에서
문자. 그러나 구현 시 다음을 제공할 수 있도록 이 시퀀스는 지정되지 않은 상태로 유지됩니다.
다음과 같은 확장 "${11}" XNUMX번째 위치 매개변수를 의미합니다. 매크로는 여전히
중첩된 인용 부호를 적절하게 사용하여 정의되어 리터럴을 생성합니다. "${" 출력에서
다시 스캔한 후 중첩된 따옴표를 제거합니다.

. 번역하다 내장된 역사적 System V 기반 동작 처리 '-' 문자 그대로; 암소 비슷한 일종의 영양
행동은 그것을 범위로 취급합니다. 이 버전의 표준은 두 동작 중 하나를 허용합니다.

미래 오시는 길


없음.

onworks.net 서비스를 사용하여 m4posix 온라인 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

  • 1
    페이저
    페이저
    Phaser는 빠르고 무료이며 재미있는 공개 프로그램입니다.
    제공하는 소스 HTML5 게임 프레임워크
    WebGL 및 캔버스 렌더링
    데스크톱 및 모바일 웹 브라우저. 계략
    공동 수 있습니다 ...
    페이저 다운로드
  • 2
    바살 엔진
    바살 엔진
    VASSAL은 제작을 위한 게임 엔진입니다.
    기존 보드의 전자 버전
    그리고 카드 게임. 다음을 지원합니다.
    게임 조각 렌더링 및 상호 작용,
    그리고 ...
    VASSAL 엔진 다운로드
  • 3
    OpenPDF - iText의 포크
    OpenPDF - iText의 포크
    OpenPDF는 다음을 생성하기 위한 Java 라이브러리입니다.
    및 LGPL로 PDF 파일 편집 및
    MPL 오픈 소스 라이선스. OpenPDF는
    iText의 LGPL/MPL 오픈 소스 후계자,
    에이...
    OpenPDF 다운로드 - iText 포크
  • 4
    사가 GIS
    사가 GIS
    SAGA - 자동화 시스템
    Geoscientific 분석 - 지리적입니다
    정보 시스템(GIS) 소프트웨어
    지리 데이터를 위한 엄청난 기능
    처리 및 아나...
    사가 GIS 다운로드
  • 5
    Java/JTOpen용 도구 상자
    Java/JTOpen용 도구 상자
    IBM Toolbox for Java / JTOpen은
    지원하는 Java 클래스 라이브러리
    클라이언트/서버 및 인터넷 프로그래밍
    OS/400을 실행하는 시스템에 모델,
    i5/OS, 오...
    Java/JTOpen용 도구 상자 다운로드
  • 6
    D3.js
    D3.js
    D3.js(또는 데이터 기반 문서의 경우 D3)
    할 수 있는 JavaScript 라이브러리입니다.
    동적, 대화형 데이터 생성
    웹 브라우저의 시각화. D3와 함께
    당신...
    D3.js 다운로드
  • 더»

Linux 명령

Ad