انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

m4posix - آنلاین در ابر

m4posix را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور m4posix است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


m4 - پردازنده ماکرو

خلاصه


m4 [-s] [-D نام[=وال]]... [-U نام]... پرونده...

شرح


La m4 utility یک پردازشگر ماکرو است که باید یک یا چند فایل متنی را بخواند و آنها را پردازش کند
با توجه به عبارات کلان شامل آنها، و نتایج را در خروجی استاندارد بنویسید.

OPTIONS


La m4 ابزار باید با حجم تعاریف پایه POSIX.1-2008 مطابقت داشته باشد، بخش 12.2,
سودمندی نحو دستورالعمل، با این تفاوت که به ترتیب از -D و -U گزینه ها خواهد بود
قابل توجه است و گزینه ها را می توان با عملوندها در هم آمیخت.

گزینه های زیر باید پشتیبانی شوند:

-s فعال کردن خروجی همگام سازی خط برای c99 فاز پیش پردازنده (یعنی
#خط بخشنامه ها).

-D نام[=وال]
تعریف کردن نام به وال یا باطل شود اگر =وال حذف شده است

-U نام تعریف نکردن نام.

عملگرها


عملوند زیر باید پشتیبانی شود:

پرونده نام مسیر یک فایل متنی که باید پردازش شود. اگر نه پرونده داده می شود، یا اگر باشد '-',
ورودی استاندارد باید خوانده شود.

STDIN


ورودی استاندارد باید یک فایل متنی باشد که در صورت عدم استفاده از آن استفاده می شود پرونده عملوند داده می شود، یا اگر آن را دارد
is '-'.

INPUT فایل ها


فایل ورودی به نام پرونده عملوند باید یک فایل متنی باشد.

محیط زیست متغیرها


متغیرهای محیطی زیر باید بر اجرای آن تأثیر بگذارند m4:

زبان یک مقدار پیش فرض برای متغیرهای بین المللی سازی که تنظیم نشده اند یا
خالی. (به جلد تعاریف پایه POSIX.1-2008 مراجعه کنید، بخش 8.2,
بین المللی کردن متغیر برای تقدم بین المللی شدن
متغیرهایی که برای تعیین مقادیر دسته‌های محلی استفاده می‌شوند.)

LC_ALL اگر روی یک مقدار رشته ای غیر خالی تنظیم شده است، مقادیر بقیه را لغو کنید
متغیرهای بین المللی سازی

LC_CTYPE محلی را برای تفسیر توالی بایت های داده متنی تعیین کنید
به عنوان کاراکتر (به عنوان مثال، تک بایت در مقابل کاراکترهای چند بایتی در
آرگومان ها و فایل های ورودی).

LC_MESSAGES
محلی را که باید برای تأثیرگذاری بر قالب و محتویات استفاده شود، تعیین کنید
پیام های تشخیصی با خطای استاندارد نوشته شده است.

nlspath تعیین محل کاتالوگ پیام برای پردازش LC_MESSAGES.

نامتقارن رویدادها


پیش فرض

با توجه به


خروجی استاندارد باید مانند فایل های ورودی، پس از پردازش برای ماکرو باشد
به گسترش است.

STDERR


خطای استاندارد باید برای نمایش رشته ها با چاپ خطا ماکرو، کلان ردیابی
فعال شده توسط ردیابی ماکرو، متن تعریف شده برای ماکروها نوشته شده توسط دامپدف ماکرو یا
برای پیام های تشخیصی

OUTPUT فایل ها


ندارد.

تمدید شده شرح


La m4 ابزار باید هر نشانه را از ورودی با مجموعه داخلی و
ماکروهای تعریف شده توسط کاربر اگر توکن با نام یک ماکرو مطابقت داشته باشد، توکن باید باشد
در صورت وجود، با متن تعیین کننده ماکرو جایگزین می شود و برای نام های ماکرو مطابقت دوباره اسکن می شود.
هنگامی که هیچ بخشی از توکن با نام یک ماکرو مطابقت نداشت، باید به صورت استاندارد نوشته شود
خروجی ماکروها ممکن است آرگومان هایی داشته باشند، در این صورت آرگومان ها باید جایگزین شوند
متن تعریف کننده قبل از اینکه دوباره اسکن شود.

فراخوانی ماکرو به شکل زیر است:

نام(arg1, arg2، ... ، ارگ)

نام‌های کلان باید از حروف، اعداد، و زیرخط تشکیل شده باشند که در آن نویسه اول است
رقمی نیست توکن هایی که از این شکل نیستند نباید به عنوان ماکرو در نظر گرفته شوند.

برنامه باید اطمینان حاصل کند که بلافاصله پس از نام
ماکرو اگر توکنی که با نام یک ماکرو مطابقت دارد با a دنبال نشود
پرانتز>، به عنوان استفاده از آن ماکرو بدون آرگومان استفاده می شود.

اگر پس از یک نام کلان a ، استدلال های آن هستند
نشانه های جدا شده بین و تطبیق
پرانتز>. کاراکترهای فضای سفید نقل قول نشده قبل از هر آرگومان نادیده گرفته می شوند.
همه نویسه‌های دیگر، از جمله شخصیت‌های خالی انتهایی، حفظ می‌شوند.
شخصیت های محصور بین و شخصیت ها این کار را نمی کنند
جداسازی استدلال ها

آرگومان ها به صورت موضعی تعریف و ارجاع می شوند. رشته "$1" در متن تعریف
باید با آرگومان اول جایگزین شود. سیستم ها باید حداقل نه آرگومان را پشتیبانی کنند.
با استفاده از رشته ها فقط می توان به XNUMX مورد اول اشاره کرد "$1" به "$9"، شامل. را
رشته "$0" با نام ماکرو جایگزین می شود. رشته "$#" جایگزین می شود
تعداد آرگومان ها به عنوان یک رشته رشته "$*" با لیستی از تمام موارد جایگزین می شود
استدلال، جدا شده توسط شخصیت ها. رشته "$@" با لیستی از همه جایگزین می شود
از استدلال های جدا شده توسط کاراکترها، و هر آرگومان با استفاده از
رشته های نقل قول چپ و راست فعلی. رشته "${" رفتار نامشخصی ایجاد می کند.

اگر آرگومان های کمتری نسبت به تعریف کلان ارائه شده باشد، آرگومان های حذف شده
باطل در نظر گرفته می شوند. اگر آرگومان های بیشتری نسبت به آرگومان ارائه شده باشد، خطا نیست
تعریف کلان

هیچ معنای خاصی به هیچ کاراکتری که بین چپ و راست محصور شده است داده نمی شود
نقل‌قول‌های رشته‌ها، اما خود رشته‌های نقل‌قول کنار گذاشته می‌شوند. به طور پیش فرض، سمت چپ
رشته نقل قول از یک لهجه قبر (backquote) و رشته نقل قول سمت راست تشکیل شده است
متشکل از یک لهجه حاد (تک نقل قول)؛ را نیز ببینید تغییر نقل قول کلان

نظرات نوشته می شوند اما برای مطابقت نام ماکرو اسکن نمی شوند. به طور پیش فرض، شروع
رشته نظر شامل کاراکتر و رشته نظر انتهایی تشکیل شده است
از یک . را نیز ببینید changecom و dnl ماکروها

La m4 ابزار باید ماکروهای داخلی زیر را در دسترس قرار دهد. می توان آنها را دوباره تعریف کرد،
اما پس از انجام این کار، معنای اصلی از بین می رود. مقادیر آنها باید صفر باشد مگر اینکه
در غیر این صورت بیان شده است. در توضیحات زیر، اصطلاح تعریف کردن متن به ارزش اشاره دارد
ماکرو: آرگومان دوم به تعريف كردن ماکرو، در میان چیزهای دیگر. به جز برای
اولین استدلال به ارزیابی ماکرو، همه آرگومان های عددی ماکروهای داخلی باید باشند
به عنوان مقادیر اعشاری تفسیر می شود. مقادیر رشته تولید شده به عنوان متن تعیین کننده از
decr, دیونوم, شامل, شاخص, لنو sysval ماکروهای داخلی باید به شکل الف باشند
اعشاری-ثابت همانطور که در زبان C تعریف شده است.

changecom La changecom ماکرو باید رشته‌های کامنت ابتدایی و پایانی را تنظیم کند. با هیچ
آرگومان ها، مکانیسم نظر باید غیرفعال شود. با یک غیر پوچ
آرگومان، آن آرگومان به شروع کامنت و باید
تبدیل به رشته نظر انتهایی شود. با دو آرگومان غیر تهی، آرگومان اول
باید به رشته نظر شروع و آرگومان دوم تبدیل شود
رشته نظر انتهایی اگر هر یک از آرگومان ها ارائه شود، رفتار نامشخص است
اما پوچ سیستم ها باید از رشته های نظر حداقل پنج کاراکتری پشتیبانی کنند.

تغییر نقل قول
La تغییر نقل قول ماکرو باید رشته های نقل قول شروع و پایان نقل قول را تنظیم کند. با هیچ
آرگومان‌ها، رشته‌های نقل قول باید روی مقادیر پیش‌فرض تنظیم شوند (یعنی `').
اگر یک آرگومان واحد وجود داشته باشد یا هر یک از این آرگومان ها وجود داشته باشد، این رفتار مشخص نیست
خالی. با دو آرگومان غیر تهی، اولین آرگومان شروع خواهد شد.
رشته نقل قول و آرگومان دوم باید به رشته نقل قول پایانی تبدیل شود. سیستم های
باید از رشته های نقل قول حداقل پنج کاراکتری پشتیبانی کند.

decr متن تعریف کننده از decr ماکرو باید اولین آرگومان آن باشد که توسط آن کاهش می یابد
1. تعیین آرگومان حاوی هر غیرعددی خطا خواهد بود
شخصیت ها. رفتار نامشخص است اگر decr بلافاصله دنبال نمی شود
آ .

تعريف كردن آرگومان دوم باید به متن تعیین کننده ماکرو که نام آن است تبدیل شود
استدلال اول مشخص نیست که آیا تعريف كردن ماکرو همه موارد قبلی را حذف می کند
تعاریف ماکرو که با اولین آرگومان آن نامگذاری شده است یا همه آنها را حفظ می کند
تعریف فعلی ماکرو رفتار نامشخص است اگر تعريف كردن نیست
بلافاصله به دنبال آن a .

تعریف کنید متن تعریف کننده از تعریف کنید ماکرو باید تعریف نقل شده باشد (با استفاده از
رشته های نقل قول فعلی) از آرگومان های آن. رفتار نامشخص است اگر تعریف کنید
بلافاصله با الف دنبال نمی شود .

منحرف کردن La m4 utility نه بافر موقت را با شماره 1 تا 9 حفظ می کند.
هنگامی که آخرین ورودی پردازش شد، هر خروجی که قرار داده شده است
در این بافرها باید به ترتیب عددی بافر در خروجی استاندارد نوشته شود.
La منحرف کردن ماکرو باید خروجی آینده را به بافر مشخص شده توسط خود منحرف کند
بحث و جدل. مشخص کردن هیچ آرگومان یا آرگومان 0 به حالت عادی باز می گردد
فرآیند خروجی خروجی منحرف شده به جریانی با عدد منفی باید باشد
دور انداخته شد. اگر تعداد جریان بزرگتر از 9 باشد، رفتار پیاده سازی می شود
مشخص شده است. مشخص کردن آرگومان حاوی هر غیر
کاراکترهای عددی

دیونوم متن تعریف کننده از دیونوم ماکرو باید تعداد خروجی فعلی باشد
جریان به عنوان یک رشته

dnl La dnl کلان باید باعث شود m4 برای دور انداختن همه کاراکترهای ورودی تا و از جمله
بعدی .

دامپدف La دامپدف ماکرو باید متن تعریف شده را برای هر یک از خطاهای استاندارد بنویسد
ماکروهایی که به‌عنوان آرگومان مشخص شده‌اند، یا اگر هیچ آرگومانی مشخص نشده باشد، برای همه
ماکروها

چاپ خطا La چاپ خطا ماکرو باید آرگومان های خود را روی خطای استاندارد بنویسد. رفتار است
نامشخص اگر چاپ خطا بلافاصله با الف دنبال نمی شود .

ارزیابی La ارزیابی ماکرو باید اولین آرگومان خود را به عنوان یک عبارت حسابی ارزیابی کند،
با استفاده از محاسبات عدد صحیح امضا شده با حداقل دقت 32 بیتی. حداقل
اپراتورهای زیر زبان C باید با اولویت پشتیبانی شوند،
تداعی و رفتار همانطور که در بخش 1.1.2.1, حساب
دقت و عملیات:

()
یگانه +
یگانه -
~

!
دودویی *
/
%
باینری +
باینری -
<<
>>
<
<=
>
>=
==
!=
دودویی &
^
|
&&
||

سیستم ها باید از اعداد هشت و هگزادسیمال مانند استاندارد ISO C پشتیبانی کنند.
آرگومان دوم، در صورت مشخص شدن، باید ریشه را برای نتیجه تنظیم کند. اگر
آرگومان خالی یا نامشخص است، پیش‌فرض 10 است. اگر رفتار مشخص نیست
ریشه خارج از محدوده 2 تا 36، شامل می شود. استدلال سوم، اگر
مشخص شده، حداقل تعداد ارقام را در نتیجه تعیین می کند. رفتار است
اگر آرگومان سوم کمتر از صفر باشد، مشخص نیست. این یک خطا خواهد بود
آرگومان دوم یا سوم حاوی هر کاراکتر غیر عددی را مشخص کنید. در
رفتار نامشخص است اگر ارزیابی بلافاصله با الف دنبال نمی شود
پرانتز>.

ifdef اگر اولین استدلال به ifdef ماکرو تعریف شده است، متن تعریف کننده باید باشد
استدلال دوم در غیر این صورت، متن تعریف کننده سومین آرگومان خواهد بود،
اگر مشخص شده باشد، یا رشته تهی، اگر نه. رفتار نامشخص است اگر ifdef
بلافاصله با الف دنبال نمی شود .

اگر دیگری La اگر دیگری ماکرو سه یا بیشتر آرگومان می گیرد. اگر دو استدلال اول
به عنوان رشته های مساوی (پس از بسط کلان هر دو آرگومان)، تعریف کننده را مقایسه کنید
متن باید آرگومان سوم باشد. اگر دو آرگومان اول با هم مقایسه نشوند
رشته های مساوی و سه آرگومان وجود دارد، متن تعریف کننده باید null باشد. اگر
دو آرگومان اول به عنوان رشته های مساوی با هم مقایسه نمی شوند و چهار یا وجود دارد
پنج آرگومان، متن تعریف کننده آرگومان چهارم خواهد بود. اگر دو مورد اول
آرگومان ها به عنوان رشته های مساوی با هم مقایسه نمی شوند و شش یا بیشتر آرگومان وجود دارد.
سه آرگومان اول باید کنار گذاشته شوند و پردازش مجدداً شروع می شود
استدلال های باقی مانده رفتار نامشخص است اگر اگر دیگری نیست
بلافاصله به دنبال آن a .

شامل متن تعریف کننده برای شامل ماکرو باید محتویات فایل نامگذاری شده باشد
با استدلال اول اگر فایل قابل خواندن نباشد خطا خواهد بود. را
رفتار نامشخص است اگر شامل بلافاصله با الف دنبال نمی شود
پرانتز>.

شامل متن تعریف کننده از شامل ماکرو باید اولین آرگومان آن باشد که با افزایش می یابد
1. تعیین آرگومان حاوی هر غیرعددی خطا خواهد بود
شخصیت ها. رفتار نامشخص است اگر شامل بلافاصله دنبال نمی شود
آ .

شاخص متن تعریف کننده از شاخص ماکرو باید اولین موقعیت کاراکتر باشد (به عنوان a
رشته) در آرگومان اول جایی که رشته ای مطابق با آرگومان دوم شروع می شود
(منشا صفر)، یا -1 اگر آرگومان دوم رخ ندهد. رفتار است
نامشخص اگر شاخص بلافاصله با الف دنبال نمی شود .

لن متن تعریف کننده از لن ماکرو باید طول (به عنوان یک رشته) از
استدلال اول رفتار نامشخص است اگر لن بلافاصله دنبال نمی شود
توسط a .

m4exit خروج از m4 سودمندی اگر اولین آرگومان مشخص شده باشد، خروجی است
کد پیش فرض صفر است. مشخص کردن یک آرگومان خطا خواهد بود
حاوی هر کاراکتر غیر عددی

m4wrap اولین آرگومان باید زمانی که به EOF رسید پردازش شود. اگر m4wrap درشت دستور
چندین بار استفاده می شود، آرگومان های مشخص شده باید به ترتیب پردازش شوند
که در آن m4wrap ماکروها پردازش شدند. رفتار نامشخص است اگر m4wrap
بلافاصله با الف دنبال نمی شود .

ساختگی متن تعریف کننده باید اولین آرگومان باشد، با هر دنباله 'ایکس' کاراکتر
با شناسه فرآیند فعلی به عنوان یک رشته جایگزین شده است. رفتار نامشخص است
if ساختگی بلافاصله با الف دنبال نمی شود .

mkstemp آرگومان اول باید به عنوان الگویی برای ایجاد یک فایل خالی، با
عقب نشینی 'ایکس' کاراکترها با کاراکترهای نام فایل قابل حمل جایگزین می شوند
مجموعه کاراکتر. اگر آرگومان اول به پایان نرسد، رفتار نامشخص است
حداقل شش 'ایکس' شخصیت ها. اگر یک فایل موقت با موفقیت ایجاد شد، پس
متن تعریف کننده ماکرو باید نام فایل جدید باشد. شناسه کاربری
فایل باید روی شناسه کاربر موثر فرآیند تنظیم شود. شناسه گروه
فایل باید روی شناسه گروه دایرکتوری والد فایل یا به تنظیم شود
شناسه گروه موثر فرآیند بیت های مجوز دسترسی به فایل تنظیم شده است
به گونه‌ای که فقط مالک می‌تواند فایل را بخواند و بنویسد، صرف نظر از اینکه
جاری umask از فرآیند اگر فایلی ایجاد نشد، متن تعریف کننده
از ماکرو باید رشته خالی باشد. رفتار نامشخص است اگر mkstemp
بلافاصله با الف دنبال نمی شود .

پاپدف La پاپدف ماکرو باید تعریف فعلی آرگومان های خود را حذف کرده و جایگزین کند
آن تعریف با تعریف قبلی اگر تعریف قبلی وجود نداشته باشد،
ماکرو تعریف نشده است رفتار نامشخص است اگر پاپدف بلافاصله نیست
به دنبال آن a .

pushdef La pushdef ماکرو باید معادل باشد تعريف كردن ماکرو به استثنای
که باید هر تعریف فعلی را برای بازیابی در آینده با استفاده از آن حفظ کند
پاپدف ماکرو رفتار نامشخص است اگر pushdef بلافاصله دنبال نمی شود
توسط a .

تغییر متن تعریف کننده برای تغییر ماکرو باید لیستی از آن جدا شده با کاما باشد
استدلال ها به جز اولی هر آرگومان باید با استفاده از جریان نقل قول شود
نقل رشته ها رفتار نامشخص است اگر تغییر بلافاصله نیست
به دنبال آن a .

شامل کردن La شامل کردن ماکرو باید معادل باشد شامل ماکرو، به جز آن
اگر فایل غیرقابل دسترسی باشد، خطا نخواهد بود. رفتار نامشخص است
if شامل کردن بلافاصله با الف دنبال نمی شود .

بستر متن تعریف کننده برای بستر ماکرو باید زیر رشته اول باشد
شروع آرگومان در موقعیت کاراکتر افست صفر مشخص شده توسط دوم
بحث و جدل. آرگومان سوم، در صورت مشخص شدن، باید تعداد کاراکترها باشد
انتخاب کنید؛ اگر مشخص نشده باشد، کاراکترها از نقطه شروع تا پایان
اولین آرگومان باید به متن تعیین کننده تبدیل شود. این نباید خطا باشد
نقطه شروعی را فراتر از پایان اولین آرگومان و تعریف مشخص کنید
متن باید پوچ باشد. تعیین آرگومان حاوی هر یک خطا خواهد بود
کاراکترهای غیر عددی رفتار نامشخص است اگر بستر نیست
بلافاصله به دنبال آن a .

syscmd La syscmd ماکرو باید اولین آرگومان خود را به عنوان یک خط فرمان پوسته تفسیر کند. در
متن تعریف شده باید نتیجه رشته آن دستور باشد. نتیجه رشته
در هنگام تنظیم متن تعریف کننده، برای ماکروها مجددا اسکن نمی شود. بدون خروجی
تغییر مسیر باید توسط m4 سودمندی مقدار وضعیت خروج از
دستور را می توان با استفاده از sysval ماکرو رفتار نامشخص است اگر
syscmd بلافاصله با الف دنبال نمی شود .

sysval متن تعریف کننده از sysval ماکرو باید مقدار خروجی ابزار باشد
آخرین بار توسط syscmd ماکرو (به عنوان یک رشته).

ردیابی La ردیابی ماکرو باید ردیابی را برای ماکروهای مشخص شده به عنوان آرگومان فعال کند،
یا اگر آرگومان مشخص نشده باشد، برای همه ماکروها. خروجی ردیابی باید باشد
به خطای استاندارد در قالب نامشخصی نوشته شده است.

ردیابی La ردیابی ماکرو باید ردیابی را برای ماکروهای مشخص شده به عنوان آرگومان غیرفعال کند،
یا اگر آرگومان مشخص نشده باشد، برای همه ماکروها.

ترجمه متن تعریف کننده از ترجمه ماکرو باید اولین آرگومان با هر باشد
کاراکتری که در آرگومان دوم رخ می‌دهد با همان آرگومان جایگزین می‌شود
شخصیت از آرگومان سوم. اگر هیچ کاراکتر جایگزینی برای آن مشخص نشده باشد
برخی از نویسه های منبع چون آرگومان دوم طولانی تر از آرگومان سوم است
آرگومان، آن کاراکتر باید از اولین آرگومان در حذف شود ترجمه's
تعریف متن رفتار نامشخص است اگر '-' شخصیت در درون ظاهر می شود
آرگومان دوم یا سوم در هر جایی غیر از اولین یا آخرین کاراکتر. در
اگر یک کاراکتر بیش از یک بار در آن ظاهر شود، رفتار مشخص نیست
استدلال دوم رفتار نامشخص است اگر ترجمه بلافاصله نیست
به دنبال آن a .

تعریف نکردن La تعریف نکردن ماکرو باید همه تعاریف را حذف کند (از جمله آنهایی که با استفاده از آن حفظ شده اند
la pushdef macro) از ماکروهایی که با آرگومان های آن نامگذاری شده اند. رفتار است
نامشخص اگر تعریف نکردن بلافاصله با الف دنبال نمی شود .

منحرف کردن La منحرف کردن ماکرو باید باعث خروجی فوری هر متنی در بافرهای موقت شود
به عنوان آرگومان نامگذاری می شود، یا تمام بافرهای موقت در صورتی که هیچ آرگومان مشخص نشده باشد.
بافرها را می توان به سایر بافرهای موقت تغییر داد. انحراف باید
محتویات بافر موقت را دور بریزید. رفتار نامشخص است اگر a
آرگومان حاوی هر کاراکتر غیر عددی است.

خروج وضعیت


مقادیر خروجی زیر باید برگردانده شوند:

0 تکمیل با موفقیت

>0 خطایی روی داد

اگر m4exit ماکرو استفاده می شود، مقدار خروج را می توان با فایل ورودی مشخص کرد.

آثار OF خطاها


پیش فرض

La پیروی بخش هستند آموزنده

کاربرد طریقه استفاده


La تعریف کنید ماکرو برای تغییر نام ماکروها به خصوص توکارها مفید است.

پس از ارزیابی به استاندارد ISO C موکول می شود، برخی از عملیات ها رفتار نامشخصی دارند. در برخی
پیاده سازی، تقسیم یا باقیمانده بر صفر باعث یک سیگنال کشنده می شود، حتی اگر تقسیم شود
روی شاخه اتصال کوتاه رخ می دهد "&&" or "||". هر عملیاتی که سرریز شود
محاسبات امضا شده رفتار نامشخصی ایجاد می کند. به همین ترتیب، با استفاده از تغییر اپراتورها با a
مقدار جابجایی که مثبت نیست و از دقت کوچکتر است، همانطور که هست، تعریف نشده است
انتقال یک عدد منفی به سمت راست از لحاظ تاریخی، همه پیاده سازی ها از C- پیروی نمی کردند
قوانین تقدم زبان: '~' و '!' پایین تر از بود '=='; '==' و '!=' پایین تر نبودند
نسبت به "<"و '|' کمتر از آن نبود '^'; استفاده آزادانه از "()" می تواند مورد نظر را مجبور کند
حتی با این اجراهای غیرمنطبق اولویت دارند. علاوه بر این، برخی از سنتی
پیاده سازی ها مورد بررسی قرار گرفت '^' به عنوان یک عملگر قدرت، اگرچه اکثر پیاده سازی ها
اکنون استفاده کنید "**" به عنوان یک توسعه برای این منظور.

هنگامی که یک ماکرو از طریق ضرب تعریف شده است pushdef ماکرو، مشخص نیست که آیا
la تعريف كردن ماکرو فقط آخرین تعریف را تغییر می‌دهد (مثلاً توسط پاپدف و
pushdef، یا کل پشته تعاریف را با یک تعریف جایگزین کنید (مثلا
by تعریف نکردن و pushdef). یک برنامه کاربردی که رفتار خاصی را برای تعريف كردن
ماکرو در این مورد می تواند آن را بر این اساس دوباره تعریف کند.

برنامه ها باید از mkstemp کلان به جای منسوخ ساختگی ماکرو برای
ایجاد فایل های موقت

مثال ها


اگر فایل m4src شامل خطوط:

La ارزش of "VER" is "VER".
ifdef('VER', "VER" is مشخص به be VER.، VER is نه تعریف شده است.)
ifelse(VER، 1, "VER" is "VER".)
ifelse(VER، 2, "VER" is "VER".، "VER" is نه 2.)
پایان

سپس فرمان

m4 m4src

یا دستور:

m4 -U VER m4src

خروجی را تولید می کند:

La ارزش of VER is "VER".
VER is نه تعریف شده است.

VER 2 نیست.
پایان

فرمان:

m4 -D VER m4src

خروجی را تولید می کند:

La ارزش of VER is ""
VER is مشخص به be .

VER 2 نیست.
پایان

فرمان:

m4 -D VER=1 m4src

خروجی را تولید می کند:

La ارزش of VER is "1".
VER is مشخص به be 1.
VER is 1.
VER is نه 2.
پایان

فرمان:

m4 -D VER=2 m4src

خروجی را تولید می کند:

La ارزش of VER is "2".
VER is مشخص به be 2.

VER 2 است.
پایان

منطقی


رفتار مبتنی بر سیستم تاریخی V درمان شده است "${" در یک تعریف کلان به عنوان دو تحت اللفظی
شخصیت ها. با این حال، این دنباله نامشخص باقی مانده است تا پیاده سازی ها ارائه شوند
پسوندهایی مانند "${11}" به معنی یازدهمین پارامتر موقعیتی. ماکروها هنوز هم می توانند باشند
با استفاده مناسب از نقل قول تودرتو تعریف شده است تا به یک حرف واقعی منجر شود "${" در خروجی
پس از اسکن مجدد، نقل قول های تودرتو را حذف می کند.

در ترجمه رفتارهای مبتنی بر سیستم V-تاریخی داخلی و تاریخی درمان شده است '-' به صورت تحت اللفظی؛ گنو
رفتار با آن به عنوان یک محدوده برخورد می کند. این نسخه از استاندارد اجازه می دهد هر یک از رفتارها.

آینده جهت


ندارد.

با استفاده از خدمات onworks.net از m4posix آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    فازر
    فازر
    Phaser یک باز سریع، رایگان و سرگرم کننده است
    منبع چارچوب بازی HTML5 که ارائه می دهد
    WebGL و Canvas Rendering در سراسر
    مرورگرهای وب دسکتاپ و موبایل بازی ها
    می تواند با ...
    دانلود فازر
  • 2
    موتور VASSAL
    موتور VASSAL
    VASSAL یک موتور بازی برای ایجاد است
    نسخه های الکترونیکی تخته سنتی
    و بازی های کارتی پشتیبانی می کند
    رندر و تعامل قطعه بازی،
    و ...
    دانلود VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF یک کتابخانه جاوا برای ایجاد است
    و ویرایش فایل های PDF با LGPL و
    مجوز منبع باز MPL. OpenPDF است
    LGPL/MPL جانشین منبع باز iText،
    و ...
    OpenPDF - Fork of iText را دانلود کنید
  • 4
    GIS SAGA
    GIS SAGA
    SAGA - سیستم برای خودکار
    تجزیه و تحلیل جغرافیایی - یک جغرافیا است
    نرم افزار سیستم اطلاعات (GIS) با
    قابلیت های بسیار زیاد برای داده های جغرافیایی
    پردازش و آنا...
    دانلود SAGA GIS
  • 5
    جعبه ابزار برای جاوا/JTOpen
    جعبه ابزار برای جاوا/JTOpen
    جعبه ابزار IBM برای جاوا / JTOpen یک است
    کتابخانه کلاس های جاوا که از
    کلاینت/سرور و برنامه نویسی اینترنتی
    مدل های سیستمی که دارای OS/400 است،
    i5/OS، o...
    جعبه ابزار را برای جاوا/JTOpen دانلود کنید
  • 6
    D3.js
    D3.js
    D3.js (یا D3 برای اسناد داده محور)
    یک کتابخانه جاوا اسکریپت است که به شما اجازه می دهد
    برای تولید داده های پویا و تعاملی
    تجسم در مرورگرهای وب با D3
    شما...
    D3.js را دانلود کنید
  • بیشتر "

دستورات لینوکس

Ad