semind(1) General Commands Manual semind(1)

semind - نمایه‌ساز معنایی برای C

semind [options]
semind [options] add [command options] [--] [compiler options] [files...]
semind [options] rm [command options] pattern
semind [options] search [command options] [pattern]
semind [options] search [command options] (-e|-l) filename:linenr:column

برنامهٔ semind ابزاری ساده و مشابه cscope است که بر پایهٔ sparse/dissect کار می‌کند. بر خلاف cscope، این ابزار پس از پیش‌پردازنده اجرا می‌شود و بنابراین نمی‌تواند کدهایی را که توسط ifdefها فیلتر شده‌اند نمایه کند، اما از سوی دیگر، متوجه نحوهٔ استفاده از نمادها می‌شود و می‌تواند کاربرد اعضای ساختارها (struct) را ردیابی کند.

تولید یا به‌روزرسانی فایل نمایه‌ی معنایی.
حذف فایل‌ها از نمایه بر اساس pattern. آرگومان pattern یک الگوی عامه‌نما (wildcard) منطبق با glob(7) است.
پرس‌وجوی اطلاعات مربوط به نماد بر اساس pattern. آرگومان pattern یک الگوی عامه‌نما (wildcard) منطبق با glob(7) است.

مشخص کردن فایل پایگاه‌داده (پیش‌فرض: ./semind.sqlite).
نمایش اطلاعات دربارهٔ کارهای در حال انجام.
نمایش این راهنما و خروج.

گنجاندن نمادهای محلی در نمایه.

مشخص کردن قالب خروجی. پیش‌فرض: '(%m) %f\t%l\t%c\t%C\t%s' (بخش FORMAT در زیر را ببینید).
جستجوی نمادها تنها در دایرکتوری‌های مشخص‌شده.
جستجو تنها بر اساس نوع دسترسی مشخص‌شده (بخش MODE در زیر را ببینید).
مشخص کردن نوع نماد (بخش KIND در زیر را ببینید).
نمایش آنچه در موقعیت مشخص‌شده در فایل رخ می‌دهد؛
نمایش کاربرد نمادها از یک موقعیت مشخص در فایل؛
نمایش اطلاعات دربارهٔ کارهای در حال انجام؛
نمایش این راهنما و خروج.

%m
حالت دسترسی در قالبی خوانا برای انسان (بخش MODE در زیر را ببینید).
%f
نام فایل.
%l
شماره خط.
%c
شماره ستون.
%C
نام تابعی که نماد در آن به کار رفته است.
%n
نام نماد.
%s
خط کد منبع. نمایه‌ساز خطوط کد منبع را ذخیره نمی‌کند؛ آن‌ها در حین جستجو از فایل خوانده می‌شوند.

تابع (function)
strict
عضو ساختار (struct member)

مقدار MODE به صورت یک رشتهٔ ۳ حرفی نمایش داده می‌شود. حرف اول نشان‌دهندهٔ آدرس بخش، دومی دسترسی از طریق مقدار (by value)، و سومی دسترسی از طریق اشاره‌گر (by pointer) است. مقدار ویژهٔ 'def' به معنی تعریف نماد است.

خواندن (read)
نوشتن (write)
خواندن و نوشتن (read and write)

sparse(1)

https://sparse.docs.kernel.org

linux-sparse@vger.kernel.org