yodlverbinsert(1) Your Own Document Language yodlverbinsert(1)

yodlverbinsert - ایجاد بخش‌های verb از قسمت‌هایی از یک فایل

yodlverbinsert [OPTIONS] [marker] file

برنامهٔ Verbinsert یک ابزار پشتیبان ساده بر پایهٔ C++ است که برای ایجاد بخش‌های verb() در فایل‌های Yodl با استفاده از بخش‌هایی از فایل‌های موجود به کار می‌رود. فایل‌هایی که بخش‌ها از آن‌ها درج می‌شوند معمولاً فایل‌های منبع C یا Cpp هستند که از توضیحات با سبک // یا /* پشتیبانی می‌کنند. برای مشاهدهٔ نمونه‌ها، بخش مثال‌ها (EXAMPLES) را ببینید.

دستور Verbinsert امکان دندانه‌دار کردن (indent) هم عبارت آغازین verb و هم محتویات درج‌شدهٔ فایل را فراهم می‌کند. علاوه بر این، می‌توان یک خط خالی اضافی پیش از اولین خطی که در عمل درج می‌شود وارد کرد.

خطوط خالی در ابتدا و انتهای فایل‌ها نادیده گرفته می‌شوند.

marker
آرگومان marker باید از ستون اول file آغاز شود و باید به‌صورت یک توضیح استاندارد C یا C++ شروع شود: باید از // یا /* استفاده شود. پس از آن، باقی‌ماندهٔ آرگومان به‌عنوان یک برچسب استفاده می‌شود، مانند //label یا /*label*/. به‌جز دو نویسهٔ نخست و مکان آن‌ها، و دو نویسهٔ پایانی یک نشانگر به سبک C، هیچ محدودیت خاصی بر نام‌های برچسب اعمال نمی‌شود. یک بخش برچسب‌دار در اولین //= بعدی (برای برچسب‌هایی که با // آغاز می‌شوند) یا در اولین /**/ بعدی (برای برچسب‌هایی که با /* آغاز می‌شوند) به پایان می‌رسد. همانند نشانگرها، نشانگرهای پایانی نیز باید در ستون اول خطوط آغاز شوند.
همچنین می‌توان از جفت‌های //+label یا /*+label*/ استفاده کرد. برای چنین نشانگرهایی، رونوشت‌برداری از اولین خطِ پس از نخستین رخداد برچسب آغاز شده، و هنگامی که برچسب دوباره مشاهده شود پایان می‌یابد. هنگامی که از این نشانگرها استفاده می‌شود، هر خط نشانگر دیگری که متعاقباً دیده شود به‌سادگی نادیده گرفته شده و در جریان خروجی نوشته نمی‌شود. این ویژگی اجازه می‌دهد که بخش‌های برچسب‌دار به‌صورت تودرتو باشند.
file
آرگومان file باید یک فایل موجود باشد.

دستور Verbinsert بخش انتخاب‌شدهٔ خود را در جریان خروجی استاندارد می‌نویسد.

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

مقادیر پیش‌فرض گزینه‌ها در کنار هر یک از گزینه‌ها درون کروشه درج شده‌اند. پیش‌فرض‌ها به‌گونه‌ای انتخاب شده‌اند که yodlverbinsert رفتار نسخهٔ قدیمی‌تر این برنامه را ارائه دهد، که همراه با Yodl توزیع نمی‌شد.

-a
پردازش تمام خطوط file (به‌جز خطوط خالی آغازین و پایانی). آرگومان marker نباید مشخص شود.
-A
مشابه گزینهٔ -a، اما نادیده گرفتن تمام خطوطی که می‌توانند خطوط نشانگر (پایانی) yodlverbinsert محسوب شوند.
-k
حفظ خطوط جدید (newlines) پس از
و قبل از 
. این خطوط جدید باعث ایجاد خطوط خالی اضافی پیش از اولین و پس از آخرین خطوط کد منبع می‌شوند. از نسخهٔ 4.02.00 به بعد این خطوط به‌طور پیش‌فرض حذف می‌شوند.
-n
بلافاصله پس از دندانه‌بندی: خطوط با شماره‌ها پیشوندگذاری می‌شوند، که ۲ ستون را اشغال کرده و به دنبال آن‌ها یک دونقطه و یک فاصله قرار می‌گیرد.
-N
نوشتن نویسهٔ خط جدید بلافاصله پس از پرانتز باز عبارت verb انجام نشود. به‌طور پیش‌فرض این نویسه نوشته می‌شود، که باعث درج یک خط اضافی پیش از نخستین خطی می‌شود که در عمل از یک فایل درج شده است.
-s nSpaces [0]
آغاز هر خطی که در بخش verb نوشته می‌شود با nSpaces فاصلهٔ اضافی.
-S nSpaces [8]
افزودن پیشوند nSpaces فاصلهٔ اضافی به عبارت verb در بخش verb.
-t nTabs [0]
آغاز هر خطی که در بخش verb نوشته می‌شود با nTabs نویسهٔ تب اضافی. اگر هر دو گزینهٔ -s و -t مشخص شوند، تب‌ها ابتدا درج می‌شوند.
-T nTabs [0]
افزودن پیشوند nTabs نویسهٔ تب اضافی به عبارت verb در بخش verb. اگر هر دو گزینهٔ -S و -T مشخص شوند، تب‌ها ابتدا درج می‌شوند.

فرض کنید فایل demo شامل متن زیر است:

preceding text
//+nest
//one
one 1
//=
/*two*/
    two
/**/
//+nest
trailing text

آنگاه دستورهای زیر خروجی نشان‌داده‌شده را در خروجی استاندارد برنامه می‌نویسند:

yodlverbinsert //one demo
        verb(
one 1
)
yodlverbinsert -N //one demo
        verb(one 1
)
yodlverbinsert -n -s4 ’/*two*/’ demo
        verb(
        1: two
)
yodlverbinsert -n //+nest’ demo
        verb(
 1: one 1
 2:
 3:
 4:
 5:     two
)

yodl(1), yodlbuiltins(7), yodlconverters(1), yodlletter(7), yodlmacros(7), yodlmanpage(7), yodlpost(1), yodlstriproff(1), yodltables(7).

-

Frank B. Brokken (f.b.brokken@rug.nl),

1996-2025 yodl_4.05.01