این دستور bcpp است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
bcpp - زیباساز C++ بسازید
خلاصه
bcpp [-bcl] [- میلیارد] [-سی سی ] [-f ]
[-فی ] [-fnc ] [-فو ] [-h] [-i
] [-lg] [-nc] [-qb] [-s] [-t] [-tbcl] [- tbnl] [ ] [ ]
[ ]
عمومی OPTIONS
-bcl پرانتزها را روی خط کد باز کنید
- میلیارد بریس ها را روی خط جدید باز کنید
-سی سی
ستونی برای تراز کردن نظرات با کد
-f
فاصله خطوط تابع
-فی
نام فایل ورودی
-fnc
فایل پیکربندی سفارشی را بارگیری کنید
-فو
نام فایل خروجی
-h, -? نمایش پیام راهنما
-i
طول فضای تورفتگی
-lg کاراکترهای گرافیکی را ترک کنید
-nc
ستونی برای تراز کردن نظرات بدون کد
-qb
اندازه بافر صف داخلی را تعریف کنید
-s از فاصله ها در تورفتگی استفاده کنید
-t از زبانه ها در تورفتگی استفاده کنید
-tbcl مهاربندهای باز سطح بالا در خط کد
- tbnl مهاربندهای باز سطح بالا در خط جدید
فعال غیرفعال OPTIONS
گزینه هایی که با -y یا -n شروع می شوند به ترتیب توابع را فعال/غیرفعال می کنند.
- بله or ساخته
پرانتزها را روی خط کد باز کنید
-yb or -nb
پشتیبان گیری از فایل ورودی با پسوند bac
-ybbi or -nbbi
تورفتگی هر دو مهاربند یک بلوک
-ybi or -nbi
مهاربند انتهایی تورفتگی بلوک
-ykcwc or -nkcwc
نظرات را با کد نگه دارید
-ylcnc or -nlcnc
نظرات خود را با NoCode ارسال کنید
-یو or -نه
خروجی برنامه
-yq or -nq
نویسه های غیر ASCII در گیومه را به هشتی تغییر دهید
بررسی اجمالی
این برنامه کاربر را قادر می سازد تا عناصر خاصی از کد منبع C یا C++ را مجدداً فرمت کند. این
اگر کد یک نفر کمی ناخوانا باشد یا به سبکی فرورفته باشد کمک می کند
دوست ندارید امیدواریم استفاده از این برنامه به سبک سازی مجدد کد کمک کند
از نزدیک با سبک شما مطابقت دارد با این حال، به دلیل بسیاری از سبک های C(++) که می توانند کدگذاری شوند،
محدودیت هایی در مورد نحوه مدیریت این برنامه با کد منبع وجود دارد و در نتیجه دوباره
منبع فرمت شده
در زیر لیستی از ویژگی های پیاده سازی شده است:
- نظرات را در مکان های خاص تغییر دهید.
- حذف کاراکترهای غیر قابل چاپ که در داخل نقل قول وجود ندارد.
- تبدیل کاراکترهای غیر قابل چاپ در داخل نقل قول به نماد هشتگانه / کاراکتر.
- فاصله خطوط بین توابع را مجدداً باز کنید.
- فضاهای انتهایی را از تمام خطوط، و همچنین خطوط خالی پیشرو و انتهایی را برش دهید
از فایل
- بریس های باز را به سبک Kernighan/Ritchie یا به سبک Pascal تغییر دهید.
- استفاده از زبانه ها یا فاصله ها در تورفتگی.
- تورفتگی کد تک خطی، با توجه به عبارات خاص شرط C،
از جمله دستورات SQL تعبیه شده.
مورد نیاز
این برنامه تحت پلتفرم های Microsoft DOS V3.3 و Unix اجرا خواهد شد.
تقریباً از 50 تا 70 هزار (یا بیشتر، بسته به اندازه صف داخلی) حافظه استفاده می کند
حین اعدام
کد برنامه به گونه ای نوشته شده است که با C++ موجود سازگار باشد
کامپایلرها، با این حال کد استاندارد ANSI نیست و ممکن است نیاز به اصلاح داشته باشد
محیط. کد منبع با توابع استاندارد ANSI و Posix نوشته شده است
در صورت کامپایل مجدد بر روی رایانه دیگری، حداقل مقدار بازنویسی باید مورد نیاز باشد
پلت فرم.
منابع فعلی با استفاده از Turbo C++ V3.0 برای MS-DOS، GNU G++ 2.7.2 گردآوری شده اند.
تحت Sun SPARCstation در حال اجرا SunOS، Solaris و همچنین SGI ایستگاه های کاری در حال اجرا IRIX.
عمل
عملکرد برنامه از طریق خط فرمان (CLI) و با کمک یک پیکربندی است
فایل شما می توانید فرمت مورد نیاز خود را تعریف کنید. اساساً هر دستور العمل با شروع می شود
خط تیره "-" به دنبال نام فرمان من آمده است. اگر پارامتر دیگری برای دستور نیاز باشد،
پارامتر بعد از دستور اضافه می شود و با یک فاصله (یعنی bcpp -fi) جدا می شود
input.cpp).
نکته: برای یافتن راهنمای دستور، bcpp.exe را به تنهایی وارد نکنید، از bcpp -? یا bcpp -h استفاده کنید.
این به دلیل تغییر جهت ورودی از O/S است. رعایت کنوانسیون CLI یونیکس، الف
رشته ای که از CLI خوانده می شود و دستور دستوری ندارد a در نظر گرفته می شود
فایل ورودی. اگر دو مورد از این قبیل در خط فرمان وجود داشته باشد، اولویت خواهد بود
اول فایل ورودی و دوم فایل خروجی (یعنی bcpp infile.cpp outfile.cpp -lg)، سومی
چنین اتفاقی یک پیام خطا ایجاد می کند.
اگر هیچ فایل خروجی ارائه نشود، خروجی فرضی آن از طریق خروجی استاندارد است. این
به طور خودکار خروجی برنامه را خاموش می کند. پارامترهای وارد شده در خط فرمان خواهد شد
نادیده گرفتن پارامترهایی که از فایل پیکربندی خوانده شده اند.
مثال:
bcpp -fi input.cpp -f 2 -qb 5 -na -no -cc 60 > output.cpp
خلاصه
-fi input.cpp فایل ورودی = input.cpp
-f 2 فاصله تابع = 2
-qb 2 بافر صف داخلی = 5
-na حذف کاراکترهای غیر ascii
-بدون سرکوب خروجی برنامه
-cc 60 نظری که در همان خط ظاهر می شوند
کد در ستون 60 قرار خواهد گرفت.
> output.cpp خروجی برنامه به آن هدایت می شود
"output.cpp"
یک فایل پیکربندی را می توان برای تعیین اکثر عناصر غیرقابل تغییر در آن استفاده کرد
قالب بندی مجدد کد فایل پیکربندی شامل چند کلمه نسبتا طولانی است که
برای توضیح سبک خروجی کد استفاده می شود. با این حال تنظیم این پارامترها بسیار است
آسان، آنها اساسا از دو نوع، نوع Boolean یا Integer تشکیل شده اند. با استفاده از مورد علاقه شما
ویرایشگر متن، می توانید موارد زیر را در فایل پیکربندی تغییر دهید ...
پارامترهای زیر در فایل پیکربندی موجود خواهد بود (پیشفرض است
bcpp.cfg). برنامه سعی می کند فایل تنظیمات پیش فرض را در برنامه بخواند
منبع (یعنی کدام مسیر bcpp اجرا شده است). با استفاده از گزینه -fnc می توانید یک سفارشی تعریف کنید
نام فایل پیکربندی و مسیر از CLI.
محدوده نوع عدد صحیح: 0 - 5000 محدوده نوع بولی: روشن، بله، یا خاموش، خیر
Function_Spacing : عدد صحیح
این پارامتر مشخص می کند که چند خط دو تابع را از هم جدا می کنند.
به عنوان مثال،
تابع_فاصله = 2
CLI
-f 2
Use_Tabs: Boolean
مشخص می کند که آیا از برگه ها در کدهای تورفتگی استفاده شود یا خیر.
به عنوان مثال،
use_tabs = خیر
CLI
-t (برگه ها را روشن کنید، به طور پیش فرض از فاصله استفاده می کند)
-s (از زبانه ها برای تورفتگی استفاده کنید)
Indent_Spacing : عدد صحیح
مشخص می کند که چند فاصله باید تورفتگی داشته باشد. این پارامتر همچنین عرض زبانه ها را تنظیم می کند.
Bcpp عرض یک برگه را با عرض یک تورفتگی یکسان در نظر می گیرد.
به عنوان مثال
تورفتگی_فاصله = 4
CLI
من 4
Comments_With_Code: عدد صحیح
ستونی را مشخص می کند که نظراتی که بعد از کد روی یک خط ظاهر می شوند در آن قرار می گیرند
قرار داده شده.
به عنوان مثال،
نظرات_با_کد = 50
CLI
سی سی 50
Comments_With_Nocode: عدد صحیح
ستونی را مشخص می کند که نظراتی که در یک خط ظاهر می شوند در آن قرار می گیرند.
به عنوان مثال،
comments_with_nocode = 0
CLI
-nc 0
Indent_Preprocessor: Boolean
اگر درست باشد، bcpp خطوط پیش پردازنده را به تورفتگی کد C(++) فرو میکند.
اگر غلط باشد، خطوط پیش پردازنده در ستون اول قرار خواهند گرفت. ناشناخته (یعنی
خطوط غیر استاندارد) پیش پردازنده همیشه در ستون اول قرار می گیرند.
Indent_Exec_Sql: Boolean
اگر درست باشد، bcpp به دنبال عبارات SQL جاسازی شده (مانند EXEC SQL) و قالبها میگردد.
آنها به خصوص
Keep_Comments_With_Code: Boolean
این گزینه گزینه "Comments_With_Code" را لغو می کند. تنظیم این گزینه On
نظراتی را ایجاد می کند که مطابق با نظرات درونی به کد نیستند
به هر حال.
Leave_Comments_NoCode : Boolean
این گزینه گزینه "Comments_With_Nocode" را لغو می کند. تنظیم این گزینه On
نظراتی را که در همان خط کد قرار نمی گیرند به همان خط فرو می رود
تورفتگی به عنوان کد
به عنوان مثال،
leave_comments_nocode = روشن است
CLI
-nlcnc (خاموش کردن Leave_Comments_NoCode)
-ylcnc (روشن کردن Leave_Comments_NoCode)
NonAscii_Quotes_To_Octal : Boolean
از این گزینه برای تغییر نویسههای غیرASCII (غیر قابل چاپ) به نماد هشتگانه استفاده کنید
آنها در داخل نقل قول قرار می گیرند. این پارامتر اعمال نمی شود مگر اینکه یکی از آنها
پارامترهای Ascii_Chars_Only یا Leave_Graphic_Chars تنظیم شده اند.
به عنوان مثال،
NonAscii_Quotes_to_Octal = خیر
CLI
-nq (خاموش کردن کاراکترهای غیر ascii در گیومه به هشتی)
-yq (کاراکترهای غیر ascii را در گیومه به هشتی روشن کنید)
Leave_Graphic_ Chars : Boolean
تنظیم این پارامتر روی yes باعث حذف کاراکترهای غیر قابل چاپ می شود
فایل منبع، اما کاراکترهایی که گرافیک IBM هستند را به حال خود رها کنید. هر غیر
کاراکترهای قابل چاپ که در داخل نقل قول قرار دارند به آنها تبدیل می شوند
اگر پارامتر NonAscii_Quotes_To_Octal روی True تنظیم شده باشد، نماد octal/character.
به عنوان مثال
let_graphic_chars = بله
CLI
-lg
Ascii_Chars_Only : Boolean
تنظیم این پارامتر بر روی بله، نویسههای غیرقابل چاپ و غیر ASCII را حذف میکند
از فایل ورودی هر کاراکتر غیر قابل چاپی که در داخل نقل قول قرار می گیرد خواهد بود
در صورتی که NonAscii_Quotes_To_Octal روی آن تنظیم شده باشد به نماد هشتگانه/نویسه تبدیل میشود
درست است، واقعی. اگر از پارامتر Leave_Graphic_Chars استفاده می کنید، این پارامتر را نظر دهید،
زیرا این پارامتر آن را لغو می کند.
به عنوان مثال،
ascii_chars_only = بله
CLI
-na (کاراکترهای غیر ASCII را حذف نکنید)
-ya (بله حذف کاراکترهای غیر ASCII)
Place_Brace_On_New_Line: Boolean
وقتی روی «روشن» تنظیم شود، bcpp مهاربندهای بازکننده روی خطوط جدید قرار میگیرد (سبک «پاسکال» C
کدگذاری)، هنگامی که روی "خاموش" تنظیم شود، bcpp از کدنویسی به سبک C "K&R" استفاده می کند.
کدنویسی به سبک پاسکال C:
اگر (شرط)
{
بیانیه؛
}
کدنویسی C به سبک K&R:
اگر (شرط) {
بیانیه؛
}
به عنوان مثال،
place_brace_on_new_line = روشن
CLI
-bnl (روشن)
-bcl (خاموش)
Program_output : Boolean
این پارامتر خروجی برنامه خراب کننده خروجی را که ممکن است خارج شود متوقف می کند
از برنامه از طریق خروجی استاندارد. اگر این پارامتر روی off/no تنظیم شده باشد
سپس هیچ خروجی از برنامه تولید نمی شود، مگر اینکه با خطا مواجه شود.
خطای استاندارد برای نمایش هر گونه خطای رخ داده در حین پردازش استفاده می شود.
به عنوان مثال
برنامه_خروجی = خاموش
CLI
-خیر (به طور پیشفرض در صورت امکان خروجی تولید میشود، این کار انجام میشود
نیروی خروجی خاموش)
-yo (در صورت امکان خروجی برنامه را روشن کنید)
Queue_Buffer: عدد صحیح
مشخص می کند که حافظه داخلی به اندازه خط چه چیزی نیاز دارد
بافر پردازش این برای جابجایی بریس باز در Kernighan/Ritchie استفاده می شود
سبک. گسترش این بافر به مقدار زیادی حافظه باعث کندی پردازش می شود
ماشین های کوچک
به عنوان مثال،
صف_بافر = 2
CLI
-qb 2
; : قابل اجرا نیست
قرار دادن نقطه ویرگول در مقابل متن همه چیز را بعد از نقطه ویرگول a می سازد
اظهار نظر.
Backup_File: Boolean
این گزینه از فایل ورودی در فایلی با پسوند ".bac" و
فایل ورودی را با نسخه فرمت شده بازنویسی کنید.
به عنوان مثال،
backup_file = بله
CLI
-yb (بله، در صورت امکان از فایل ورودی پشتیبان تهیه کنید)
-nb (نه، از فایل ورودی نسخه پشتیبان تهیه نشود)
بار پیکر بندی پرونده : CLI فقط
Bcpp یک تنظیمات پیکربندی را پیاده سازی می کند تا امکان انتخاب فایل سفارشی از یک فایل خاص را فراهم کند
مسیر/فایل تعریف شده توسط کاربر.
به عنوان مثال،
bcpp input.cpp -yb (فایل پیکربندی bcpp.cfg را بخوانید
قبل از پردازش گزینه های CLI)
bcpp -fnc /bin/bcpp.cfg (فایل پیکربندی را در
مکان گفته شده)
CLI
-fnc (استفاده از تعریف شده توسط کاربر)
نام فایل ورودی: فقط CLI
این گزینه bcpp را هدایت می کند تا داده ها را در یک مسیر مشخص و نام فایل بخواند.
به عنوان مثال
bcpp -fi input.cpp > output.cpp
CLI
-فی
نام فایل خروجی: فقط CLI
این نام فایل خروجی را مشخص می کند که داده ها باید روی آن نوشته شوند.
به عنوان مثال،
باید اینگونه باشد (حداقل در DOS):
bcpp -fo output.cpp < input.cpp
ClI
-فو
راهنمای آنلاین: فقط CLI
برخی از کمکهای آنلاین که مختصر است اما در این برنامه وجود دارد. در
help تمام دستورات CLI موجود در برنامه را فهرست می کند.
EG bcpp -h
CLI bcpp -؟
bcpp -h
پیکر بندی پرونده خطا پیام ها
اگر یک فرمان/پارامتر را به اشتباه در فایل پیکربندی وارد کنید، بر روی
برنامه اجرایی با خواندن آن، برنامه یک پیام خطا به همراه آن ایجاد می کند
شماره خط. در زیر توضیحی در مورد پیام های خطایی است که ممکن است در حین رخ دهد
خواندن پارامترها در فایل پیکربندی
خطای نحوی بعد از کلمه کلیدی:
خطا به این دلیل رخ می دهد که کاراکتر/کلمه بعد از یک پارامتر نادرست بود، یا
انتظار یک کلمه کلیدی دیگر را دارید (به عنوان مثال =، بله، خیر، روشن، خاموش)
خطای محدوده:
خطا زمانی رخ می دهد که پارامترهای عدد صحیح دارای تنظیمات عددی نامعتبر باشند (یعنی A
عدد بین 0 - 5000 نیست).
داده های عددی مورد انتظار:
این خطا زمانی رخ میدهد که دادههای عددی الفبا به جای دادههای عددی برای عدد صحیح باشد
پارامترهای نوع
نمی توان رمزگشایی کرد:
پارامتر در خط مذکور معتبر نیست (یعنی قابل تشخیص نیست).
اگر پس از خواندن فایل پیکربندی، خطایی رخ داده است. از کاربر خواسته می شود
با یک اعلان ادامه [y/n] برای رفع خطا(های) پیکربندی قبل از
پردازش، یا با پارامترهای مجموعه فعلی ادامه دهید.
دویدن زمان خطاهای در طی ورودی پرونده پردازش
تخصیص حافظه انجام نشد:
برنامه قادر به تخصیص حافظه برای پردازش داده ها نبود. این خطا متوقف خواهد شد
پردازش داده ها
خطا در ساخت خط
انتظار می رود نوعی کد! نوع داده = :
این خطا در فرآیند ساخت خط ایجاد می شود. خط رمزگشایی شده
از فایل ورودی ممکن است برای این برنامه خیلی غیرقابل کشف باشد. خط را پیدا کنید
فایل ورودی، و ببینید که آیا می توان آن را تغییر داد تا پردازش ادامه یابد.
C(++) زیبا کننده محدودیت ها
این بخش بخشهای خاصی را در کد مشخص میکند که bcpp در بازسازی آن شکست خواهد خورد
کد خروجی را به سبک مورد نظر ارسال کنید (اگرچه ممکن است همچنان بتواند کامپایل شود).
- تمامی کدهایی که از طریق این برنامه تغذیه می شوند باید در حالت کامپایل باشند. این
به این معنی که باید بریس های بسته کننده ای وجود داشته باشد که بریس های باز را خنثی کند. Bcpp
به هیچ وجه کد را بررسی نمی کند، بلکه آن را مطابق با باز قالب بندی می کند.
بستن پرانتز، و تعداد انگشت شماری از کلمات کلیدی برای تورفتگی یک خط.
- همچنین محدودیتی در مورد میزان حرکت بریس های باز وجود دارد
فرآوری شده. این به دلیل طراحی فعلی برنامه است (این به راحتی قابل رفع است
با گسترش اندازه بافر صف داخلی)، نیازهای حافظه، پردازش
سرعت. تخصیص حافظه پویا به طور گسترده در سراسر برنامه استفاده می شود و
در صورت ایجاد شرایط خاص ممکن است از محدودیت های فعلی تجاوز کند.
مثال نشان می دهد که حرکات بریس از خط جدید به بالا
خط کد انجام نخواهد شد زیرا در صورتی که از محدوده برنامه خارج شود
بافر صف داخلی به اندازه 2 خط محدود شده است.
نمونه ای از محدوده حرکت بادبند:
اگر (a == ب)
// بریس دوباره قرار نخواهد گرفت
{
b = c;
}
اگر (a == b) // بریس دوباره قرار می گیرد
{
b = c;
}
نتیجه نهایی
اگر (a == ب)
// بریس دوباره قرار نخواهد گرفت
{
b = c;
}
if (a == b){ // بریس مجدداً قرار خواهد گرفت
b = c;
}
- یک محدودیت وجود دارد که یک خط کد تنها باید یک نوع داشته باشد
اظهار نظر. اگر هر دو C و C++ در یک خط وجود داشته باشند، خط
مرحله ساخت و ساز برنامه گیج می شود و خطا ایجاد می کند
پیام خط زیر یک پیغام خطای ساخت خط تولید می کند.
نمونه ای از نظرات متعدد
/* C نظر */ a = b; // نظر C++
خط بالا یک خطا ایجاد می کند. این مشکل را با حذف یک نوع از آن برطرف کنید
نظر دهید، آنها را ترکیب کنید یا یکی را در یک خط جدید قرار دهید.
AUTHORS
نوشته استیون دی تونی در دسامبر 1995
به روز شده توسط توماس دیکی ژانویه 1997-2002
می توانید از طریق شبکه های مختلف آنلاین با استیون دی تونی تماس بگیرید:
نشانی اینترنتی
tge@midland.co.nz
steve@alpha.ocbbs.gen.nz
نامه خالص از طریق Fido-Net (Dog Net)
استیون دی تونی،
"فرار بزرگ"،
همیلتون ،
نیوزیلند
Demi-Monde نیوزیلند ملی پست شبکه کار
(به شبکه سگ مراجعه کنید)
اگر همه چیز شکست خورد، نامه حلزون را به این آدرس بفرستید:
خیابان گاردن هایتس 17،
ملویل،
همیلتون ،
نیوزیلند
توماس دیکی را می توان در
dickey@invisible-island.net
با تشکر ویژه از گلین وبستر برای اثبات خواندن کتابچه راهنمای من و آزمایش من
برنامه است.
با تشکر از جاستین اسلوتسکی برای ورودی و تغییرات برای این نسخه.
همه دستوری خطاهای این سند برای لذت بردن شما وجود دارد. ;-)
سلب مسئولیت
نویسندگان هیچ تضمینی نمی دهند که این برنامه مطابق با مشخصات داده شده عمل کند
از طریق پیکربندی، یا خروجی بازسازی شده برنامه کد منبعی که بوده است
فرآوری شده. هر گونه آسیبی که ممکن است در اثر استفاده از این برنامه ایجاد شود (خواه نرم افزار یا
سخت افزار) مشکل کاربر است و نه نویسندگان. استفاده از این نرم افزار شما را به
این سلب مسئولیت.=
C++ Beautifier()
با استفاده از خدمات onworks.net از bcpp آنلاین استفاده کنید