InglesPransesEspanyol

Ad


OnWorks favicon

m4posix - Online sa Cloud

Patakbuhin ang m4posix sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na m4posix na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


m4 - macro processor

SINOPSIS


m4 [−s] [−D pangalan[=Val]]... [−U pangalan]... file...

DESCRIPTION


Ang m4 Ang utility ay isang macro processor na magbabasa ng isa o higit pang mga text file, iproseso ang mga ito
ayon sa kanilang mga kasamang macro statement, at isulat ang mga resulta sa karaniwang output.

Opsyon


Ang m4 ang utility ay dapat umayon sa Base Definition volume ng POSIX.1–2008, seksyon 12.2,
Gamit palaugnayan Mga Alituntunin, maliban na ang pagkakasunud-sunod ng −D at −U mga pagpipilian ay dapat
makabuluhan, at ang mga opsyon ay maaaring ihalo sa mga operand.

Ang mga sumusunod na opsyon ay dapat suportahan:

−s I-enable ang line synchronization output para sa c99 yugto ng preprocessor (iyon ay,
#linya mga direktiba).

−D pangalan[=Val]
Tukuyin pangalan sa Val o sa null kung =Val ay tinanggal.

−U pangalan I-undefine pangalan.

MGA OPERAND


Ang sumusunod na operand ay dapat suportahan:

file Isang pathname ng isang text file na ipoproseso. Kung hindi file ay ibinigay, o kung ito ay '−',
ang karaniwang input ay dapat basahin.

STDIN


Ang karaniwang input ay dapat na isang text file na ginagamit kung hindi file operand ay ibinigay, o kung ito
is '−'.

INPUT MGA FILE


Ang input file na pinangalanan ng file Ang operand ay dapat na isang text file.

Kapaligiran MGA VARIABLE


Ang mga sumusunod na variable ng kapaligiran ay dapat makaapekto sa pagpapatupad ng m4:

WIKA Magbigay ng default na halaga para sa mga variable ng internationalization na hindi nakatakda o
wala. (Tingnan ang dami ng Base Definition ng POSIX.1–2008, seksyon 8.2,
internationalization Variable para sa pangunguna sa internasyonalisasyon
mga variable na ginagamit upang matukoy ang mga halaga ng mga lokal na kategorya.)

LC_ALL Kung nakatakda sa isang walang laman na halaga ng string, i-override ang mga halaga ng lahat ng iba pa
mga variable ng internasyonalisasyon.

LC_CTYPE Tukuyin ang lokal para sa interpretasyon ng mga pagkakasunud-sunod ng mga byte ng data ng teksto
bilang mga character (halimbawa, single-byte kumpara sa multi-byte na character sa
argumento at input file).

LC_MESSAGES
Tukuyin ang lokal na dapat gamitin upang makaapekto sa format at mga nilalaman ng
mga mensaheng diagnostic na nakasulat sa karaniwang error.

NLSPATH Tukuyin ang lokasyon ng mga katalogo ng mensahe para sa pagproseso ng LC_MESSAGES.

ASYNCHRONOUS KAGANAPAN


Default.

STDOUT


Ang karaniwang output ay dapat na kapareho ng mga input file, pagkatapos maproseso para sa macro
expansion.

STDERR


Ang karaniwang error ay dapat gamitin upang ipakita ang mga string na may errprint macro, macro tracing
pinagana ng traceon macro, ang tinukoy na teksto para sa mga macro na isinulat ng dumpdef macro, o
para sa mga mensaheng diagnostic.

oUTPUT MGA FILE


Wala.

LALAKI DESCRIPTION


Ang m4 ihahambing ng utility ang bawat token mula sa input laban sa set ng built-in at
mga macro na tinukoy ng gumagamit. Kung ang token ay tumugma sa pangalan ng isang macro, ang token ay dapat
pinalitan ng teksto ng pagtukoy ng macro, kung mayroon, at muling ini-scan para sa pagtutugma ng mga pangalan ng macro.
Kapag walang bahagi ng token ang tumugma sa pangalan ng isang macro, dapat itong isulat sa pamantayan
output. Maaaring may mga argumento ang mga macro, kung saan ang mga argumento ay dapat palitan sa
ang teksto ng pagtukoy bago ito muling i-scan.

Ang mga macro call ay mayroong form:

pangalan(arg1, arg2, ..., arg)

Ang mga macro name ay dapat binubuo ng mga titik, digit, at underscore, kung saan ang unang character
ay hindi isang digit. Ang mga token na wala sa form na ito ay hindi dapat ituring bilang mga macro.

Dapat tiyakin ng aplikasyon na ang agad na sinusundan ang pangalan ng
ang macro. Kung ang isang token na tumutugma sa pangalan ng isang macro ay hindi sinusundan ng a
parenthesis>, ito ay pinangangasiwaan bilang paggamit ng macro na iyon nang walang mga argumento.

Kung ang isang macro name ay sinusundan ng a , ang mga argumento nito ay ang
-naghiwalay na mga token sa pagitan ng at ang pagtutugma
panaklong>. Ang mga hindi naka-quote na white-space na character bago ang bawat argumento ay hindi dapat papansinin.
Ang lahat ng iba pang mga character, kabilang ang mga sumusunod na white-space na character, ay pinananatili.
mga character na nakapaloob sa pagitan at ang mga character ay hindi
limitahan ang mga argumento.

Ang mga argumento ay positionally na tinukoy at isinangguni. Ang tali "$1" sa teksto ng pagtukoy
ay dapat palitan ng unang argumento. Dapat suportahan ng mga system ang hindi bababa sa siyam na argumento;
ang unang siyam lamang ang maaaring i-reference, gamit ang mga string "$1" sa "$9", kasama. Ang
pisi "$0" ay pinalitan ng pangalan ng macro. Ang tali "$#" ay pinalitan ng
bilang ng mga argumento bilang isang string. Ang tali "$*" ay pinalitan ng isang listahan ng lahat ng
argumento, pinaghihiwalay ng mga karakter. Ang tali "$@" ay pinalitan ng isang listahan ng lahat
ng mga argumentong pinaghihiwalay ng mga character, at ang bawat argumento ay sinipi gamit ang
kasalukuyang kaliwa at kanang quoting strings. Ang tali "${" nagdudulot ng hindi tiyak na pag-uugali.

Kung mas kaunting mga argumento ang ibinibigay kaysa sa macro definition, ang mga inalis na argumento
ay itinuturing na null. Hindi isang error kung mas maraming argumento ang ibinibigay kaysa sa
macro definition.

Walang espesyal na kahulugan ang ibinibigay sa anumang mga character na nakapaloob sa pagitan ng pagtutugma ng kaliwa at kanan
quoting strings, ngunit ang quoting strings ay itinatapon mismo. Bilang default, ang kaliwa
quoting string ay binubuo ng isang matinding accent (backquote) at ang tamang quoting string
binubuo ng isang matinding tuldik (single-quote); tingnan din ang changequote macro.

Ang mga komento ay nakasulat ngunit hindi na-scan para sa pagtutugma ng mga macro name; bilang default, ang simula-
Ang string ng komento ay binubuo ng character at ang string ng pagtatapos ng komento ay binubuo
ng a . Tingnan din ang changecom at dnl mga macro.

Ang m4 dapat gawing available ng utility ang mga sumusunod na built-in na macro. Maaari silang muling tukuyin,
ngunit kapag ito ay tapos na ang orihinal na kahulugan ay nawala. Ang kanilang mga halaga ay dapat na walang bisa maliban kung
kung hindi man nakasaad. Sa mga paglalarawan sa ibaba, ang termino pagtukoy teksto tumutukoy sa halaga ng
ang macro: ang pangalawang argumento sa magtakda macro, bukod sa iba pang mga bagay. Maliban sa
unang argumento sa eval macro, ang lahat ng mga numeric na argumento sa mga built-in na macro ay dapat
binibigyang kahulugan bilang mga halaga ng decimal. Ang mga halaga ng string na ginawa bilang ang pagtukoy ng teksto ng
decr, divnum, incr, index, Len, at sysval Ang mga built-in na macro ay dapat nasa anyo ng a
decimal-constant gaya ng tinukoy sa wikang C.

changecom Ang changecom Itatakda ng macro ang mga string ng panimulang komento at pagtatapos ng komento. Sa no
argumento, ang mekanismo ng komento ay dapat na hindi paganahin. Sa isang solong non-null
argumento, ang argumentong iyon ay magiging panimulang komento at ang Dapat
maging string ng pagtatapos ng komento. Sa dalawang hindi null na argumento, ang unang argumento
ay magiging string ng panimulang komento at ang pangalawang argumento ay magiging
string ng pagtatapos ng komento. Ang pag-uugali ay hindi tinukoy kung ang alinmang argumento ay ibinigay
ngunit null. Dapat suportahan ng mga system ang mga string ng komento na hindi bababa sa limang character.

changequote
Ang changequote dapat itakda ng macro ang mga string ng simula-quote at end-quote. Sa no
argumento, ang mga string ng quote ay dapat itakda sa mga default na halaga (iyon ay, `').
Ang pag-uugali ay hindi tinukoy kung mayroong isang argumento o alinman sa argumento ay
wala. Sa dalawang hindi null na argumento, ang unang argumento ay magiging simula-
quote string at ang pangalawang argumento ay magiging end-quote string. Mga sistema
dapat suportahan ang mga string ng quote na hindi bababa sa limang character.

decr Ang pagtukoy sa teksto ng decr Ang macro ang unang argumento na binabawasan ng
1. Magiging error ang pagtukoy ng argumento na naglalaman ng anumang hindi numeric
mga karakter. Ang pag-uugali ay hindi tinukoy kung decr ay hindi agad sinusundan ng
a .

magtakda Ang pangalawang argumento ay magiging teksto ng pagtukoy ng macro na ang pangalan ay
ang unang argumento. Ito ay hindi tinukoy kung ang magtakda tinatanggal ng macro ang lahat ng nauna
mga kahulugan ng macro na pinangalanan sa unang argumento nito o pinapanatili ang lahat maliban sa
kasalukuyang kahulugan ng macro. Ang pag-uugali ay hindi tinukoy kung magtakda Hindi
agad na sinundan ng a .

defn Ang pagtukoy sa teksto ng defn Ang macro ay ang sinipi na kahulugan (gamit ang
kasalukuyang quoting strings) ng mga argumento nito. Ang pag-uugali ay hindi tinukoy kung defn
ay hindi agad sinusundan ng a .

ilihis Ang m4 ang utility ay nagpapanatili ng siyam na pansamantalang buffer, na may bilang na 1 hanggang 9, kasama.
Kapag ang huling input ay naproseso na, anumang output na nailagay
sa mga buffer na ito ay dapat isulat sa karaniwang output sa buffer-numerical order.
Ang ilihis ang macro ay dapat ilihis ang hinaharap na output sa buffer na tinukoy ng nito
argumento. Ang pagtukoy ng walang argumento o argumento ng 0 ay dapat ipagpatuloy ang normal
proseso ng output. Ang output ay inilihis sa isang stream na may negatibong numero ay dapat
itinapon. Ang pag-uugali ay tinukoy sa pagpapatupad kung ang isang stream number ay mas malaki sa 9
ay tinukoy. Ito ay dapat na isang pagkakamali upang tukuyin ang isang argumento na naglalaman ng anumang hindi-
mga numerong karakter.

divnum Ang pagtukoy sa teksto ng divnum macro ay ang bilang ng kasalukuyang output
stream bilang isang string.

dnl Ang dnl macro ay sanhi m4 upang itapon ang lahat ng input character hanggang sa at kasama
ang susunod .

dumpdef Ang dumpdef Isusulat ng macro ang tinukoy na teksto sa karaniwang error para sa bawat isa sa
macros na tinukoy bilang mga argumento, o, kung walang mga argumento na tinukoy, para sa lahat
mga macro.

errprint Ang errprint Isusulat ng macro ang mga argumento nito sa karaniwang error. Ang pag-uugali ay
hindi tinukoy kung errprint ay hindi agad sinusundan ng a .

eval Ang eval dapat suriin ng macro ang unang argumento nito bilang isang pagpapahayag ng aritmetika,
gamit ang signed integer arithmetic na may hindi bababa sa 32-bit na katumpakan. Hindi bababa sa
ang mga sumusunod na operator ng C-language ay dapat na suportahan, nang una,
pakikisama, at pag-uugali tulad ng inilarawan sa seksyon 1.1.2.1, Pang-aritmetika
Katumpakan at Mga Operasyon :

()
hindi nag-iingat +
hindi nag-iingat -
~

!
binary *
/
%
binary +
binary −
<<
>>
<
<=
>
>=
==
!=
binary at
^
|
&&
||

Dapat suportahan ng mga system ang mga numerong octal at hexadecimal tulad ng sa pamantayan ng ISO C.
Ang pangalawang argumento, kung tinukoy, ay magtatakda ng radix para sa resulta; kung ang
Ang argumento ay blangko o hindi tinukoy, ang default ay 10. Ang pag-uugali ay hindi tinukoy kung
ang radix ay nasa labas ng hanay 2 hanggang 36, kasama. Ang ikatlong argumento, kung
tinukoy, nagtatakda ng pinakamababang bilang ng mga digit sa resulta. Ang pag-uugali ay
hindi tinukoy kung ang ikatlong argumento ay mas mababa sa zero. Ito ay magiging isang pagkakamali sa
tukuyin ang pangalawa o pangatlong argumento na naglalaman ng anumang mga hindi numeric na character. Ang
ang pag-uugali ay hindi natukoy kung eval ay hindi agad sinusundan ng a
panaklong>.

ifdef Kung ang unang argumento sa ifdef macro ay tinukoy, ang pagtukoy ng teksto ay dapat
ang pangalawang argumento. Kung hindi, ang teksto ng pagtukoy ay ang ikatlong argumento,
kung tinukoy, o ang null string, kung hindi. Ang pag-uugali ay hindi tinukoy kung ifdef
ay hindi agad sinusundan ng a .

kung hindi Ang kung hindi ang macro ay tumatagal ng tatlo o higit pang mga argumento. Kung ang unang dalawang argumento
ihambing bilang pantay na mga string (pagkatapos ng macro expansion ng parehong mga argumento), ang pagtukoy
ang teksto ay ang ikatlong argumento. Kung ang unang dalawang argumento ay hindi ihambing bilang
pantay na mga string at mayroong tatlong argumento, ang pagtukoy sa teksto ay dapat na null. Kung
ang unang dalawang argumento ay hindi nagkukumpara bilang pantay na mga string at mayroong apat o
limang argumento, ang pagtukoy sa teksto ay ang ikaapat na argumento. Kung ang unang dalawa
ang mga argumento ay hindi nagkukumpara bilang pantay na mga string at mayroong anim o higit pang mga argumento,
ang unang tatlong argumento ay dapat itapon at ang pagproseso ay magsisimula muli sa
ang natitirang mga argumento. Ang pag-uugali ay hindi tinukoy kung kung hindi Hindi
agad na sinundan ng a .

isama Ang pagtukoy sa teksto para sa isama Ang macro ay ang mga nilalaman ng file na pinangalanan
sa pamamagitan ng unang argumento. Ito ay magiging isang error kung ang file ay hindi mabasa. Ang
ang pag-uugali ay hindi natukoy kung isama ay hindi agad sinusundan ng a
panaklong>.

incr Ang pagtukoy sa teksto ng incr Ang macro ang unang argumento na dinagdagan ng
1. Magiging error ang pagtukoy ng argumento na naglalaman ng anumang hindi numeric
mga karakter. Ang pag-uugali ay hindi tinukoy kung incr ay hindi agad sinusundan ng
a .

index Ang pagtukoy sa teksto ng index Ang macro ay dapat ang unang posisyon ng character (bilang a
string) sa unang argumento kung saan nagsisimula ang isang string na tumutugma sa pangalawang argumento
(zero pinanggalingan), o −1 kung hindi nangyari ang pangalawang argumento. Ang pag-uugali ay
hindi tinukoy kung index ay hindi agad sinusundan ng a .

Len Ang pagtukoy sa teksto ng Len Ang macro ay ang haba (bilang isang string) ng
unang argumento. Ang pag-uugali ay hindi tinukoy kung Len hindi agad nasusunod
ni a .

m4exit Lumabas mula sa m4 kagamitan. Kung ang unang argumento ay tinukoy, ito ay ang exit
code. Ang default ay zero. Ito ay dapat na isang error upang tukuyin ang isang argumento
naglalaman ng anumang mga hindi numeric na character.

m4wrap Ang unang argumento ay ipoproseso kapag naabot ang EOF. Kung ang m4wrap macro
ay ginagamit ng maraming beses, ang mga argumentong tinukoy ay dapat iproseso sa pagkakasunud-sunod
kung saan ang m4wrap naproseso ang mga macro. Ang pag-uugali ay hindi tinukoy kung m4wrap
ay hindi agad sinusundan ng a .

maketemp Ang teksto ng pagtukoy ay dapat ang unang argumento, na may anumang sumusunod 'X' character
pinalitan ng kasalukuyang process ID bilang isang string. Ang pag-uugali ay hindi natukoy
if maketemp ay hindi agad sinusundan ng a .

mkstemp Ang unang argumento ay dapat kunin bilang isang template para sa paglikha ng isang walang laman na file, na may
trailing 'X' mga character na pinalitan ng mga character mula sa portable filename
set ng karakter. Ang pag-uugali ay hindi tinukoy kung ang unang argumento ay hindi nagtatapos sa
hindi bababa sa anim 'X' mga karakter. Kung ang isang pansamantalang file ay matagumpay na nalikha, kung gayon
ang pagtukoy sa teksto ng macro ay ang pangalan ng bagong file. Ang user ID
ng file ay dapat itakda sa epektibong user ID ng proseso. Ang ID ng grupo
ng file ay dapat itakda sa group ID ng parent directory ng file o sa
ang epektibong group ID ng proseso. Ang mga bit ng pahintulot sa pag-access ng file ay nakatakda
na ang may-ari lamang ang parehong makakabasa at makakasulat ng file, anuman ang
kasalukuyan umask ng proseso. Kung ang isang file ay hindi malikha, ang pagtukoy ng teksto
ng macro ay ang walang laman na string. Ang pag-uugali ay hindi tinukoy kung mkstemp
ay hindi agad sinusundan ng a .

popdef Ang popdef tatanggalin ng macro ang kasalukuyang kahulugan ng mga argumento nito, na papalitan
ang kahulugan na iyon sa nauna. Kung walang naunang kahulugan, ang
ang macro ay hindi natukoy. Ang pag-uugali ay hindi tinukoy kung popdef ay hindi kaagad
sinundan ng a .

pushdef Ang pushdef ang macro ay katumbas ng magtakda macro na may exception
na dapat itong panatilihin ang anumang kasalukuyang kahulugan para sa hinaharap na pagkuha gamit ang
popdef macro. Ang pag-uugali ay hindi tinukoy kung pushdef hindi agad nasusunod
ni a .

ilipat Ang pagtukoy sa teksto para sa ilipat macro ay dapat na isang comma-separated list nito
mga argumento maliban sa una. Ang bawat argumento ay dapat na sinipi gamit ang kasalukuyang
pag-quote ng mga string. Ang pag-uugali ay hindi tinukoy kung ilipat ay hindi kaagad
sinundan ng a .

isama Ang isama ang macro ay katumbas ng isama macro, maliban na ito
hindi dapat maging isang error kung ang file ay hindi naa-access. Ang pag-uugali ay hindi natukoy
if isama ay hindi agad sinusundan ng a .

substr Ang pagtukoy sa teksto para sa substr Ang macro ay ang substring ng una
argument na nagsisimula sa zero-offset na posisyon ng character na tinukoy ng pangalawa
argumento. Ang ikatlong argumento, kung tinukoy, ay ang bilang ng mga character
piliin; kung hindi tinukoy, ang mga character mula sa simula hanggang sa dulo ng
ang unang argumento ay magiging teksto ng pagtukoy. Hindi ito dapat maging isang pagkakamali sa
tukuyin ang isang panimulang punto sa kabila ng dulo ng unang argumento at ang pagtukoy
ang teksto ay magiging null. Ito ay dapat na isang pagkakamali upang tukuyin ang isang argumento na naglalaman ng anuman
mga hindi numeric na character. Ang pag-uugali ay hindi tinukoy kung substr Hindi
agad na sinundan ng a .

syscmd Ang syscmd Dapat bigyang-kahulugan ng macro ang unang argumento nito bilang isang shell command line. Ang
ang pagtukoy sa teksto ay ang resulta ng string ng utos na iyon. Ang resulta ng string
ay hindi dapat muling i-scan para sa mga macro habang itinatakda ang pagtukoy ng teksto. Walang output
ang pag-redirect ay isasagawa ng m4 kagamitan. Ang exit status value mula sa
Ang utos ay maaaring makuha gamit ang sysval macro. Ang pag-uugali ay hindi tinukoy kung
syscmd ay hindi agad sinusundan ng a .

sysval Ang pagtukoy sa teksto ng sysval Ang macro ay ang exit value ng utility
huling tinawag ng syscmd macro (bilang isang string).

traceon Ang traceon Dapat paganahin ng macro ang pagsubaybay para sa mga macro na tinukoy bilang mga argumento,
o, kung walang tinukoy na mga argumento, para sa lahat ng macro. Ang bakas na output ay dapat
nakasulat sa karaniwang error sa hindi natukoy na format.

bakas Ang bakas Hindi dapat paganahin ng macro ang pagsubaybay para sa mga macro na tinukoy bilang mga argumento,
o, kung walang tinukoy na mga argumento, para sa lahat ng macro.

translit Ang pagtukoy sa teksto ng translit Ang macro ay dapat ang unang argumento sa bawat
character na nangyayari sa pangalawang argumento na pinalitan ng katumbas
karakter mula sa ikatlong argumento. Kung walang tinukoy na kapalit na character para sa
ilang source character dahil ang pangalawang argumento ay mas mahaba kaysa sa pangatlo
argumento, ang karakter na iyon ay dapat tanggalin mula sa unang argumento sa translit's
pagtukoy sa teksto. Ang pag-uugali ay hindi tinukoy kung ang '−' lilitaw ang karakter sa loob
ang pangalawa o pangatlong argumento kahit saan maliban sa una o huling karakter. Ang
ang pag-uugali ay hindi tinukoy kung ang parehong karakter ay lilitaw nang higit sa isang beses sa
pangalawang argumento. Ang pag-uugali ay hindi tinukoy kung translit ay hindi kaagad
sinundan ng a .

undefine Ang undefine tatanggalin ng macro ang lahat ng mga kahulugan (kabilang ang mga napanatili gamit ang
ang pushdef macro) ng mga macro na pinangalanan ng mga argumento nito. Ang pag-uugali ay
hindi tinukoy kung undefine ay hindi agad sinusundan ng a .

hindi lumilipat Ang hindi lumilipat Ang macro ay dapat maging sanhi ng agarang output ng anumang teksto sa mga pansamantalang buffer
pinangalanan bilang mga argumento, o lahat ng pansamantalang buffer kung walang tinukoy na mga argumento.
Ang mga buffer ay maaaring i-unverted sa iba pang pansamantalang buffer. Ang pag-urong ay dapat
itapon ang mga nilalaman ng pansamantalang buffer. Ang pag-uugali ay hindi tinukoy kung ang isang
Ang argument ay naglalaman ng anumang mga hindi numeric na character.

EXIT STATUS


Ang mga sumusunod na exit value ay ibabalik:

0 Matagumpay na pagkumpleto.

>0 May naganap na error

Kung ang m4exit macro ay ginagamit, ang exit value ay maaaring tukuyin ng input file.

Mga kahihinatnan OF MGA KAMALI


Default.

Ang sumusunod seksyon ay nagbibigay-kaalaman.

APLIKASYON PAGGAMIT


Ang defn Ang macro ay kapaki-pakinabang para sa pagpapalit ng pangalan ng mga macro, lalo na ang mga built-in.

Dahil sa eval defers sa ISO C standard, ang ilang mga operasyon ay may hindi natukoy na pag-uugali. Sa ilang
ang mga pagpapatupad, paghahati o natitira sa zero ay nagdudulot ng nakamamatay na signal, kahit na ang paghahati
nangyayari sa short-circuited branch ng "&&" or "||". Anumang operasyon na umaapaw sa
ang pinirmahang arithmetic ay gumagawa ng hindi natukoy na pag-uugali. Gayundin, gamit ang ilipat mga operator na may a
halaga ng shift na hindi positibo at mas maliit kaysa sa katumpakan ay hindi natukoy, tulad ng dati
paglilipat ng negatibong numero sa kanan. Sa kasaysayan, hindi lahat ng pagpapatupad ay sumunod sa C-
Mga panuntunan sa pag-uuna sa wika: '~' at '!' ay mas mababa kaysa '=='; '==' at '!=' ay hindi mas mababa
kaysa '<', At '|' ay hindi mas mababa kaysa sa '^'; ang liberal na paggamit ng "()" maaaring pilitin ang ninanais
nangunguna kahit na sa mga hindi sumusunod na pagpapatupad na ito. Higit pa rito, ilang tradisyonal
ginagamot ang mga pagpapatupad '^' bilang exponentiation operator, bagama't karamihan sa mga pagpapatupad
gamitin na ngayon "**" bilang extension para sa layuning ito.

Kapag ang isang macro ay natukoy nang multiply sa pamamagitan ng pushdef macro, hindi natukoy kung
ang magtakda babaguhin lamang ng macro ang pinakabagong kahulugan (na parang sa pamamagitan ng popdef at
pushdef), o palitan ang buong stack ng mga kahulugan ng iisang kahulugan (na parang
by undefine at pushdef). Isang application na nagnanais ng partikular na pag-uugali para sa magtakda
macro sa kasong ito ay maaaring muling tukuyin ito nang naaayon.

Dapat gamitin ng mga application ang mkstemp macro sa halip na ang laos maketemp macro para sa
paglikha ng mga pansamantalang file.

HALIMBAWA


Kung ang file m4src naglalaman ng mga linya:

Ang halaga of `VER' is "VER".
ifdef(`VER', ``VER'' is tinukoy sa be VER., VER is hindi tinukoy.)
ifelse(VER, 1, ``VER'' is `VER'.)
ifelse(VER, 2, ``VER'' is `VER'., ``VER'' is hindi 2.)
dulo

pagkatapos ay ang utos

m4 m4src

o ang utos:

m4 −U VER m4src

gumagawa ng output:

Ang halaga of VER is "VER".
VER is hindi tinukoy.

Ang VER ay hindi 2.
dulo

Ang utos:

m4 −D VER m4src

gumagawa ng output:

Ang halaga of VER is "".
VER is tinukoy sa be .

Ang VER ay hindi 2.
dulo

Ang utos:

m4 −D VER=1 m4src

gumagawa ng output:

Ang halaga of VER is "1/XNUMX/XNUMX".
VER is tinukoy sa be 1.
VER is 1.
VER is hindi 2.
dulo

Ang utos:

m4 −D VER=2 m4src

gumagawa ng output:

Ang halaga of VER is "2/XNUMX/XNUMX".
VER is tinukoy sa be 2.

Ang VER ay 2.
dulo

RATIONALE


Ginagamot ang gawi na nakabatay sa V sa Historic System "${" sa isang macro definition bilang dalawang literal
mga karakter. Gayunpaman, ang pagkakasunud-sunod na ito ay hinahayaang hindi tinukoy upang ang mga pagpapatupad ay maaaring mag-alok
mga extension tulad ng "${11}" ibig sabihin ang ikalabing-isang positional parameter. Maaari pa rin ang mga macro
tinukoy na may naaangkop na paggamit ng nested quoting upang magresulta sa isang literal "${" sa output
pagkatapos ng muling pag-scan ay inaalis ang mga nested quotes.

Sa translit built-in, makasaysayang System V-based na gawi na ginagamot '−' bilang literal; GNU
tinatrato ito ng pag-uugali bilang isang saklaw. Ang bersyon na ito ng pamantayan ay nagpapahintulot sa alinmang pag-uugali.

PAGTATAYA DIREKSYON


Wala.

Gamitin ang m4posix online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Phaser
    Phaser
    Ang Phaser ay isang mabilis, libre, at masayang bukas
    source HTML5 game framework na nag-aalok
    WebGL at Canvas rendering sa kabuuan
    desktop at mobile web browser. Mga laro
    pwede maging co...
    I-download ang Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    Ang VASSAL ay isang game engine para sa paglikha
    mga elektronikong bersyon ng tradisyonal na board
    at mga laro ng card. Nagbibigay ito ng suporta para sa
    pag-render ng piraso ng laro at pakikipag-ugnayan,
    at ...
    I-download ang VASSAL Engine
  • 3
    OpenPDF - Fork ng iText
    OpenPDF - Fork ng iText
    Ang OpenPDF ay isang Java library para sa paglikha
    at pag-edit ng mga PDF file gamit ang LGPL at
    Lisensya ng open source ng MPL. Ang OpenPDF ay ang
    LGPL/MPL open source na kahalili ng iText,
    isang ...
    I-download ang OpenPDF - Fork ng iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System para sa Automated
    Geoscientific Analyzes - ay isang Geographic
    Information System (GIS) software na may
    napakalawak na kakayahan para sa geodata
    pagproseso at ana...
    I-download ang SAGA GIS
  • 5
    Toolbox para sa Java/JTOpen
    Toolbox para sa Java/JTOpen
    Ang IBM Toolbox para sa Java / JTOpen ay isang
    library ng mga klase ng Java na sumusuporta sa
    client/server at internet programming
    mga modelo sa isang system na tumatakbo sa OS/400,
    i5/OS, o...
    I-download ang Toolbox para sa Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para sa Data-Driven Documents)
    ay isang JavaScript library na nagbibigay-daan sa iyo
    upang makabuo ng dynamic, interactive na data
    visualization sa mga web browser. Sa D3
    ikaw...
    I-download ang D3.js
  • Marami pa »

Linux command

Ad